@consenti/ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import"./chunk-RDE7CM6T.mjs";import{a as j}from"./chunk-3EXCD24H.mjs";function Et(){return typeof process>"u"||process.env.NO_COLOR?!1:process.env.FORCE_COLOR?!0:!!process.stdout?.isTTY}function D(t,e){return n=>Et()?`\x1B[${t}m${n}\x1B[${e}m`:n}var Q={bold:D(1,22),dim:D(2,22),red:D(31,39),green:D(32,39),yellow:D(33,39),blue:D(34,39),magenta:D(35,39),cyan:D(36,39),gray:D(90,39)};var Pn={info:{symbol:"\u2139",paint:Q.cyan},success:{symbol:"\u2713",paint:Q.green},warn:{symbol:"\u26A0",paint:Q.yellow},error:{symbol:"\u2717",paint:Q.red}};function $(t){let e=new Map;for(let n of Object.values(t))for(let o of n.cookies)e.set(o,n);return e}function ye(t,e){return e.get(t)?.legalBasis??"consent"}function S(t,e){return ye(t,e)==="mandatory"}var I={version:"2026-07",countries:{AT:{name:"Austria",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Austria (GDPR)",locales:["de-AT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Vienna"]},BE:{name:"Belgium",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Belgium (GDPR)",locales:["nl-BE","fr-BE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Brussels"]},BG:{name:"Bulgaria",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Bulgaria (GDPR)",locales:["bg-BG"],compliance:["gdpr","eprivacy"],timezones:["Europe/Sofia"]},HR:{name:"Croatia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Croatia (GDPR)",locales:["hr-HR"],compliance:["gdpr","eprivacy"],timezones:["Europe/Zagreb"]},CY:{name:"Cyprus",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Cyprus (GDPR)",locales:["el-CY"],compliance:["gdpr","eprivacy"],timezones:["Asia/Nicosia"]},CZ:{name:"Czechia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Czechia (GDPR)",locales:["cs-CZ"],compliance:["gdpr","eprivacy"],timezones:["Europe/Prague"]},DK:{name:"Denmark",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Denmark (GDPR)",locales:["da-DK"],compliance:["gdpr","eprivacy"],timezones:["Europe/Copenhagen"]},EE:{name:"Estonia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Estonia (GDPR)",locales:["et-EE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Tallinn"]},FI:{name:"Finland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Finland (GDPR)",locales:["fi-FI"],compliance:["gdpr","eprivacy"],timezones:["Europe/Helsinki"]},FR:{name:"France",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"France (GDPR)",locales:["fr-FR"],compliance:["gdpr","eprivacy"],timezones:["Europe/Paris"]},DE:{name:"Germany",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Germany (GDPR)",locales:["de-DE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Berlin"]},GR:{name:"Greece",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Greece (GDPR)",locales:["el-GR"],compliance:["gdpr","eprivacy"],timezones:["Europe/Athens"]},HU:{name:"Hungary",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Hungary (GDPR)",locales:["hu-HU"],compliance:["gdpr","eprivacy"],timezones:["Europe/Budapest"]},IE:{name:"Ireland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Ireland (GDPR)",locales:["en"],compliance:["gdpr","eprivacy"],timezones:["Europe/Dublin"]},IT:{name:"Italy",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Italy (GDPR)",locales:["it-IT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Rome"]},LV:{name:"Latvia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Latvia (GDPR)",locales:["lv-LV"],compliance:["gdpr","eprivacy"],timezones:["Europe/Riga"]},LT:{name:"Lithuania",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Lithuania (GDPR)",locales:["lt-LT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Vilnius"]},LU:{name:"Luxembourg",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Luxembourg (GDPR)",locales:["fr-LU","de-LU"],compliance:["gdpr","eprivacy"],timezones:["Europe/Luxembourg"]},MT:{name:"Malta",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Malta (GDPR)",locales:["mt-MT","en"],compliance:["gdpr","eprivacy"],timezones:["Europe/Malta"]},NL:{name:"Netherlands",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Netherlands (GDPR)",locales:["nl-NL"],compliance:["gdpr","eprivacy"],timezones:["Europe/Amsterdam"]},PL:{name:"Poland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Poland (GDPR)",locales:["pl-PL"],compliance:["gdpr","eprivacy"],timezones:["Europe/Warsaw"]},PT:{name:"Portugal",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Portugal (GDPR)",locales:["pt-PT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Lisbon","Atlantic/Madeira","Atlantic/Azores"]},RO:{name:"Romania",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Romania (GDPR)",locales:["ro-RO"],compliance:["gdpr","eprivacy"],timezones:["Europe/Bucharest"]},SK:{name:"Slovakia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Slovakia (GDPR)",locales:["sk-SK"],compliance:["gdpr","eprivacy"],timezones:["Europe/Bratislava"]},SI:{name:"Slovenia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Slovenia (GDPR)",locales:["sl-SI"],compliance:["gdpr","eprivacy"],timezones:["Europe/Ljubljana"]},ES:{name:"Spain",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Spain (GDPR)",locales:["es-ES"],compliance:["gdpr","eprivacy"],timezones:["Europe/Madrid","Africa/Ceuta","Atlantic/Canary"]},SE:{name:"Sweden",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Sweden (GDPR)",locales:["sv-SE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Stockholm"]},IS:{name:"Iceland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Iceland (GDPR via EEA)",locales:["is-IS"],compliance:["gdpr","eprivacy"],timezones:["Atlantic/Reykjavik"]},LI:{name:"Liechtenstein",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Liechtenstein (GDPR via EEA)",locales:["de-LI"],compliance:["gdpr","eprivacy"],timezones:["Europe/Vaduz"]},NO:{name:"Norway",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Norway (GDPR via EEA)",locales:["nb-NO"],compliance:["gdpr","eprivacy"],timezones:["Europe/Oslo","Arctic/Longyearbyen"]},AD:{name:"Andorra",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Andorra (GDPR-aligned)",locales:["ca-AD"],compliance:["gdpr"],timezones:["Europe/Andorra"]},AL:{name:"Albania",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Albania (GDPR-aligned)",locales:["sq-AL"],compliance:["gdpr"],timezones:["Europe/Tirane"]},BA:{name:"Bosnia and Herzegovina",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Bosnia and Herzegovina (GDPR-aligned)",locales:["bs-BA","sr-Latn-BA"],compliance:["gdpr"],timezones:["Europe/Sarajevo"]},GG:{name:"Guernsey",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Guernsey (DPA based on GDPR)",locales:["en"],compliance:["gdpr"],timezones:["Europe/Guernsey"]},GI:{name:"Gibraltar",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Gibraltar (DPA based on UK GDPR)",locales:["en"],compliance:["uk-gdpr"],timezones:["Europe/Gibraltar"]},GL:{name:"Greenland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Greenland (Danish GDPR implementation)",locales:["da-GL"],compliance:["gdpr"],timezones:["America/Nuuk","America/Danmarkshavn","America/Scoresbysund","America/Thule"]},MC:{name:"Monaco",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Monaco (GDPR-aligned)",locales:["fr-MC"],compliance:["gdpr"],timezones:["Europe/Monaco"]},ME:{name:"Montenegro",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Montenegro (GDPR-aligned)",locales:["sr-Latn-ME"],compliance:["gdpr"],timezones:["Europe/Podgorica"]},MK:{name:"North Macedonia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"North Macedonia (GDPR-aligned)",locales:["mk-MK"],compliance:["gdpr"],timezones:["Europe/Skopje"]},RS:{name:"Serbia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Serbia (GDPR-aligned)",locales:["sr-RS"],compliance:["gdpr"],timezones:["Europe/Belgrade"]},SM:{name:"San Marino",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"San Marino (GDPR-aligned)",locales:["it-SM"],compliance:["gdpr"],timezones:["Europe/San_Marino"]},TR:{name:"T\xFCrkiye",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"T\xFCrkiye (KVKK)",locales:["tr-TR"],compliance:["kvkk"],timezones:["Europe/Istanbul"]},CA:{name:"Canada",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Canada (PIPEDA / Law 25)",locales:["en","fr-CA"],compliance:["pipeda","law25"],timezones:["America/St_Johns","America/Halifax","America/Toronto","America/Winnipeg","America/Edmonton","America/Vancouver"],overriddenRegions:{QC:{name:"Quebec",type:"region",complianceGroup:"opt-in",description:"Quebec \u2014 Law 25 (GDPR-style opt-in)"}}},US:{name:"United States",type:"country",complianceGroup:"opt-out",default:"opt-out-strict",description:"United States \u2014 opt-out-strict (CPRA) used when state cannot be detected",locales:["en","es-US"],compliance:["ccpa","cpra","vcdpa","cpa-co","ctdpa","ucpa","icdpa-ia","icdpa-in","tipa","mcdpa-mt","mcdpa-mn","ocpa","tdpsa","dpdpa-de","njdpa","nhpa","ndpa-ne","modpa","kcdpa","ridtpa"],timezones:["America/New_York","America/Chicago","America/Denver","America/Phoenix","America/Los_Angeles","America/Anchorage","Pacific/Honolulu"],overriddenRegions:{CA:{name:"California",type:"region",complianceGroup:"opt-out-strict",description:"California \u2014 CPRA/CCPA"},VA:{name:"Virginia",type:"region",complianceGroup:"opt-out",description:"Virginia \u2014 VCDPA"},CO:{name:"Colorado",type:"region",complianceGroup:"opt-out",description:"Colorado \u2014 CPA",requiresSensitiveOptIn:!0},CT:{name:"Connecticut",type:"region",complianceGroup:"opt-out",description:"Connecticut \u2014 CTDPA"},UT:{name:"Utah",type:"region",complianceGroup:"opt-out",description:"Utah \u2014 UCPA"},TX:{name:"Texas",type:"region",complianceGroup:"opt-out",description:"Texas \u2014 TDPSA"},DE:{name:"Delaware",type:"region",complianceGroup:"opt-out",description:"Delaware \u2014 DPDPA"},NJ:{name:"New Jersey",type:"region",complianceGroup:"opt-out",description:"New Jersey \u2014 NJDPA"},OR:{name:"Oregon",type:"region",complianceGroup:"opt-out",description:"Oregon \u2014 OCPA"},MN:{name:"Minnesota",type:"region",complianceGroup:"opt-out",description:"Minnesota \u2014 MCDPA"},MD:{name:"Maryland",type:"region",complianceGroup:"opt-out",description:"Maryland \u2014 MODPA"},KY:{name:"Kentucky",type:"region",complianceGroup:"opt-out",description:"Kentucky \u2014 KCDPA"},TN:{name:"Tennessee",type:"region",complianceGroup:"opt-out",description:"Tennessee \u2014 TIPA"},NE:{name:"Nebraska",type:"region",complianceGroup:"opt-out",description:"Nebraska \u2014 NDPA"},IA:{name:"Iowa",type:"region",complianceGroup:"opt-out",description:"Iowa \u2014 ICDPA"},IN:{name:"Indiana",type:"region",complianceGroup:"opt-out",description:"Indiana \u2014 ICDPA"},MT:{name:"Montana",type:"region",complianceGroup:"opt-out",description:"Montana \u2014 MCDPA"},NH:{name:"New Hampshire",type:"region",complianceGroup:"opt-out",description:"New Hampshire \u2014 NHPA"},RI:{name:"Rhode Island",type:"region",complianceGroup:"opt-out",description:"Rhode Island \u2014 RIDTPA"}}},AR:{name:"Argentina",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Argentina (LPDP)",locales:["es-AR"],compliance:["lpdp-ar"],timezones:["America/Argentina/Buenos_Aires"]},BO:{name:"Bolivia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Bolivia",locales:["es-BO"],compliance:[],timezones:["America/La_Paz"]},BR:{name:"Brazil",type:"country",complianceGroup:"opt-in-brazil",default:"opt-in-brazil",description:"Brazil (LGPD)",locales:["pt-BR"],compliance:["lgpd"],timezones:["America/Noronha","America/Sao_Paulo","America/Manaus","America/Rio_Branco"]},CL:{name:"Chile",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Chile (Law 19.628)",locales:["es-CL"],compliance:["law19628-cl"],timezones:["America/Santiago","Pacific/Easter"]},CO:{name:"Colombia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Colombia (Law 1581)",locales:["es-CO"],compliance:["law1581-co"],timezones:["America/Bogota"]},CR:{name:"Costa Rica",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Costa Rica (LPDP)",locales:["es-CR"],compliance:["lpdp-cr"],timezones:["America/Costa_Rica"]},DO:{name:"Dominican Republic",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Dominican Republic",locales:["es-DO"],compliance:["data-protection-do"],timezones:["America/Santo_Domingo"]},EC:{name:"Ecuador",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Ecuador (LOPDP)",locales:["es-EC"],compliance:["lopdp-ec"],timezones:["America/Guayaquil","Pacific/Galapagos"]},GF:{name:"French Guiana",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"French Guiana",locales:["fr-GF"],compliance:[],timezones:["America/Cayenne"]},GT:{name:"Guatemala",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guatemala",locales:["es-GT"],compliance:[],timezones:["America/Guatemala"]},GY:{name:"Guyana",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guyana",locales:["en"],compliance:[],timezones:["America/Guyana"]},HN:{name:"Honduras",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Honduras",locales:["es-HN"],compliance:[],timezones:["America/Tegucigalpa"]},HT:{name:"Haiti",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Haiti",locales:["fr-HT"],compliance:[],timezones:["America/Port-au-Prince"]},JM:{name:"Jamaica",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Jamaica",locales:["en"],compliance:[],timezones:["America/Jamaica"]},MX:{name:"Mexico",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Mexico (LFPDPPP)",locales:["es-MX"],compliance:["lfpdppp"],timezones:["America/Mexico_City","America/Cancun","America/Chihuahua","America/Hermosillo","America/Tijuana"]},NI:{name:"Nicaragua",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Nicaragua",locales:["es-NI"],compliance:[],timezones:["America/Managua"]},PA:{name:"Panama",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Panama",locales:["es-PA"],compliance:["data-protection-pa"],timezones:["America/Panama"]},PE:{name:"Peru",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Peru (LPDP)",locales:["es-PE"],compliance:["lpdp-pe"],timezones:["America/Lima"]},PY:{name:"Paraguay",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Paraguay",locales:["es-PY"],compliance:[],timezones:["America/Asuncion"]},SR:{name:"Suriname",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Suriname",locales:["nl-SR"],compliance:[],timezones:["America/Paramaribo"]},SV:{name:"El Salvador",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"El Salvador",locales:["es-SV"],compliance:[],timezones:["America/El_Salvador"]},TT:{name:"Trinidad and Tobago",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Trinidad and Tobago",locales:["en"],compliance:[],timezones:["America/Port_of_Spain"]},UY:{name:"Uruguay",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Uruguay (Law 18.331)",locales:["es-UY"],compliance:["law18331-uy"],timezones:["America/Montevideo"]},VE:{name:"Venezuela",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Venezuela",locales:["es-VE"],compliance:[],timezones:["America/Caracas"]},AG:{name:"Antigua and Barbuda",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Antigua and Barbuda",locales:["en"],compliance:[],timezones:["America/Antigua"]},BB:{name:"Barbados",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Barbados",locales:["en"],compliance:[],timezones:["America/Barbados"]},BL:{name:"Saint Barth\xE9lemy",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Barth\xE9lemy",locales:["fr-BL"],compliance:[],timezones:["America/St_Barthelemy"]},BM:{name:"Bermuda",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Bermuda",locales:["en"],compliance:[],timezones:["Atlantic/Bermuda"]},BS:{name:"Bahamas",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Bahamas",locales:["en"],compliance:[],timezones:["America/Nassau"]},CU:{name:"Cuba",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cuba",locales:["es-CU"],compliance:[],timezones:["America/Havana"]},DM:{name:"Dominica",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Dominica",locales:["en"],compliance:[],timezones:["America/Dominica"]},GD:{name:"Grenada",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Grenada",locales:["en"],compliance:[],timezones:["America/Grenada"]},KN:{name:"Saint Kitts and Nevis",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Kitts and Nevis",locales:["en"],compliance:[],timezones:["America/St_Kitts"]},LC:{name:"Saint Lucia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Lucia",locales:["en"],compliance:[],timezones:["America/St_Lucia"]},PM:{name:"Saint Pierre and Miquelon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Pierre and Miquelon",locales:["fr-PM"],compliance:[],timezones:["America/Miquelon"]},PR:{name:"Puerto Rico",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Puerto Rico",locales:["es-PR","en"],compliance:[],timezones:["America/Puerto_Rico"]},VC:{name:"Saint Vincent and the Grenadines",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Vincent and the Grenadines",locales:["en"],compliance:[],timezones:["America/St_Vincent"]},IN:{name:"India",type:"country",complianceGroup:"opt-in-dpdpa",default:"opt-in-dpdpa",description:"India (DPDPA)",locales:["hi-IN","en","bn-IN","ta-IN"],compliance:["dpdpa"],timezones:["Asia/Kolkata","Asia/Calcutta"]},CN:{name:"China",type:"country",complianceGroup:"opt-in-china",default:"opt-in-china",description:"China (PIPL + DSL + CSL)",locales:["zh-CN"],compliance:["pipl","dsl-cn","csl-cn"],timezones:["Asia/Shanghai"]},BN:{name:"Brunei",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Brunei (Personal Data Protection Order)",locales:["ms-BN","en"],compliance:["privacy-bn"],timezones:["Asia/Brunei"]},ID:{name:"Indonesia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Indonesia (PDP Law)",locales:["id-ID"],compliance:["pdp-id"],timezones:["Asia/Jakarta","Asia/Makassar","Asia/Jayapura"]},KH:{name:"Cambodia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cambodia",locales:["km-KH"],compliance:[],timezones:["Asia/Phnom_Penh"]},LA:{name:"Laos",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Laos",locales:["lo-LA"],compliance:[],timezones:["Asia/Vientiane"]},MM:{name:"Myanmar",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Myanmar",locales:["my-MM"],compliance:[],timezones:["Asia/Yangon"]},MY:{name:"Malaysia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Malaysia (PDPA)",locales:["ms-MY","zh-MY","en"],compliance:["pdpa-my"],timezones:["Asia/Kuala_Lumpur","Asia/Kuching"]},PH:{name:"Philippines",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Philippines (DPA)",locales:["fil-PH","en"],compliance:["dpa-ph"],timezones:["Asia/Manila"]},SG:{name:"Singapore",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Singapore (PDPA)",locales:["zh-SG","ms-SG","ta-SG","en"],compliance:["pdpa-sg"],timezones:["Asia/Singapore"]},TH:{name:"Thailand",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Thailand (PDPA \u2014 GDPR-style opt-in)",locales:["th-TH"],compliance:["pdpa-th"],timezones:["Asia/Bangkok"]},TL:{name:"Timor-Leste",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Timor-Leste",locales:["pt-TL"],compliance:[],timezones:["Asia/Dili"]},VN:{name:"Vietnam",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Vietnam (PDPD)",locales:["vi-VN"],compliance:["pdpd-vn"],timezones:["Asia/Ho_Chi_Minh"]},HK:{name:"Hong Kong",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Hong Kong SAR (PDPO)",locales:["zh-HK"],compliance:["pdpl-hk"],timezones:["Asia/Hong_Kong"]},JP:{name:"Japan",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Japan (APPI)",locales:["ja-JP"],compliance:["appi"],timezones:["Asia/Tokyo"]},KP:{name:"North Korea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"North Korea",locales:["ko-KP"],compliance:[],timezones:["Asia/Pyongyang"]},KR:{name:"South Korea",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"South Korea (PIPA)",locales:["ko-KR"],compliance:["pipa-kr"],timezones:["Asia/Seoul"]},MN:{name:"Mongolia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mongolia",locales:["mn-MN"],compliance:[],timezones:["Asia/Ulaanbaatar","Asia/Hovd"]},MO:{name:"Macau",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Macau SAR (PDPA)",locales:["zh-MO","pt-MO"],compliance:["pdpa-mo"],timezones:["Asia/Macau"]},TW:{name:"Taiwan",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Taiwan (PDPL)",locales:["zh-TW"],compliance:["pdpl-tw"],timezones:["Asia/Taipei"]},AF:{name:"Afghanistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Afghanistan",locales:["fa-AF"],compliance:[],timezones:["Asia/Kabul"]},BD:{name:"Bangladesh",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Bangladesh",locales:["bn-BD"],compliance:[],timezones:["Asia/Dhaka"]},BT:{name:"Bhutan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Bhutan",locales:["dz-BT"],compliance:[],timezones:["Asia/Thimphu"]},IO:{name:"British Indian Ocean Territory",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"British Indian Ocean Territory",locales:["en"],compliance:[],timezones:["Indian/Chagos"]},LK:{name:"Sri Lanka",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Sri Lanka",locales:["si-LK","ta-LK"],compliance:["privacy-lk"],timezones:["Asia/Colombo"]},MV:{name:"Maldives",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Maldives",locales:["dv-MV"],compliance:[],timezones:["Indian/Maldives"]},NP:{name:"Nepal",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Nepal",locales:["ne-NP"],compliance:["privacy-np"],timezones:["Asia/Kathmandu"]},PK:{name:"Pakistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Pakistan",locales:["ur-PK","en"],compliance:[],timezones:["Asia/Karachi"]},AM:{name:"Armenia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Armenia",locales:["hy-AM"],compliance:[],timezones:["Asia/Yerevan"]},AZ:{name:"Azerbaijan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Azerbaijan",locales:["az-AZ"],compliance:[],timezones:["Asia/Baku"]},GE:{name:"Georgia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Georgia",locales:["ka-GE"],compliance:[],timezones:["Asia/Tbilisi"]},KG:{name:"Kyrgyzstan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Kyrgyzstan",locales:["ky-KG","ru-KG"],compliance:[],timezones:["Asia/Bishkek"]},KZ:{name:"Kazakhstan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Kazakhstan",locales:["kk-KZ","ru-KZ"],compliance:[],timezones:["Asia/Almaty","Asia/Aqtobe"]},TJ:{name:"Tajikistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Tajikistan",locales:["tg-TJ"],compliance:[],timezones:["Asia/Dushanbe"]},TM:{name:"Turkmenistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Turkmenistan",locales:["tk-TM"],compliance:[],timezones:["Asia/Ashgabat"]},UZ:{name:"Uzbekistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Uzbekistan",locales:["uz-UZ"],compliance:[],timezones:["Asia/Tashkent","Asia/Samarkand"]},AE:{name:"United Arab Emirates",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"United Arab Emirates (UAE PDPL / DIFC DPL / ADGM DPR)",locales:["ar-AE"],compliance:["uae-pdpl","difc-dpl","adgm-dpr"],timezones:["Asia/Dubai"]},BH:{name:"Bahrain",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Bahrain (PDPL)",locales:["ar-BH"],compliance:["pdpl-bh"],timezones:["Asia/Bahrain"]},IL:{name:"Israel",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Israel (Privacy Protection Law)",locales:["he-IL","ar-IL"],compliance:["privacy-il"],timezones:["Asia/Jerusalem"]},IQ:{name:"Iraq",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Iraq",locales:["ar-IQ"],compliance:[],timezones:["Asia/Baghdad"]},IR:{name:"Iran",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Iran",locales:["fa-IR"],compliance:[],timezones:["Asia/Tehran"]},JO:{name:"Jordan",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Jordan",locales:["ar-JO"],compliance:[],timezones:["Asia/Amman"]},KW:{name:"Kuwait",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Kuwait",locales:["ar-KW"],compliance:["privacy-kw"],timezones:["Asia/Kuwait"]},LB:{name:"Lebanon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Lebanon",locales:["ar-LB"],compliance:[],timezones:["Asia/Beirut"]},OM:{name:"Oman",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Oman (PDPL)",locales:["ar-OM"],compliance:["pdpl-om"],timezones:["Asia/Muscat"]},PS:{name:"Palestine",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Palestine",locales:["ar-PS"],compliance:[],timezones:["Asia/Gaza","Asia/Hebron"]},QA:{name:"Qatar",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Qatar (PDPL)",locales:["ar-QA"],compliance:["qpdl-qa"],timezones:["Asia/Qatar"]},SA:{name:"Saudi Arabia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Saudi Arabia (PDPL)",locales:["ar-SA"],compliance:["pdpl-sa"],timezones:["Asia/Riyadh"]},SY:{name:"Syria",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Syria",locales:["ar-SY"],compliance:[],timezones:["Asia/Damascus"]},YE:{name:"Yemen",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Yemen",locales:["ar-YE"],compliance:[],timezones:["Asia/Aden"]},BF:{name:"Burkina Faso",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Burkina Faso",locales:["fr-BF"],compliance:[],timezones:["Africa/Ouagadougou"]},BJ:{name:"Benin",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Benin",locales:["fr-BJ"],compliance:[],timezones:["Africa/Porto-Novo"]},CI:{name:"C\xF4te d'Ivoire",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"C\xF4te d'Ivoire",locales:["fr-CI"],compliance:[],timezones:["Africa/Abidjan"]},CM:{name:"Cameroon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cameroon",locales:["fr-CM","en"],compliance:[],timezones:["Africa/Douala"]},CV:{name:"Cabo Verde",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cabo Verde",locales:["pt-CV"],compliance:[],timezones:["Atlantic/Cape_Verde"]},GA:{name:"Gabon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Gabon",locales:["fr-GA"],compliance:[],timezones:["Africa/Libreville"]},GH:{name:"Ghana",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Ghana (DPA)",locales:["en"],compliance:["dpa-gh"],timezones:["Africa/Accra"]},GM:{name:"Gambia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Gambia",locales:["en"],compliance:[],timezones:["Africa/Banjul"]},GN:{name:"Guinea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guinea",locales:["fr-GN"],compliance:[],timezones:["Africa/Conakry"]},GQ:{name:"Equatorial Guinea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Equatorial Guinea",locales:["es-GQ","fr-GQ"],compliance:[],timezones:["Africa/Malabo"]},GW:{name:"Guinea-Bissau",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guinea-Bissau",locales:["pt-GW"],compliance:[],timezones:["Africa/Bissau"]},LR:{name:"Liberia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Liberia",locales:["en"],compliance:[],timezones:["Africa/Monrovia"]},ML:{name:"Mali",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mali",locales:["fr-ML"],compliance:[],timezones:["Africa/Bamako"]},MR:{name:"Mauritania",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mauritania",locales:["ar-MR"],compliance:[],timezones:["Africa/Nouakchott"]},NE:{name:"Niger",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Niger",locales:["fr-NE"],compliance:[],timezones:["Africa/Niamey"]},NG:{name:"Nigeria",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Nigeria (NDPA)",locales:["en"],compliance:["ndpa-ng"],timezones:["Africa/Lagos"]},SL:{name:"Sierra Leone",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Sierra Leone",locales:["en"],compliance:[],timezones:["Africa/Freetown"]},SN:{name:"Senegal",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Senegal",locales:["fr-SN"],compliance:[],timezones:["Africa/Dakar"]},TG:{name:"Togo",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Togo",locales:["fr-TG"],compliance:[],timezones:["Africa/Lome"]},BI:{name:"Burundi",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Burundi",locales:["fr-BI"],compliance:[],timezones:["Africa/Bujumbura"]},DJ:{name:"Djibouti",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Djibouti",locales:["fr-DJ","ar-DJ"],compliance:[],timezones:["Africa/Djibouti"]},ER:{name:"Eritrea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Eritrea",locales:["ti-ER"],compliance:[],timezones:["Africa/Asmara"]},ET:{name:"Ethiopia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Ethiopia",locales:["am-ET"],compliance:[],timezones:["Africa/Addis_Ababa"]},KE:{name:"Kenya",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Kenya (DPA)",locales:["sw-KE","en"],compliance:["dpa-ke"],timezones:["Africa/Nairobi"]},KM:{name:"Comoros",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Comoros",locales:["ar-KM","fr-KM"],compliance:[],timezones:["Indian/Comoro"]},MG:{name:"Madagascar",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Madagascar",locales:["fr-MG"],compliance:[],timezones:["Indian/Antananarivo"]},MU:{name:"Mauritius",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Mauritius (DPA)",locales:["en","fr-MU"],compliance:["dpa-mu"],timezones:["Indian/Mauritius"]},MW:{name:"Malawi",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Malawi",locales:["en"],compliance:[],timezones:["Africa/Blantyre"]},MZ:{name:"Mozambique",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mozambique",locales:["pt-MZ"],compliance:[],timezones:["Africa/Maputo"]},RW:{name:"Rwanda",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Rwanda (DPA)",locales:["rw-RW","en"],compliance:["dpa-rw"],timezones:["Africa/Kigali"]},SC:{name:"Seychelles",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Seychelles",locales:["fr-SC","en"],compliance:[],timezones:["Indian/Mahe"]},SO:{name:"Somalia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Somalia",locales:["so-SO"],compliance:[],timezones:["Africa/Mogadishu"]},SS:{name:"South Sudan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"South Sudan",locales:["en"],compliance:[],timezones:["Africa/Juba"]},ST:{name:"S\xE3o Tom\xE9 and Pr\xEDncipe",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"S\xE3o Tom\xE9 and Pr\xEDncipe",locales:["pt-ST"],compliance:[],timezones:["Africa/Sao_Tome"]},TZ:{name:"Tanzania",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Tanzania",locales:["sw-TZ","en"],compliance:[],timezones:["Africa/Dar_es_Salaam"]},UG:{name:"Uganda",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Uganda (DPA)",locales:["en"],compliance:["dpa-ug"],timezones:["Africa/Kampala"]},AO:{name:"Angola",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Angola",locales:["pt-AO"],compliance:[],timezones:["Africa/Luanda"]},BW:{name:"Botswana",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Botswana (DPA)",locales:["en"],compliance:["dpa-bw"],timezones:["Africa/Gaborone"]},LS:{name:"Lesotho",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Lesotho",locales:["en"],compliance:[],timezones:["Africa/Maseru"]},NA:{name:"Namibia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Namibia",locales:["en"],compliance:[],timezones:["Africa/Windhoek"]},SZ:{name:"Eswatini",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Eswatini",locales:["en"],compliance:[],timezones:["Africa/Mbabane"]},ZA:{name:"South Africa",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"South Africa (POPIA)",locales:["en","af-ZA"],compliance:["popia"],timezones:["Africa/Johannesburg"]},ZM:{name:"Zambia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Zambia (DPA)",locales:["en"],compliance:["dpa-zm"],timezones:["Africa/Lusaka"]},ZW:{name:"Zimbabwe",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Zimbabwe (DPA)",locales:["en"],compliance:["dpa-zw"],timezones:["Africa/Harare"]},DZ:{name:"Algeria",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Algeria",locales:["ar-DZ","fr-DZ"],compliance:["dpa-dz"],timezones:["Africa/Algiers"]},EG:{name:"Egypt",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Egypt (DPA)",locales:["ar-EG"],compliance:["dpa-eg"],timezones:["Africa/Cairo"]},LY:{name:"Libya",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Libya",locales:["ar-LY"],compliance:[],timezones:["Africa/Tripoli"]},MA:{name:"Morocco",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Morocco",locales:["ar-MA","fr-MA"],compliance:["dpa-ma"],timezones:["Africa/Casablanca"]},SD:{name:"Sudan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Sudan",locales:["ar-SD"],compliance:[],timezones:["Africa/Khartoum"]},TN:{name:"Tunisia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Tunisia (DPA)",locales:["ar-TN","fr-TN"],compliance:["dpa-tn"],timezones:["Africa/Tunis"]},CD:{name:"DR Congo",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"DR Congo",locales:["fr-CD"],compliance:[],timezones:["Africa/Kinshasa","Africa/Lubumbashi"]},CF:{name:"Central African Republic",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Central African Republic",locales:["fr-CF"],compliance:[],timezones:["Africa/Bangui"]},CG:{name:"Republic of Congo",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Republic of Congo",locales:["fr-CG"],compliance:[],timezones:["Africa/Brazzaville"]},TD:{name:"Chad",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Chad",locales:["fr-TD","ar-TD"],compliance:[],timezones:["Africa/Ndjamena"]},BY:{name:"Belarus",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Belarus",locales:["be-BY","ru-BY"],compliance:[],timezones:["Europe/Minsk"]},MD:{name:"Moldova",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Moldova",locales:["ro-MD"],compliance:[],timezones:["Europe/Chisinau"]},RU:{name:"Russia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Russia",locales:["ru-RU"],compliance:[],timezones:["Europe/Kaliningrad","Europe/Moscow","Europe/Samara","Asia/Yekaterinburg","Asia/Omsk","Asia/Krasnoyarsk","Asia/Irkutsk","Asia/Yakutsk","Asia/Vladivostok","Asia/Magadan","Asia/Kamchatka"]},UA:{name:"Ukraine",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Ukraine",locales:["uk-UA"],compliance:[],timezones:["Europe/Kyiv"]},VA:{name:"Holy See",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Holy See",locales:["it-VA"],compliance:[],timezones:["Europe/Vatican"]},AU:{name:"Australia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Australia (Privacy Act)",locales:["en"],compliance:["privacy-au"],timezones:["Australia/Sydney","Australia/Brisbane","Australia/Adelaide","Australia/Darwin","Australia/Perth","Australia/Hobart"]},FJ:{name:"Fiji",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Fiji",locales:["en"],compliance:["privacy-fj"],timezones:["Pacific/Fiji"]},FM:{name:"Micronesia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Micronesia",locales:["en"],compliance:[],timezones:["Pacific/Chuuk","Pacific/Pohnpei","Pacific/Kosrae"]},KI:{name:"Kiribati",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Kiribati",locales:["en"],compliance:[],timezones:["Pacific/Tarawa","Pacific/Enderbury","Pacific/Kiritimati"]},MH:{name:"Marshall Islands",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Marshall Islands",locales:["en"],compliance:[],timezones:["Pacific/Majuro","Pacific/Kwajalein"]},MP:{name:"Northern Mariana Islands",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Northern Mariana Islands",locales:["en"],compliance:[],timezones:["Pacific/Saipan"]},NC:{name:"New Caledonia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"New Caledonia",locales:["fr-NC"],compliance:[],timezones:["Pacific/Noumea"]},NF:{name:"Norfolk Island",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Norfolk Island",locales:["en"],compliance:[],timezones:["Pacific/Norfolk"]},NR:{name:"Nauru",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Nauru",locales:["en"],compliance:[],timezones:["Pacific/Nauru"]},NU:{name:"Niue",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Niue",locales:["en"],compliance:[],timezones:["Pacific/Niue"]},NZ:{name:"New Zealand",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"New Zealand (Privacy Act)",locales:["en"],compliance:["privacy-nz"],timezones:["Pacific/Auckland","Pacific/Chatham"]},PF:{name:"French Polynesia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"French Polynesia",locales:["fr-PF"],compliance:[],timezones:["Pacific/Tahiti","Pacific/Marquesas","Pacific/Gambier"]},PG:{name:"Papua New Guinea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Papua New Guinea",locales:["en"],compliance:["privacy-pg"],timezones:["Pacific/Port_Moresby","Pacific/Bougainville"]},PW:{name:"Palau",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Palau",locales:["en"],compliance:[],timezones:["Pacific/Palau"]},SB:{name:"Solomon Islands",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Solomon Islands",locales:["en"],compliance:[],timezones:["Pacific/Guadalcanal"]},TO:{name:"Tonga",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Tonga",locales:["en"],compliance:[],timezones:["Pacific/Tongatapu"]},TV:{name:"Tuvalu",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Tuvalu",locales:["en"],compliance:[],timezones:["Pacific/Funafuti"]},VU:{name:"Vanuatu",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Vanuatu",locales:["fr-VU","en"],compliance:[],timezones:["Pacific/Efate"]},WS:{name:"Samoa",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Samoa",locales:["en"],compliance:[],timezones:["Pacific/Apia"]},UK:{name:"United Kingdom",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"United Kingdom (UK GDPR + PECR)",locales:["en"],compliance:["uk-gdpr","pecr"],timezones:["Europe/London"]},CH:{name:"Switzerland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Switzerland (revFADP)",locales:["de-CH","fr-CH","it-CH"],compliance:["revfadp"],timezones:["Europe/Zurich"]}}},Mn=[...Object.values(I.countries).reduce((t,e)=>(e.compliance.forEach(n=>{t.add(n)}),t),new Set)],En=Object.entries(I.countries).reduce(function(t,[e,n]){return t[e]=n.name,t},{}),In=Object.values(I.countries).reduce(function(t,e){return e.locales.forEach(n=>{t[n]=e.name}),t},{});function It(t){if(!t||typeof t!="object")return!1;let e=t;if(typeof e.version!="string")return!1;let n=e.countries;return!n||typeof n!="object"?!1:Object.values(n).every(o=>!!o&&typeof o=="object"&&typeof o.complianceGroup=="string")}async function ze(t,e){let n={map:I};if(t===void 0||t==="default")return n;let o,i;if(typeof t=="string")try{if(i=await fetch(t),!i.ok)return e(`compliance.complianceMap fetch from "${t}" failed (HTTP ${i.status}) \u2014 falling back to the embedded map.`),n;o=await i.json()}catch(r){return e(`compliance.complianceMap fetch from "${t}" failed (${r instanceof Error?r.message:String(r)}) \u2014 falling back to the embedded map.`),n}else o=t;if(!It(o))return e(`compliance.complianceMap ${typeof t=="string"?`at "${t}"`:"object"} failed validation \u2014 falling back to the embedded map.`),n;for(let[r,s]of Object.entries(o.countries))s.overriddenRegions&&s.default===void 0&&e(`compliance.complianceMap country "${r}" has overriddenRegions but no explicit default \u2014 falling back to complianceGroup ("${s.complianceGroup}"), which may under-comply for regions not listed.`);let a={map:o};return i&&(a.response=i),a}var X="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function Dt(t){return new TextEncoder().encode(t)}function Lt(t){let e="";for(let n=0;n<t.length;n+=3){let o=t[n]??0,i=n+1<t.length?t[n+1]??0:0,a=n+2<t.length?t[n+2]??0:0;e+=X[o>>2],e+=X[(o&3)<<4|i>>4],n+1<t.length&&(e+=X[(i&15)<<2|a>>6]),n+2<t.length&&(e+=X[a&63])}return e}function Be(t){let e={v:2,ts:Math.floor(Date.now()/100),cmpId:t.cmpId,cmpV:t.cmpVersion,cs:t.consentScreen,lang:t.consentLanguage.toUpperCase().slice(0,2),vlV:t.vendorListVersion,pc:t.purposeConsents,vc:t.vendorConsents};return Lt(Dt(JSON.stringify(e)))}var ee="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function Tt(t){return new TextEncoder().encode(t)}function Rt(t){let e="";for(let n=0;n<t.length;n+=3){let o=t[n]??0,i=n+1<t.length?t[n+1]??0:0,a=n+2<t.length?t[n+2]??0:0;e+=ee[o>>2],e+=ee[(o&3)<<4|i>>4],n+1<t.length&&(e+=ee[(i&15)<<2|a>>6]),n+2<t.length&&(e+=ee[a&63])}return e}var Ot=0,zt=1,Bt=2;function he(t,e){return t?e?zt:Bt:Ot}function Ne(t){let e={v:1,ts:Math.floor(Date.now()/100),cmpId:t.cmpId,cmpV:t.cmpVersion,sect:"usnat",saleOO:he(t.saleApplicable,t.saleOptOut),shareOO:he(t.sharingApplicable,t.sharingOptOut),taOO:he(t.sharingApplicable,t.sharingOptOut),mspaCT:t.mspaCoveredTransaction?1:2,mspaOOM:t.mspaOptOutOptionMode,mspaSPM:t.mspaServiceProviderMode,...t.gpcDetected!==void 0?{gpc:t.gpcDetected}:{}};return Rt(Tt(JSON.stringify(e)))}var Nt=["ar","he","fa","ur","ps","sd","ug","yi"];function Ve(t,e){if(e==="ltr"||e==="rtl")return e;try{let o=new Intl.Locale(t).getTextInfo?.().direction;if(o==="ltr"||o==="rtl")return o}catch{}let n=t.slice(0,2).toLowerCase();return Nt.includes(n)?"rtl":"ltr"}var d=()=>typeof window<"u"&&typeof document<"u",B=()=>d()?window:null;var He=()=>d()&&typeof navigator<"u"?navigator:null;var U=["error"];function ve(t){U=t}var v={info:(...t)=>{U.includes("info")&&console.info("[Consenti]",...t)},log:(...t)=>{U.includes("log")&&console.log("[Consenti]",...t)},warn:(...t)=>{U.includes("warning")&&console.warn("[Consenti]",...t)},error:(...t)=>{U.includes("error")&&console.error("[Consenti]",...t)}};function N(t){let e=document.createElement("script");if(t.src){let n=t.src.trim();if(/^javascript:/i.test(n))return v.warn(`${t.warnPrefix}: rejected src with javascript: protocol`),null;e.src=n}t.unsafeInnerHTML&&(e.innerHTML=t.unsafeInnerHTML);for(let[n,o]of Object.entries(t.attributes??{})){if(/^on/i.test(n)){v.warn(`${t.warnPrefix}: rejected attribute "${n}" (inline event handlers are not allowed)`);continue}e.setAttribute(n,o)}return document.head.appendChild(e),e}function te(t){t?.remove()}var K=class{constructor(e){this.options=e;this.scriptEl=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let n=this.options.widget.getConsent()?.[this.options.cookieId]==="granted";n&&!this.scriptEl?this.inject():!n&&this.scriptEl&&this.revoke()}inject(){let e=N({...this.options.src!==void 0?{src:this.options.src}:{},...this.options.unsafeInnerHTML!==void 0?{unsafeInnerHTML:this.options.unsafeInnerHTML}:{},...this.options.attributes!==void 0?{attributes:this.options.attributes}:{},warnPrefix:"ConsentScript"});e&&(this.scriptEl=e,this.options.onLoad?.())}revoke(){te(this.scriptEl),this.scriptEl=null,this.options.onRevoke?.()}destroy(){d()&&(this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler),this.revoke())}};var F=class{constructor(e){this.options=e;this.scriptEl=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let n=this.options.widget.getProfile()?.preferenceModal.categories[this.options.categoryId]?.cookies??[],o=this.options.widget.getConsent(),i=n.length>0&&n.every(a=>o?.[a]==="granted");i&&!this.scriptEl?this.inject():!i&&this.scriptEl&&this.revoke()}inject(){let e=N({...this.options.src!==void 0?{src:this.options.src}:{},...this.options.unsafeInnerHTML!==void 0?{unsafeInnerHTML:this.options.unsafeInnerHTML}:{},...this.options.attributes!==void 0?{attributes:this.options.attributes}:{},warnPrefix:"CategoryScript"});e&&(this.scriptEl=e,this.options.onLoad?.())}revoke(){te(this.scriptEl),this.scriptEl=null,this.options.onRevoke?.()}destroy(){d()&&(this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler),this.revoke())}};var je="data-consenti-consent-script",$e="data-consenti-category-script",Vt="data-consenti-bind",be="data-consenti-scanned";function Ht(t){return t.getAttribute(Vt)!=="false"}function Ce(t){if(!d())return[];let e=document.querySelectorAll(`script[type="text/plain"][${je}]:not([${be}]), script[type="text/plain"][${$e}]:not([${be}])`),n=[];for(let o of e){o.setAttribute(be,"");let i=o.getAttribute("src")??void 0,a=i?void 0:o.textContent?.trim()||void 0,r=Ht(o),s=o.getAttribute(je),c=o.getAttribute($e);s?n.push(new K({cookieId:s,widget:t,...i!==void 0?{src:i}:{},...a!==void 0?{unsafeInnerHTML:a}:{},bind:r})):c&&n.push(new F({categoryId:c,widget:t,...i!==void 0?{src:i}:{},...a!==void 0?{unsafeInnerHTML:a}:{},bind:r}))}return n}function k(t,e,n){let o="denied";for(let[i,a]of Object.entries(e)){if(a.purpose!==n)continue;let r=t[i];if(r==="granted")return"granted";r==="objected"&&o==="denied"&&(o="objected")}return o}var jt=["ad_storage","analytics_storage","ad_user_data","ad_personalization","functionality_storage","personalization_storage","security_storage"];function q(t){let e={};for(let n of jt){let o=t[n];o==="granted"?e[n]="granted":o==="denied"||o==="objected"?e[n]="denied":e[n]=n==="functionality_storage"||n==="security_storage"?"granted":"denied"}return e.ads_data_redaction=e.ad_storage==="denied"?"true":"false",e.url_passthrough="false",e}function Ue(t,e){return{necessary:"granted",functional:k(t,e,"functional"),preferences:k(t,e,"preferences"),analytics:k(t,e,"analytics"),marketing:k(t,e,"marketing")}}function Ke(t,e){let n={};for(let[o,i]of Object.entries(e)){let a=i.legalBasis==="legitimate_interest"?"objected":"denied",r=i.cookies.map(s=>t[s]);r.length>0&&r.every(s=>s==="granted")?n[o]="granted":r.every(s=>s===a||s===void 0)?n[o]=a:n[o]="denied"}return n}function Fe(t,e){return{analytics:k(t,e,"analytics"),target:k(t,e,"preferences"),manager:k(t,e,"marketing"),optimizer:k(t,e,"marketing")}}function qe(t,e){return{pixel:k(t,e,"marketing"),api:k(t,e,"marketing"),plugins:k(t,e,"functional"),facebookLogin:k(t,e,"functional")}}function We(t,e){return{session:k(t,e,"analytics"),heatmaps:k(t,e,"analytics"),performance:k(t,e,"analytics")}}function Je(t,e){return{identify:k(t,e,"preferences"),page:k(t,e,"analytics"),track:k(t,e,"analytics"),group:k(t,e,"analytics"),alias:k(t,e,"analytics")}}var _e='.consenti-root{position:relative}.consenti-d-none{display:none !important}:root{--consenti-color-bg: #ffffff;--consenti-color-text: #1a2e4a;--consenti-color-text-muted: #949dab;--consenti-color-primary: #04111f;--consenti-color-primary-text: #ffffff;--consenti-color-secondary: #f0f4f8;--consenti-color-secondary-text: #1a2e4a;--consenti-color-border: #dbe4ee;--consenti-color-secondary-border: #1a2e4a;--consenti-color-overlay: #04111f;--consenti-color-accent: #d32f2f;--consenti-color-accent-text: #ffffff;--consenti-font-family: system-ui, -apple-system, sans-serif;--consenti-font-family-mono: ui-monospace, monospace;--consenti-font-size-base: 14px;--consenti-font-size-heading: 16px;--consenti-font-weight-heading: 600;--consenti-line-height: 1.5;--consenti-spacing-xs: 5px;--consenti-spacing-sm: 8px;--consenti-spacing-md: 16px;--consenti-spacing-lg: 24px;--consenti-border-radius: 8px;--consenti-border-radius-btn: 0;--consenti-shadow: 0 4px 24px rgba(21, 101, 192, 0.14);--consenti-toggle-bg-on: #43a047;--consenti-toggle-bg-partial: #97c098;--consenti-toggle-bg-off: #9ca3af;--consenti-toggle-knob: #ffffff;--consenti-toggle-width: 52px;--consenti-toggle-height: 28px;--consenti-z-banner: 9999;--consenti-z-overlay: 9998;--consenti-z-modal: 10000}.consenti-root--dark{--consenti-color-bg: #1e2535;--consenti-color-text: #e2e8f0;--consenti-color-text-muted: #a4acb9;--consenti-color-primary: #e2e8f0;--consenti-color-primary-text: #2a3447;--consenti-color-secondary: #2a3447;--consenti-color-secondary-text: #cbd5e1;--consenti-color-border: #374151;--consenti-color-overlay: rgba(0, 0, 0, 0.65);--consenti-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);--consenti-toggle-bg-off: #6b7280}.consenti-overlay{position:fixed;inset:0;background:var(--consenti-color-overlay);z-index:var(--consenti-z-overlay)}.consenti-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--consenti-spacing-sm) var(--consenti-spacing-md);border:none;border-radius:var(--consenti-border-radius-btn);font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);font-weight:500;line-height:1;cursor:pointer;text-decoration:none;transition:opacity .15s ease}.consenti-btn:focus-visible{outline:2px solid var(--consenti-color-primary);outline-offset:2px}.consenti-btn:hover{opacity:.9}.consenti-btn--primary{background:var(--consenti-color-primary);color:var(--consenti-color-primary-text);border:1px solid var(--consenti-color-primary)}.consenti-btn--secondary{background:var(--consenti-color-secondary);color:var(--consenti-color-primary);border:1px solid var(--consenti-color-primary)}.consenti-btn--secondary:hover{background:var(--consenti-color-primary);color:var(--consenti-color-secondary)}.consenti-btn--text{background:rgba(0,0,0,0);color:var(--consenti-color-primary);padding-left:0;padding-right:0;text-decoration:underline;text-underline-offset:4px;border:1px solid rgba(0,0,0,0)}.consenti-btn--accent{background:var(--consenti-color-accent);color:var(--consenti-color-accent-text)}.consenti-btn--action{background:rgba(0,0,0,0);color:var(--consenti-color-text);font-size:20px;line-height:1;border-radius:50%;height:24px;width:24px;font-size:24px;padding:0}.consenti-banner{position:fixed;left:0;right:0;z-index:var(--consenti-z-banner);background:var(--consenti-color-bg);color:var(--consenti-color-text);font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);line-height:var(--consenti-line-height);box-shadow:var(--consenti-shadow);padding:var(--consenti-spacing-lg);display:flex;flex-wrap:wrap;align-items:center;gap:var(--consenti-spacing-md)}.consenti-banner--top{top:0;border-bottom:1px solid var(--consenti-color-border)}@media(prefers-reduced-motion: no-preference){.consenti-banner--top{animation:consenti-slide-down .2s ease-out}}.consenti-banner--bottom{bottom:0;border-top:1px solid var(--consenti-color-border)}@media(prefers-reduced-motion: no-preference){.consenti-banner--bottom{animation:consenti-slide-up .2s ease-out}}.consenti-banner--top .consenti-banner__text-container,.consenti-banner--bottom .consenti-banner__text-container{min-width:60vw}.consenti-banner--middle{top:50%;transform:translateY(-50%);left:50%;right:auto;transform:translate(-50%, -50%);width:min(600px,90vw);border-radius:var(--consenti-border-radius);flex-direction:column;align-items:flex-start}.consenti-banner--left-bottom{bottom:var(--consenti-spacing-lg);left:var(--consenti-spacing-lg);right:auto;width:min(400px,90vw);border-radius:var(--consenti-border-radius)}.consenti-banner--right-bottom{bottom:var(--consenti-spacing-lg);right:var(--consenti-spacing-lg);left:auto;width:min(400px,90vw);border-radius:var(--consenti-border-radius)}.consenti-banner__text-container{flex:1}.consenti-banner__text-container a:not(.consenti-banner__link){color:var(--consenti-color-text)}.consenti-banner__text-container a:not(.consenti-banner__link):hover{color:var(--consenti-color-primary)}.consenti-banner__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin:0 0 var(--consenti-spacing-sm);width:calc(100% - 56px)}.consenti-banner__text{margin:0}.consenti-banner__links{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);margin-top:var(--consenti-spacing-sm)}.consenti-banner__link{font-size:.87em;padding:var(--consenti-spacing-xs) var(--consenti-spacing-sm);border-radius:var(--consenti-spacing-xs)}.consenti-banner__link:first-child{padding-left:0}.consenti-banner__controls{position:absolute;top:var(--consenti-spacing-sm);right:var(--consenti-spacing-sm);display:flex;align-items:center;gap:4px}.consenti-banner__buttons{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);align-items:center;margin-top:var(--consenti-spacing-sm)}.consenti-banner__close{margin-top:-5px}.consenti-banner .consenti__powered-by{bottom:0}@media(max-width: 576px){.consenti-banner{padding:var(--consenti-spacing-md);gap:var(--consenti-spacing-sm)}.consenti-banner--left-bottom,.consenti-banner--right-bottom{left:0;right:0;bottom:0;width:100%;border-radius:0;border-top:1px solid var(--consenti-color-border)}.consenti-banner--middle{width:95vw}.consenti-banner__buttons{width:100%;flex-direction:column;align-items:stretch}.consenti-banner__text-container{min-width:0;width:100%}}@keyframes consenti-slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes consenti-slide-down{from{transform:translateY(-100%)}to{transform:translateY(0)}}.consenti-modal{position:fixed;inset:0;z-index:var(--consenti-z-modal);display:flex;font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);color:var(--consenti-color-text);line-height:var(--consenti-line-height)}.consenti-modal--passthrough{pointer-events:none}.consenti-modal--passthrough .consenti-modal__container{pointer-events:auto}.consenti-modal--center{align-items:center;justify-content:center}.consenti-modal--left{align-items:stretch;justify-content:flex-start}.consenti-modal--left .consenti-modal__container{border-radius:0 var(--consenti-border-radius) var(--consenti-border-radius) 0;height:100%;max-height:100vh}.consenti-modal--right{align-items:stretch;justify-content:flex-end}.consenti-modal--right .consenti-modal__container{border-radius:0;height:100%;max-height:100vh}.consenti-modal--fullscreen{align-items:flex-start;justify-content:flex-start}.consenti-modal--fullscreen .consenti-modal__container{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.consenti-modal__overlay{position:absolute;inset:0;background:var(--consenti-color-overlay)}.consenti-modal__container{position:relative;z-index:1;background:var(--consenti-color-bg);border-radius:var(--consenti-border-radius);box-shadow:var(--consenti-shadow);width:min(560px,90vw);max-height:85vh;display:flex;flex-direction:column;overflow:hidden}@media(prefers-reduced-motion: no-preference){.consenti-modal__container{animation:consenti-fade-in .15s ease-out}}.consenti-modal__header{display:flex;justify-content:space-between;padding:var(--consenti-spacing-md) var(--consenti-spacing-lg);border-bottom:1px solid var(--consenti-color-border);flex-shrink:0;position:relative;flex-direction:column}.consenti-modal__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin:0;flex:1;width:calc(100% - 56px)}.consenti-modal__header-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;position:absolute;inset-inline-end:15px;top:10px}.consenti-modal__close{flex-shrink:0;margin-top:-5px}.consenti-modal__links{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);margin-top:var(--consenti-spacing-md)}.consenti-modal__link{font-size:.87em;padding:var(--consenti-spacing-xs) var(--consenti-spacing-sm);border-radius:var(--consenti-spacing-xs)}.consenti-modal__link:first-child{padding-left:0}.consenti-modal__subheading{padding-top:var(--consenti-spacing-sm);margin:0;color:var(--consenti-color-text-muted);font-size:13px}.consenti-modal__text{padding:var(--consenti-spacing-sm) 0}.consenti-modal__body{overflow-y:auto;flex:1;padding:var(--consenti-spacing-sm) var(--consenti-spacing-lg);position:relative;display:flex;flex-direction:column}.consenti-modal__body .consenti__powered-by{bottom:0;left:0;position:relative}.consenti-modal__categories{display:flex;flex-grow:1;flex-direction:column;gap:var(--consenti-spacing-md);padding:var(--consenti-spacing-md) 0}.consenti-modal__buttons{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);padding:var(--consenti-spacing-md);border-top:1px solid var(--consenti-color-border);flex-shrink:0}.consenti-modal__receipt-option{padding-top:var(--consenti-spacing-md);border-top:1px solid var(--consenti-color-border);flex-shrink:0}.consenti-modal__receipt-label{display:flex;align-items:center;gap:var(--consenti-spacing-sm);font-size:var(--consenti-font-size-base);cursor:pointer}.consenti-modal__receipt-checkbox{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--consenti-toggle-bg-on)}.consenti-modal__receipt-desc{margin:4px 0 0 0;margin-inline-start:24px;font-size:12px;color:#6b7280}@keyframes consenti-fade-in{from{opacity:0;transform:scale(0.97)}to{opacity:1;transform:scale(1)}}.consenti-category{padding:var(--consenti-spacing-md) 0;border-bottom:1px solid var(--consenti-color-border)}.consenti-category:last-child{border-bottom:none}.consenti-category--mandatory .consenti-category__toggle{opacity:.6;cursor:default}.consenti-category__header{display:flex;align-items:center;justify-content:space-between;gap:var(--consenti-spacing-md);margin-bottom:var(--consenti-spacing-sm)}.consenti-category__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin:0}.consenti-category__text{color:var(--consenti-color-text-muted);font-size:13px;margin:0}.consenti-category__text--clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.consenti-category__text-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.consenti-category__show-more{background:none;border:none;padding:0;color:var(--consenti-color-primary);cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:2px}.consenti-category__show-more:hover{opacity:.8}.consenti-category__li-desc{margin-bottom:var(--consenti-spacing-sm);font-size:12px;color:#6b7280;font-style:italic}.consenti-category__toggle{flex-shrink:0;position:relative;width:var(--consenti-toggle-width);height:var(--consenti-toggle-height);border-radius:calc(var(--consenti-toggle-height)/2);background:var(--consenti-toggle-bg-off);border:none;cursor:pointer;transition:background .2s ease;padding:0}.consenti-category__toggle:focus-visible{outline:2px solid var(--consenti-color-primary);outline-offset:2px}.consenti-category__toggle[aria-checked=true]{background:var(--consenti-toggle-bg-on)}.consenti-category__toggle--mandatory{cursor:default}.consenti-category__toggle--partial{background:var(--consenti-toggle-bg-partial, var(--consenti-color-accent, #f59e0b))}.consenti-category__toggle--partial .consenti-category__toggle-icon--check,.consenti-category__toggle--partial .consenti-category__toggle-icon--cross,.consenti-category__toggle--partial .consenti-category__toggle-icon--objected{opacity:0}.consenti-category__toggle--partial.consenti-toggle--li .consenti-category__toggle-icon--objected{opacity:0}.consenti-category__toggle--partial .consenti-category__toggle-knob{transform:translateX(calc((var(--consenti-toggle-width) - var(--consenti-toggle-height)) / 2))}.consenti-category__toggle--partial::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:2px;border-radius:1px;background:rgba(255,255,255,.9);pointer-events:none;z-index:1}.consenti-category__toggle-icon{position:absolute;top:50%;transform:translateY(-50%);width:10px;height:10px;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .15s ease;color:rgba(255,255,255,.9)}.consenti-category__toggle-icon svg{width:10px;height:10px;overflow:visible}.consenti-category__toggle-icon--check{left:8px;opacity:0}[aria-checked=true] .consenti-category__toggle-icon--check{opacity:1}.consenti-category__toggle-icon--cross{right:8px;opacity:1}[aria-checked=true] .consenti-category__toggle-icon--cross{opacity:0}.consenti-category__toggle-icon--objected{right:8px;opacity:0}.consenti-category__toggle-knob{position:absolute;top:2px;left:2px;width:calc(var(--consenti-toggle-height) - 4px);height:calc(var(--consenti-toggle-height) - 4px);border-radius:50%;background:var(--consenti-toggle-knob);transition:transform .2s ease;display:block}[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(var(--consenti-toggle-width) - var(--consenti-toggle-height)))}.consenti-category__params{display:flex;flex-direction:column;gap:var(--consenti-spacing-xs, 6px);margin-top:var(--consenti-spacing-sm);padding-top:var(--consenti-spacing-sm);border-top:1px dashed var(--consenti-color-border)}.consenti-category__param{display:flex;align-items:center;justify-content:space-between;gap:var(--consenti-spacing-sm)}.consenti-category__param-info{display:flex;flex-direction:column;gap:2px;min-width:0}.consenti-category__param-label{font-size:12px;font-family:var(--consenti-font-family-mono, monospace);color:var(--consenti-color-text);overflow-wrap:anywhere}.consenti-category__param-meta{font-size:11px;color:var(--consenti-color-text-muted)}.consenti-category__param-toggle{flex-shrink:0;position:relative;width:calc(var(--consenti-toggle-width)*.8);height:calc(var(--consenti-toggle-height)*.8);border-radius:calc(var(--consenti-toggle-height)*.4);background:var(--consenti-toggle-bg-off);border:none;cursor:pointer;transition:background .2s ease;padding:0}.consenti-category__param-toggle:focus-visible{outline:2px solid var(--consenti-color-primary);outline-offset:2px}.consenti-category__param-toggle[aria-checked=true]{background:var(--consenti-toggle-bg-on)}.consenti-category__param-toggle--mandatory{cursor:default;opacity:.6}.consenti-category__param-toggle .consenti-category__toggle-icon{width:8px;height:8px}.consenti-category__param-toggle .consenti-category__toggle-icon svg{width:8px;height:8px}.consenti-category__param-toggle .consenti-category__toggle-icon--check{left:6px}.consenti-category__param-toggle .consenti-category__toggle-icon--cross{right:6px}.consenti-category__param-toggle .consenti-category__toggle-icon--objected{right:6px}.consenti-category__param-toggle .consenti-category__toggle-knob{width:calc(var(--consenti-toggle-height)*.8 - 4px);height:calc(var(--consenti-toggle-height)*.8 - 4px)}.consenti-category__param-toggle[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(var(--consenti-toggle-width) * 0.8 - var(--consenti-toggle-height) * 0.8))}.consenti-toggle--li .consenti-category__toggle-icon--cross{opacity:0}.consenti-toggle--li .consenti-category__toggle-icon--objected{opacity:1}.consenti-toggle--li[aria-checked=true] .consenti-category__toggle-icon--objected{opacity:0}[dir=rtl] .consenti-category__toggle-knob{left:auto;right:2px}[dir=rtl] .consenti-category__toggle[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(-1 * (var(--consenti-toggle-width) - var(--consenti-toggle-height))))}[dir=rtl] .consenti-category__toggle--partial .consenti-category__toggle-knob{transform:translateX(calc(-1 * (var(--consenti-toggle-width) - var(--consenti-toggle-height)) / 2))}[dir=rtl] .consenti-category__param-toggle[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(-1 * (var(--consenti-toggle-width) * 0.8 - var(--consenti-toggle-height) * 0.8)))}[dir=rtl] .consenti-category__toggle-icon--check{left:auto;right:8px}[dir=rtl] .consenti-category__toggle-icon--cross,[dir=rtl] .consenti-category__toggle-icon--objected{right:auto;left:8px}[dir=rtl] .consenti-category__param-toggle .consenti-category__toggle-icon--check{left:auto;right:6px}[dir=rtl] .consenti-category__param-toggle .consenti-category__toggle-icon--cross,[dir=rtl] .consenti-category__param-toggle .consenti-category__toggle-icon--objected{right:auto;left:6px}.consenti-locale-switcher{position:relative;display:inline-flex}.consenti-locale-switcher__btn{font-size:1rem;line-height:1;cursor:pointer}.consenti-locale-switcher__list{position:absolute;top:calc(100% + 4px);inset-inline-end:0;z-index:calc(var(--consenti-z-modal) + 1);background:var(--consenti-color-bg);border:1px solid var(--consenti-color-border);border-radius:var(--consenti-border-radius);box-shadow:var(--consenti-shadow);list-style:none;margin:0;padding:4px 0;min-width:80px}.consenti-locale-switcher__list li{display:block}.consenti-locale-switcher__option{display:block;width:100%;padding:6px 12px;text-align:start;font-size:var(--consenti-font-size-base);color:var(--consenti-color-text);background:none;border:none;cursor:pointer}.consenti-locale-switcher__option:hover{background:var(--consenti-color-secondary)}.consenti-locale-switcher__option--active{font-weight:600;color:var(--consenti-color-primary)}.consenti-locale-switcher--modal .consenti-locale-switcher__list{inset-inline-end:0}.consenti-meta-footer{display:flex;flex-wrap:wrap;gap:.5rem .75rem;font-size:.7rem;color:var(--consenti-color-text);opacity:.6;border-top:1px solid var(--consenti-color-border);padding:var(--consenti-spacing-sm) var(--consenti-spacing-md);justify-content:space-between;margin-top:.75rem;min-width:0}.consenti-meta-footer__item{display:inline-flex;align-items:center;gap:.25rem;min-width:0;max-width:100%}.consenti-meta-footer__id{font-family:monospace;font-size:.65rem;overflow-wrap:anywhere}.consenti-meta-footer__settings{background:none;border:none;padding:0;color:var(--consenti-color-primary);cursor:pointer;font-size:.7rem;text-decoration:underline;text-underline-offset:2px}.consenti-meta-footer__settings:hover{opacity:.8}.consenti--enhanced-a11y .consenti-btn{min-height:44px;min-width:44px}.consenti--enhanced-a11y .consenti-category__toggle{min-width:52px;min-height:28px}.consenti--enhanced-a11y .consenti-category__param-toggle{min-width:44px;min-height:24px}.consenti--enhanced-a11y *:focus-visible{outline:3px solid var(--consenti-color-primary);outline-offset:2px}.consenti-age-gate{position:fixed;inset:0;z-index:var(--consenti-z-modal);margin:auto;width:min(400px,90vw);height:fit-content;background:var(--consenti-color-bg);color:var(--consenti-color-text);border-radius:var(--consenti-border-radius);box-shadow:var(--consenti-shadow);padding:var(--consenti-spacing-lg);font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);line-height:var(--consenti-line-height)}.consenti-age-gate__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin-bottom:var(--consenti-spacing-sm)}.consenti-age-gate__text{color:var(--consenti-color-text-muted);margin-bottom:var(--consenti-spacing-md)}.consenti-age-gate__buttons{display:flex;gap:var(--consenti-spacing-sm)}.consenti__powered-by{position:absolute;inset-inline-end:var(--consenti-spacing-md);opacity:.3;color:var(--consenti-color-primary);font-size:70%}.consenti-transition-1_2x{transition:transform 300ms ease-in-out}.consenti-transition-1_2x:hover{transform:scale(1.2)}';var ne=class{constructor(){this.channel=null}get isSupported(){return d()&&typeof BroadcastChannel<"u"}connect(e){this.isSupported&&(this.onMessageCallback=e,this.channel=new BroadcastChannel("consenti"),this.channel.onmessage=n=>{n.data?.type&&e(n.data)},this.channel.onmessageerror=()=>{v.warn("BroadcastChannel message error \u2014 ignoring")})}send(e){this.channel?.postMessage(e)}disconnect(){this.channel?.close(),this.channel=null,this.onMessageCallback=void 0}};function Ye(t){let e={version:t.version,issuedAt:new Date().toISOString(),visitorId:t.visitorId,profileId:t.profileId,locale:t.locale,consent:t.consent};return t.signature&&(e.signature=t.signature),e}function Ze(t){if(typeof window>"u"||typeof document>"u")return;let e=JSON.stringify(t,null,2),n=new Blob([e],{type:"application/json"}),o=URL.createObjectURL(n),i=document.createElement("a");i.href=o,i.download=`consenti-receipt-${t.issuedAt.slice(0,10)}.json`,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout(()=>URL.revokeObjectURL(o),1e3)}function M(t){return`${t}_${crypto.randomUUID().replace(/-/g,"")}`}function Qe(t){if(!d())return null;let e=document.cookie.match(new RegExp(`(?:^|;\\s*)${$t(t)}=([^;]*)`));return e?decodeURIComponent(e[1]??""):null}function we(t,e,n={}){if(!d())return;let o=n.secure??(typeof window<"u"&&typeof window.location<"u"&&window.location.protocol==="https:"),i=[`${encodeURIComponent(t)}=${encodeURIComponent(e)}`,`Path=${n.path??"/"}`,`SameSite=${n.sameSite??"Lax"}`,n.maxAge!=null?`Max-Age=${n.maxAge}`:"",o?"Secure":"",n.domain?`Domain=${n.domain}`:""];document.cookie=i.filter(Boolean).join("; ")}function Xe(t,e={}){we(t,"",{...e,maxAge:0})}function $t(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ut(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.s=="string"&&typeof e.v=="number"&&typeof e.i=="string"&&typeof e.u=="string"&&typeof e.t=="number"&&(e.g===0||e.g===1)&&typeof e.p=="number"&&typeof e.c=="object"&&e.c!==null&&typeof e.l=="string"}function oe(t){return JSON.stringify(t)}function T(t){let e=t.lastIndexOf("::sig:"),n=e!==-1?t.slice(0,e):t;try{let o=JSON.parse(n);return Ut(o)?o:null}catch{return null}}function ke(t){let e={};for(let[n,o]of Object.entries(t.c))o==="g"?e[n]="granted":o==="o"?e[n]="objected":e[n]="denied";return e}function ie(t){let e={};for(let[n,o]of Object.entries(t))o==="granted"?e[n]="g":o==="objected"?e[n]="o":e[n]="d";return e}var R=class{constructor(e){this.mode=e;e==="localStorage"&&d()&&typeof localStorage>"u"&&(v.warn("localStorage is not available, falling back to cookie storage"),this.mode="cookie")}read(e){return d()?this.mode==="localStorage"?localStorage.getItem(e):Qe(e):null}write(e,n,o={}){d()&&(this.mode==="localStorage"?localStorage.setItem(e,n):we(e,n,o))}remove(e,n={}){d()&&(this.mode==="localStorage"?localStorage.removeItem(e):Xe(e,n))}};var Ae="consenti_",Kt="visi_",Ft=3600*24*365*2;function qt(t){return d()?t==="localStorage"?typeof localStorage<"u"?Object.keys(localStorage):[]:document.cookie.split(";").map(e=>e.split("=")[0]?.trim()??""):[]}function et(t){for(let e of qt(t))if(e.startsWith(Ae+Kt))return e.slice(Ae.length);return null}function tt(t="cookie",e){let n=et(t);if(n)return n;let o=M("visi"),i={path:"/",sameSite:"Lax",maxAge:Ft};if(e){let a=e.split(",")[0]?.trim();a&&(i.domain=a)}return new R(t).write(`${Ae}${o}`,"1",i),o}function nt(t="cookie"){return et(t)}function Wt(t){return t*24*60*60}var xe="consenti_data";function ot(t="cookie",e=xe){let o=new R(t).read(e);return o&&T(o)?.l||null}function it(t="cookie",e=xe){let o=new R(t).read(e);return o&&T(o)?.k||null}var Ge="consenti";function Jt(t){let e=t.split("::");if(e.length<2)return null;let n=e[0]??"",o;if(n.startsWith("t:")){let c=n.slice(2),l=parseInt(c,10);if(!c||isNaN(l))return null;o=new Date(l*1e3).toISOString()}else if(n.startsWith("ConsentTimestamp:")){if(o=n.replace("ConsentTimestamp:",""),!o)return null}else return null;let i=e[1]??"",a=e[2],r={};for(let c of i.split("|")){let l=c.indexOf(":");if(l===-1)return null;let p=c.slice(0,l),m=c.slice(l+1);if(!p||m!=="granted"&&m!=="denied"&&m!=="objected")return null;r[p]=m}let s={timestamp:o,consent:r};return a?.startsWith("sig:")&&(s.signature=a.slice(4)),s}var ae=class{constructor(e,n,o,i,a=xe){this.profileId=e;this.storageMode=n;this.cookieDomains=o;this.appUserId=i;this.cookieName=a;this.cachedData=null;this.expiryDays=365;this.profileVersion=0;this.storage=new R(n)}setProfileExpiry(e){this.expiryDays=e}setProfileVersion(e){this.profileVersion=e}getAppUserId(){if(this.cachedData)return this.cachedData.u||null;let e=this.storage.read(this.cookieName);return e&&T(e)?.u||null}setAppUserId(e){this.appUserId=e}getCookieName(){return this.cookieName}read(){let e=this.storage.read(this.cookieName);if(e){let o=T(e);if(o)return this.cachedData=o,this.toParseConsent(o)}let n=this.migrateLegacyCookie();return n?(this.cachedData=n,this.toParseConsent(n)):null}async readAndVerify(e){let n=this.storage.read(this.cookieName);if(!n){let c=this.migrateLegacyCookie();return c?(this.cachedData=c,this.toParseConsent(c)):null}let o=n.lastIndexOf("::sig:"),i=o!==-1?n.slice(0,o):n,a=o!==-1?n.slice(o+6):void 0,r=T(n);if(!r)return null;if(a){let{verifyValue:c}=await import("./hmac-UKMRMKN6.mjs");if(!await c(i,a,e))return v.warn("Cookie signature mismatch \u2014 consent cleared and banner will re-appear"),this.delete(),null}this.cachedData=r;let s=this.toParseConsent(r);return a?{...s,signature:a}:s}write(e,n={},o){let i=this.buildCookieData(e,n),a=oe(i);o&&(a=`${a}::sig:${o}`),this.storage.write(this.cookieName,a,this.buildCookieOpts()),this.cachedData=i}async writeAndSign(e,n,o={}){let{signValue:i}=await import("./hmac-UKMRMKN6.mjs"),a=this.buildCookieData(e,o),r=oe(a),s=await i(r,n);return this.storage.write(this.cookieName,`${r}::sig:${s}`,this.buildCookieOpts()),this.cachedData=a,s}delete(){let e=this.buildCookieOpts();this.storage.remove(this.cookieName,e),this.deleteLegacyCookies(),this.cachedData=null}hasConsent(){return this.cachedData?!0:this.read()!==null}getConsent(){return this.cachedData?ke(this.cachedData):this.read()?.consent??null}getConsentDate(){if(this.cachedData)return new Date(this.cachedData.t*1e3);let e=this.read();return e?new Date(e.timestamp):!1}getConsentId(){if(this.cachedData)return this.cachedData.i;let e=this.storage.read(this.cookieName);return e?T(e)?.i??null:null}getConsentLocale(){if(this.cachedData)return this.cachedData.l||null;let e=this.storage.read(this.cookieName);return e&&T(e)?.l||null}setInMemory(e){this.cachedData={s:this.profileId,v:this.profileVersion,i:this.cachedData?.i??M("cons"),t:Math.round(Date.now()/1e3),u:this.appUserId??"",g:0,p:0,c:ie(e),l:this.cachedData?.l??"",k:this.cachedData?.k??""}}clearInMemory(){this.cachedData=null}toParseConsent(e){return{timestamp:new Date(e.t*1e3).toISOString(),consent:ke(e)}}buildCookieData(e,n={}){return{s:this.profileId,v:this.profileVersion,i:n.consentId??M("cons"),t:Math.round(Date.now()/1e3),u:this.appUserId??"",g:n.gpcDetected?1:0,p:n.source??0,c:ie(e),l:n.locale??"",k:n.complianceGroup??""}}migrateLegacyCookie(){if(typeof document>"u")return null;let e=`_${this.profileId}`,n=this.storageMode==="localStorage"?typeof localStorage<"u"?Object.keys(localStorage):[]:document.cookie.split(";").map(o=>o.split("=")[0]?.trim()??"");for(let o of n){if(!o.startsWith(`${Ge}_`)||!o.endsWith(e))continue;let i=this.storage.read(o);if(!i)continue;let a=Jt(i);if(!a)continue;let r=o.slice(Ge.length+1,o.length-e.length),s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)?r:"",c={s:this.profileId,v:0,i:M("cons"),t:Math.round(new Date(a.timestamp).getTime()/1e3),u:s,g:0,p:0,c:ie(a.consent),l:"",k:""};return this.storage.write(this.cookieName,oe(c),this.buildCookieOpts()),this.storage.remove(o,this.buildCookieOpts()),v.info(`Migrated consent cookie from "${o}" to "${this.cookieName}"`),c}return null}deleteLegacyCookies(){if(typeof document>"u"||this.storageMode==="localStorage")return;let e=`_${this.profileId}`,n=this.buildCookieOpts();for(let o of document.cookie.split(";")){let i=o.split("=")[0]?.trim()??"";i.startsWith(`${Ge}_`)&&i.endsWith(e)&&this.storage.remove(i,n)}}buildCookieOpts(){let e={path:"/",sameSite:"Lax",maxAge:Wt(this.expiryDays)};if(this.cookieDomains){let n=this.cookieDomains.split(",")[0]?.trim();n&&(e.domain=n)}return e}};var re=class{constructor(e,n){this.profileId=e;this.gtmConfig=n;this.gtmConfig&&this.initConsentMode()}initConsentMode(){if(!d())return;let e=B();if(!e)return;let n=this.gtmConfig,o=n.dataLayer??"dataLayer";Array.isArray(e[o])||(e[o]=[]),typeof e.gtag!="function"&&(e.gtag=((...a)=>{e[o].push(a)}));let i=e.gtag;if(i("consent","default",q({})),n.containerId){let a=o!=="dataLayer"?`&l=${encodeURIComponent(o)}`:"";N({src:`https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(n.containerId)}${a}`,warnPrefix:"GTM"})}}dispatch(e,n){if(!d())return;let o=new CustomEvent(e,{detail:n,bubbles:!0});window.dispatchEvent(o),this.pushToGTM(e,n)}pushToGTM(e,n){let o=this.gtmConfig;if(!o)return;let i=B();if(!i)return;let a=o.dataLayer??"dataLayer",r=i[a];if(Array.isArray(r)&&(o.verbose&&(!o.events||o.events.length===0||o.events.includes(e))&&r.push({event:e,content:n}),e==="consenti:consentSubmitted")){let s=n.consentJson??{},c=typeof i.gtag=="function"?i.gtag:(...l)=>r.push(l);c("consent","update",q(s)),o.urlPassthrough&&c("set","url_passthrough",!0),o.adsDataRedaction&&c("set","ads_data_redaction",s.ad_storage!=="granted")}}};function se(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var at="*";function ce(t,e){if(e===void 0||e===null)return t;if(Array.isArray(t)&&Array.isArray(e)){let n=Math.max(t.length,e.length);return Array.from({length:n},(o,i)=>i>=e.length?t[i]:i>=t.length?e[i]:ce(t[i],e[i]))}if(se(t)&&se(e)){let n=e[at]===null?{}:{...t};for(let o of Object.keys(e)){if(o===at)continue;let i=e[o];if(i===null){delete n[o];continue}n[o]=ce(t[o],i)}return n}return se(e)&&!se(t)&&!Array.isArray(t)?ce({},e):e}function E(t,e){return ce(t,e)}function rt(){return{tz:Intl.DateTimeFormat().resolvedOptions().timeZone,lang:navigator.language,langs:Array.from(navigator.languages)}}function st(t){let e=Intl.DateTimeFormat().resolvedOptions();return btoa(JSON.stringify({timezone:e.timeZone,languages:Array.from(navigator.languages??[]),language:navigator.language??"",locale:t??e.locale??navigator.language??""}))}function Yt(t){return{purpose:t.purpose,...t.listenGpc?{listenGpc:!0}:{},...t.preGrant?{preGrant:!0}:{},...t.cpraCategory?{cpraCategory:t.cpraCategory}:{}}}function Zt(t){let e={};for(let[n,o]of Object.entries(t))e[n]=Yt(o);return e}function Qt(t){return{text:t.text,style:t.style,action:t.action,...t.cookies!==void 0?{cookies:t.cookies}:{}}}function lt(t){let e={};for(let[n,o]of Object.entries(t))e[n]=Qt(o);return e}function Xt(t){return{heading:t.heading,htmlText:t.htmlText,legalBasis:t.legalBasis,...t.legitimateInterestDescription!==void 0?{legitimateInterestDescription:t.legitimateInterestDescription}:{},cookies:t.cookies}}function en(t){let e={};for(let[n,o]of Object.entries(t))e[n]=Xt(o);return e}function ct(t){return{position:t.position,htmlText:t.htmlText,buttons:lt(t.buttons),...t.heading?{heading:t.heading}:{},...t.showClose!==void 0?{showClose:t.showClose}:{},...t.showLocaleSwitcher!==void 0?{showLocaleSwitcher:t.showLocaleSwitcher}:{}}}function tn(t){return{heading:t.heading,htmlText:t.htmlText??"",buttons:lt(t.buttons),categories:en(t.categories),...t.position?{position:t.position}:{},...t.subheading?{subheading:t.subheading}:{},...t.persistent!==void 0?{persistent:t.persistent}:{}}}function nn(t,e,n){if(e){if(t[e])return t[e];let o=e.split("-")[0]??"",i=Object.keys(t).find(a=>a===o||a.startsWith(`${o}-`));if(i)return t[i]}return t[n]??Object.values(t)[0]}function pt(t,e){let n=nn(t.translations,e,t.defaultLocale);return{id:"0",defaultLocale:t.defaultLocale,locales:Object.keys(t.translations),cookies:Zt(t.cookies),...t.expiryDays?{expiryDays:t.expiryDays}:{},mainBanner:ct(n.mainBanner),preferenceModal:tn(n.preferenceModal),gpcMode:t.gpcMode,complianceGroup:t.complianceGroup,...n.gpcBanner?{gpcBanner:ct(n.gpcBanner)}:{},...t.ageGate?{ageGate:t.ageGate}:{},...n.ageGateModal?{ageGateModal:n.ageGateModal}:{}}}var Me=new Map;function dt(t,e){Me.set(t,e)}function on(t){return Me.get(t)}function an(t){for(let e of Me.values())if(e.complianceGroup===t)return e}function le(t){let e=t.gpcMode,n="ignore";return typeof e=="boolean"?n=e?"honor":"ignore":e&&(n=e),{id:t.id,...t.version!==void 0?{version:t.version}:{},defaultLocale:t.defaultLocale,locales:t.locales,cookies:t.cookies,mainBanner:t.mainBanner,allowReceipt:t.allowReceipt??!1,preferenceModal:t.preferenceModal,...t.expiryDays?{expiryDays:t.expiryDays}:{},...t.gpcBanner?{gpcBanner:t.gpcBanner}:{},...n?{gpcMode:n}:{},...t.darkMode!==void 0?{darkMode:t.darkMode}:{},...t.resolvedComplianceGroup??t.complianceGroup?{complianceGroup:t.resolvedComplianceGroup??t.complianceGroup}:{},...t.complianceConfig?{complianceConfig:t.complianceConfig}:{},...t.dpdpa?{dpdpa:t.dpdpa}:{},...t.ageGate?{ageGate:t.ageGate}:{},...t.ageGateModal?{ageGateModal:t.ageGateModal}:{},...t.hidePoweredBy!==void 0?{hidePoweredBy:t.hidePoweredBy}:{},...t.showFooterMetadata!==void 0?{showFooterMetadata:t.showFooterMetadata}:{},...t.enhanceAccessibility!==void 0?{enhanceAccessibility:t.enhanceAccessibility}:{}}}var ut="__consenti_resolved_",rn=3600*1e3;function sn(t,e,n){if(!n)return null;let o=`${ut}${t}_${e}`;try{let i=sessionStorage.getItem(o);if(!i)return null;let a=JSON.parse(i);return Date.now()>a.expiresAt?(sessionStorage.removeItem(o),null):a}catch{return null}}function cn(t,e,n,o){if(!n)return;let i=`${ut}${t}_${e}`;try{sessionStorage.setItem(i,JSON.stringify({...o,expiresAt:Date.now()+rn}))}catch{}}function pe(t,e){if(e)return!0;let n=t.allowedOrigins;if(!n||n.length===0)return!0;let o=window.location.origin;return n.some(i=>i===o||i==="*")}async function J(t,e){let{DEFAULT_PROFILES:n}=await import("./profiles-5ZLWWN2L.mjs"),o=n[t];return o?pt(o,"en"):null}function mt(t,e){let n=e.core?.usePrebuiltProfiles??"all";return n==="all"?!0:n.includes(t)}var Pe;function ln(){if(Pe)return Pe;let t=new Map,e=I.countries;for(let[n,o]of Object.entries(e))for(let i of o.timezones??[]){let a=t.get(i)??[];a.push(n),t.set(i,a)}return Pe=t,t}function pn(t){let e=t.replace(/_/g,"-").split("-"),n=e.length>=2?e[e.length-1]?.toUpperCase():void 0;return n&&/^[A-Z]{2}$/.test(n)&&n in I.countries?n:void 0}function dn(t,e){let n=ln().get(t)??[],o=e.map(pn).filter(i=>!!i);return n.length===1?n[0]:n.length>1?o.find(i=>n.includes(i))??n[0]:o[0]}function un(t,e,n){let o=dn(t,e);if(n&&o){let s=n.countries[o];if(s)return s.default??s.complianceGroup}let i=I.countries,a=o?i[o]:void 0;if(a?.default)return a.default;let r=t.split("/");return r[0]==="Europe"?"opt-in":r[0]==="America"?"opt-out":"opt-in"}function mn(t,e,n){if(!t)return"opt-in";if(n){let r=n.countries[t];if(r)return(e?r.overriddenRegions?.[e]?.complianceGroup:void 0)??r.default??r.complianceGroup}let i=I.countries[t];return i?(e?i.overriddenRegions?.[e]?.complianceGroup:void 0)??i.default??i.complianceGroup:"opt-in"}function Y(t){let e=t.core?.locale;if(e&&e!=="auto")return e;let n=ot(t.core?.storage??"cookie",t.core?.cookieName);return n||navigator.language}function gt(t){return t.api?.tenantId??t.core?.tenantId??"default"}async function V(t,e){try{return await j(t,{},e)}catch{return null}}function ft(t){let e=t;return{...e.id!==void 0?{id:e.id}:{},...e.defaultLocale!==void 0?{defaultLocale:e.defaultLocale}:{},...e.expiryDays!==void 0?{expiryDays:e.expiryDays}:{},...e.cookies!==void 0?{cookies:e.cookies}:{},...e.mainBanner!==void 0?{mainBanner:e.mainBanner}:{},...e.gpcBanner!==void 0?{gpcBanner:e.gpcBanner}:{},...e.preferenceModal!==void 0?{preferenceModal:e.preferenceModal}:{},...e.darkMode!==void 0?{darkMode:e.darkMode}:{},...e.allowedOrigins!==void 0?{allowedOrigins:e.allowedOrigins}:{},...e.dpdpa!==void 0?{dpdpa:e.dpdpa}:{},...e.ageGate!==void 0?{ageGate:e.ageGate}:{},...e.ageGateModal!==void 0?{ageGateModal:e.ageGateModal}:{},...e.complianceGroup!==void 0?{complianceGroup:e.complianceGroup}:{},...e.gpcMode!==void 0?{gpcMode:e.gpcMode}:{},...e.hidePoweredBy!==void 0?{hidePoweredBy:e.hidePoweredBy}:{},...e.allowReceipt!==void 0?{allowReceipt:e.allowReceipt}:{},...e.complianceConfig!==void 0?{complianceConfig:e.complianceConfig}:{},...e.showFooterMetadata!==void 0?{showFooterMetadata:e.showFooterMetadata}:{},...e.enhanceAccessibility!==void 0?{enhanceAccessibility:e.enhanceAccessibility}:{}}}async function yt(t,e){let n=an(t);if(n){if(n.deepMerge){let o=await J(t,e),i=ft(n);return o?E(o,i):i}return vt(n,e)}}async function W(t){let{map:e}=await ze(t.compliance?.complianceMap,c=>v.warn(c)),n=e===I?void 0:e,o=t.compliance?.geoDataProvider,i;if(typeof o=="function"){let c=await o();i=c.complianceGroup?c.complianceGroup:mn(c.country,c.region,n)}else{let{tz:c,lang:l,langs:p}=rt();i=un(c,p.length?p:[l],n)}let a=Y(t),r=await yt(i,a);if(r)return r;if(!mt(i,t))throw new Error(`Pre-built profile for complianceGroup "${i}" is disallowed by usePrebuiltProfiles config.`);let s=await J(i,a);if(!s)throw new Error(`No embedded profile found for complianceGroup "${i}".`);return s}async function Se(t,e){let n=Y(e),o=await yt(t,n);if(o)return o;if(!mt(t,e))throw new Error(`Pre-built profile for complianceGroup "${t}" is disallowed by usePrebuiltProfiles config.`);let i=await J(t,n);if(!i)throw new Error(`No embedded profile found for complianceGroup "${t}".`);return i}async function ht(t){let e=Y(t),n=gt(t),o=t.core?.cacheResolvedProfiles!==!1,i=t.api?.baseUrl??window.location.origin,a=t.api?.trustDomain??!1,r=sn(n,e,o);if(r){let u=await V(r.filePath,t.api?.authToken);if(u)return pe(u,a)?{...le(u),complianceGroup:r.complianceGroup,...r.requiresSensitiveOptIn?{requiresSensitiveOptIn:!0}:{}}:(v.error(`Domain ${window.location.origin} is not in allowedOrigins for this profile. Falling back to pre-built profile.`),W(t))}let s=it(t.core?.storage??"cookie",t.core?.cookieName);if(s){let u=await V(`${i}/consenti/api/v1/profiles/${n}/${s}/${encodeURIComponent(e)}`,t.api?.authToken)??await V(`${i}/consenti/api/v1/profiles/${n}/${s}/default`,t.api?.authToken);if(u&&pe(u,a))return{...le(u),complianceGroup:s}}let c=`${i}/consenti/api/v1/resolve-profile?data=${encodeURIComponent(st(e))}`,l,p,m,f;try{let u=await j(c,{},t.api?.authToken);l=u.path,p=u.complianceGroup,m=u.locale,f=u.requiresSensitiveOptIn,u.found&&l&&cn(n,e,o,{filePath:`${i}${l}`,version:0,complianceGroup:p,tenantId:n,locale:m,...f?{requiresSensitiveOptIn:!0}:{}})}catch{return v.warn("resolve-profile failed; falling back to pre-built profile."),W(t)}if(l){let u=await V(`${i}${l}`,t.api?.authToken);if(u&&pe(u,a))return{...le(u),complianceGroup:p,...f?{requiresSensitiveOptIn:!0}:{}}}if(p){let u=await J(p,m);if(u)return{...u,...f?{requiresSensitiveOptIn:!0}:{}}}return W(t)}async function gn(t,e){let n=Y(e),o=gt(e),i=e.api?.baseUrl??window.location.origin,a=e.api?.trustDomain??!1,r=e.api?.complianceGroup??t,s=await V(`${i}/consenti/api/v1/profiles/${o}/${r}/${encodeURIComponent(n)}`,e.api?.authToken)??await V(`${i}/consenti/api/v1/profiles/${o}/${r}/default`,e.api?.authToken);return s?pe(s,a)?{...le(s),complianceGroup:r}:(v.error(`Domain ${window.location.origin} is not in allowedOrigins for this profile. Falling back to pre-built profile.`),Se(r,e)):(v.warn(`Could not fetch profile for ${r}; falling back to pre-built.`),Se(r,e))}function vt(t,e,n){let o=t.translations?.[e];if(o===void 0)return e!==t.defaultLocale&&v.warn(`Unable to resolve requested locale "${e}" of profile "${n??t.id}", Using default "${t.defaultLocale}".`),{id:t.id,gpcMode:t.gpcMode??"ignore",allowReceipt:t.allowReceipt??!1,defaultLocale:t.defaultLocale,locales:[t.defaultLocale,...Object.keys(t.translations??{})],cookies:t.cookies??{},...t.expiryDays?{expiryDays:t.expiryDays}:{},mainBanner:t.mainBanner,...t.gpcBanner?{gpcBanner:t.gpcBanner}:{},preferenceModal:t.preferenceModal,...t.darkMode!==void 0?{darkMode:t.darkMode}:{},...t.complianceGroup?{complianceGroup:t.complianceGroup}:{},...t.ageGate?{ageGate:t.ageGate}:{},...t.ageGateModal?{ageGateModal:t.ageGateModal}:{}};let i=E(t.mainBanner,o.mainBanner),a=t.gpcBanner?E(t.gpcBanner,o.gpcBanner??{}):!1,r=E(t.preferenceModal??{},o.preferenceModal??{}),s=t.ageGateModal?E(t.ageGateModal,o.ageGateModal??{}):void 0;return{id:t.id,gpcMode:t.gpcMode??"ignore",allowReceipt:t.allowReceipt??!1,defaultLocale:t.defaultLocale,locales:[t.defaultLocale,...Object.keys(t.translations??{})],cookies:t.cookies??{},...t.expiryDays?{expiryDays:t.expiryDays}:{},mainBanner:i,...a?{gpcBanner:a}:{},preferenceModal:r,...t.darkMode!==void 0?{darkMode:t.darkMode}:{},...t.complianceGroup?{complianceGroup:t.complianceGroup}:{},...t.ageGate?{ageGate:t.ageGate}:{},...s?{ageGateModal:s}:{}}}async function fn(t,e){e.api?.enabled&&v.warn("Local profile used instead of server profile. Check compliance.type config.");let n=Y(e),o=on(t);if(o){if(o.deepMerge&&o.complianceGroup){let i=await J(o.complianceGroup,n),a=ft(o);return i?E(i,a):a}return vt(o,n,t.description)}return v.error(`Unable to resolve locally registered profile "${t.description}", Using compliance.type: 'auto'.`),e.api?.enabled?ht(e):W(e)}async function bt(t){let e=t.compliance?.type??"auto",n=t.api?.enabled??!1;return n&&t.compliance?.complianceMap&&v.warn("compliance.complianceMap is ignored when api.enabled is true \u2014 the server resolves the compliance group."),n&&t.compliance?.geoDataProvider&&v.warn("compliance.geoDataProvider (widget config) is ignored when api.enabled is true \u2014 configure compliance.geoDataProvider on the @consenti/api server instead, the server resolves the compliance group."),e==="auto"?n?ht(t):W(t):typeof e=="symbol"?fn(e,t):n?gn(e,t):Se(e,t)}function L(){let t=He();return t?"globalPrivacyControl"in t&&t.globalPrivacyControl===!0:!1}function Ct(t,e,n,o){if(o==="ignore"||!L())return{...n};let i={...n},a=$(e);for(let[r,s]of Object.entries(t))S(r,a)||s.listenGpc&&(i[r]=ye(r,a)==="legitimate_interest"?"objected":"denied");for(let r of Object.keys(t))S(r,a)&&(i[r]="granted");return i}var _t=5,yn="2.3";function hn(t,e){let n=new Set,o=new Set;if(t&&e){for(let[i,a]of Object.entries(t.cookies))if(!(e[i]!=="granted"||!a.tcfVendorId)){o.add(a.tcfVendorId);for(let r of a.tcfPurposes??[])n.add(r)}}return{purposeConsents:Array.from(n).sort((i,a)=>i-a),vendorConsents:Array.from(o).sort((i,a)=>i-a)}}function de(t,e){let n={};for(let o=1;o<=e;o++)n[o]=t.includes(o);return n}function wt(t){if(!d())return;let e=B();if(!e||!t().tcfConfig?.enabled||e.__tcfapi)return;let n=new Map,o=0;function i(l){let{profile:p,consent:m,tcfConfig:f}=t(),u=f??{enabled:!1,cmpId:0,cmpVersion:0},{purposeConsents:g,vendorConsents:h}=hn(p,m),b=p?.complianceGroup==="opt-in";return{tcString:Be({cmpId:u.cmpId,cmpVersion:u.cmpVersion,consentScreen:1,consentLanguage:"en",vendorListVersion:u.vendorListVersion??0,purposeConsents:g,vendorConsents:h}),tcfPolicyVersion:_t,cmpId:u.cmpId,cmpVersion:u.cmpVersion,gdprApplies:b,eventStatus:m?"tcloaded":"cmpuishown",cmpStatus:"loaded",isServiceSpecific:!0,useNonStandardStacks:!1,publisherCC:u.publisherCC??"AA",purposeOneTreatment:!1,...l!==void 0?{listenerId:l}:{},purpose:{consents:de(g,10),legitimateInterests:de([],10)},vendor:{consents:de(h,Math.max(0,...h)),legitimateInterests:de([],0)}}}function a(){for(let[l,p]of n)p(i(l),!0)}function r(l,p,m,f){switch(l){case"ping":{let{profile:u,consent:g,tcfConfig:h}=t();m({gdprApplies:u?.complianceGroup==="opt-in",cmpLoaded:!0,cmpStatus:"loaded",displayStatus:g?"hidden":"visible",apiVersion:yn,cmpVersion:h?.cmpVersion??0,cmpId:h?.cmpId??0,gvlVersion:h?.gvlVersion??0,tcfPolicyVersion:_t},!0);return}case"getTCData":m(i(),!0);return;case"addEventListener":{let u=++o;n.set(u,m),m(i(u),!0);return}case"removeEventListener":{let u=typeof f=="number"?f:void 0,g=u!==void 0&&n.delete(u);m(g,g);return}}}let s=e.__tcfapi?.a??[],c=((l,p,m,f)=>{r(l,p,m,f)});c.a=[],e.__tcfapi=c,window.addEventListener("consenti:consentSubmitted",a);for(let[l,p,m,f]of s)r(l,p,m,f)}var kt="1.1",Ee=7;function vn(t,e){let n=!1,o=!1,i=!0,a=!0;if(t&&e)for(let[r,s]of Object.entries(t.cookies))s.cpraCategory==="sale"&&(n=!0,e[r]==="granted"&&(i=!1)),s.cpraCategory==="sharing"&&(o=!0,e[r]==="granted"&&(a=!1));return{saleApplicable:n,sharingApplicable:o,saleOptOut:i,sharingOptOut:a}}function At(t){if(!d())return;let e=B();if(!e||!t().gppConfig?.enabled||e.__gpp)return;let n=new Map,o=0;function i(){let{profile:p,consent:m,gppConfig:f}=t(),u=f??{enabled:!1,cmpId:0,cmpVersion:0,mspaCoveredTransaction:!1,mspaOptOutOptionMode:0,mspaServiceProviderMode:0},{saleApplicable:g,sharingApplicable:h,saleOptOut:b,sharingOptOut:A}=vn(p,m);return Ne({cmpId:u.cmpId,cmpVersion:u.cmpVersion,mspaCoveredTransaction:u.mspaCoveredTransaction,mspaOptOutOptionMode:u.mspaOptOutOptionMode,mspaServiceProviderMode:u.mspaServiceProviderMode,saleOptOut:b,saleApplicable:g,sharingOptOut:A,sharingApplicable:h,gpcDetected:L()})}function a(){let{consent:p,gppConfig:m}=t();return{gppVersion:kt,cmpStatus:"loaded",cmpDisplayStatus:p?"hidden":"visible",signalStatus:p?"ready":"not ready",supportedAPIs:[`${Ee}:usnat`],cmpId:m?.cmpId??0,sectionList:[Ee],applicableSections:[Ee],gppString:i(),parsedSections:{}}}function r(){for(let[p,m]of n)m({...a(),listenerId:p,pingData:a()},!0)}function s(p,m,f){switch(p){case"ping":m(a(),!0);return;case"addEventListener":{let u=++o;n.set(u,m),m({...a(),listenerId:u,pingData:a()},!0);return}case"removeEventListener":{let u=typeof f=="number"?f:void 0,g=u!==void 0&&n.delete(u);m(g,g);return}case"getSection":m(f==="usnat"?i():null,f==="usnat");return;case"hasSection":m(f==="usnat",!0);return}}let c=e.__gpp?.queue??[],l=((p,m,f)=>{s(p,m,f)});l.queue=[],l.gppVersion=kt,e.__gpp=l,window.addEventListener("consenti:consentSubmitted",r);for(let[p,m,f]of c)s(p,m,f)}function ue(t,e,n){let o=document.createElement("button");return o.type="button",t&&(o.id=t),o.className=`consenti-btn consenti-btn--${e.style}`,o.textContent=e.text,o.addEventListener("click",()=>{switch(e.action){case"custom":{let i=e.cookies;i==="*"?n.onGrantAll():i==="!"?n.onDenyAll():Array.isArray(i)&&i.length>0&&n.onGrantSpecific(i);break}case"submit":n.onSubmit();break;case"manage":n.onManage();break;case"close":n.onClose();break}}),o}function H(t,e){let n=document.createElement("div");return n.className="consenti-overlay",n.style.opacity=String(t/100),n.setAttribute("aria-hidden","true"),e&&n.addEventListener("click",e),n}var me=class{constructor(){this.el=null;this.overlayEl=null}build(e,n,o,i,a,r,s=!0,c="main"){let l=document.createElement("div");l.id="consenti-banner",l.className=`consenti-banner consenti-banner--${c} consenti-banner--${e.position}`,l.setAttribute("role","region"),l.setAttribute("aria-label","Cookie consent"),l.setAttribute("aria-live","polite");let p=document.createElement("div");p.className="consenti-banner__text-container";let m=document.createElement("div");if(m.className="consenti-banner__links",e.heading){let y=e.headingTag??"div",_=document.createElement(y);_.id="consenti-banner-heading",_.className="consenti-banner__heading",_.textContent=e.heading,p.appendChild(_)}let f=document.createElement("div");if(f.className="consenti-banner__text",f.innerHTML=e.htmlText,o){let y=document.createElement("a");y.href=o,y.className="consenti-banner__link consenti-banner__link--privacy consenti-btn consenti-btn--text",y.textContent="Privacy Policy",y.setAttribute("target","_blank"),y.setAttribute("rel","noopener noreferrer"),m.appendChild(y)}p.appendChild(f);let u=Object.entries(e.buttons),g=u.filter(y=>y[1].action==="link");if(g.length>0)for(let[,y]of g){if(!y.url)continue;let _=document.createElement("a");_.href=y.url,_.className=`consenti-banner__link consenti-btn consenti-btn--${y.style??"text"}`,_.textContent=y.text,_.setAttribute("target","_blank"),_.setAttribute("rel","noopener noreferrer"),m.appendChild(_)}(g.length>0||o)&&p.appendChild(m),l.appendChild(p);let h=u.filter(([,y])=>y.action!=="link");if(h.length>0){let y=document.createElement("div");y.className="consenti-banner__buttons";for(let[_,G]of h)y.appendChild(ue(_,G,n));l.appendChild(y)}let b=e.showClose,A=e.showLocaleSwitcher&&i&&i.length>0;if(b||A){let y=document.createElement("div");if(y.className="consenti-banner__controls",A&&i&&r&&y.appendChild(bn(i,a,r)),b){let _=document.createElement("button");_.type="button",_.className="consenti-banner__close consenti-btn consenti-transition-1_2x consenti-btn--action",_.setAttribute("aria-label","Close cookie banner"),_.textContent="\xD7",_.addEventListener("click",n.onClose),y.appendChild(_)}l.appendChild(y)}e.overlayOpacity&&e.overlayOpacity>0&&(this.overlayEl=H(e.overlayOpacity));let P=document.createElement("a");return P.href="https://consenti.dev/?utm_source=widget&utm_medium=powered-by&utm_campaign=consenti-ui",P.className="consenti__powered-by",P.textContent="Powered by Consenti \u2197",P.setAttribute("target","_blank"),P.setAttribute("rel","noopener noreferrer"),s&&P.classList.add("consenti-d-none"),l.appendChild(P),this.el=l,l}getOverlay(){return this.overlayEl}show(){this.el&&(this.el.style.display=""),this.overlayEl&&(this.overlayEl.style.display="")}hide(){this.el&&(this.el.style.display="none"),this.overlayEl&&(this.overlayEl.style.display="none")}remove(){this.el?.remove(),this.overlayEl?.remove(),this.el=null,this.overlayEl=null}};function bn(t,e,n){let o=document.createElement("div");o.className="consenti-locale-switcher";let i=document.createElement("button");i.type="button",i.className="consenti-locale-switcher__btn consenti-btn consenti-transition-1_2x consenti-btn--action",i.setAttribute("aria-label","Switch language"),i.setAttribute("aria-haspopup","listbox"),i.textContent="\u{1F310}";let a=document.createElement("ul");a.className="consenti-locale-switcher__list",a.setAttribute("role","listbox"),a.setAttribute("aria-label","Select language"),a.hidden=!0;for(let r of t){let s=document.createElement("li");s.setAttribute("role","option"),s.setAttribute("aria-selected",String(r===e));let c=document.createElement("button");c.type="button",c.className=`consenti-locale-switcher__option${r===e?" consenti-locale-switcher__option--active":""}`,c.textContent=r,c.addEventListener("click",l=>{l.stopPropagation(),a.hidden=!0,r!==e&&n(r)}),s.appendChild(c),a.appendChild(s)}return i.addEventListener("click",r=>{r.stopPropagation(),a.hidden=!a.hidden}),document.addEventListener("click",()=>{a.hidden=!0},{capture:!0,once:!1}),o.appendChild(i),o.appendChild(a),o}var Cn=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");function Gt(t){let e=()=>Array.from(t.querySelectorAll(Cn)).filter(i=>!i.closest('[aria-hidden="true"]')),n=i=>{if(i.key!=="Tab")return;let a=e();if(a.length===0)return;let r=a[0],s=a[a.length-1];i.shiftKey?(document.activeElement===r||document.activeElement===t)&&(i.preventDefault(),s.focus()):document.activeElement===s&&(i.preventDefault(),r.focus())},o=i=>{i.key==="Escape"&&t.dispatchEvent(new CustomEvent("consenti:closeRequest",{bubbles:!0}))};return document.addEventListener("keydown",n),document.addEventListener("keydown",o),e()[0]?.focus(),()=>{document.removeEventListener("keydown",n),document.removeEventListener("keydown",o)}}var ge=class t{constructor(){this.el=null;this.triggerEl=null;this.trapCleanup=null;this.toggleState=new Map;this.paramToggles=new Map;this.categoryToggles=new Map;this.categoryDisclosures=new Map;this.receiptCheckbox=null;this.passthrough=!1;this.mobileBreakpoint=576;this.savedBodyOverflow=void 0}build(e,n,o,i,a,r,s,c,l,p=!0){this.mobileBreakpoint=e.mobileFullScreenBreakpoint??576;let m=e.position??"center",f=document.createElement("div");f.id="consenti-modal",f.className=`consenti-modal consenti-modal--${m}`,f.setAttribute("role","dialog"),f.setAttribute("aria-modal","true");let u=e.overlayOpacity??50;if(this.passthrough=u===0,u>0){let C=e.persistent?void 0:()=>i.onClose(),w=H(u,C);w.className="consenti-modal__overlay",f.appendChild(w)}else f.classList.add("consenti-modal--passthrough");let g=document.createElement("div");g.className="consenti-modal__container";let h=document.createElement("div");h.className="consenti-modal__header";let b=document.createElement("div");if(b.className="consenti-modal__body",e.heading){let C=e.headingTag??"div",w=document.createElement(C);w.id="consenti-modal-heading",w.className="consenti-modal__heading",w.textContent=e.heading,h.appendChild(w),f.setAttribute("aria-labelledby","consenti-modal-heading")}if(e.subheading){let C=document.createElement("p");C.className="consenti-modal__subheading",C.textContent=e.subheading,h.appendChild(C)}let A=e.showClose!==!1,P=e.showLocaleSwitcher&&s&&s.length>0;if(P||A){let C=document.createElement("div");if(C.className="consenti-modal__header-controls",P&&s&&l&&C.appendChild(_n(s,c,l)),A){let w=document.createElement("button");w.type="button",w.className="consenti-modal__close consenti-transition-1_2x consenti-btn consenti-btn--action",w.setAttribute("aria-label","Close preference modal"),w.textContent="\xD7",w.addEventListener("click",i.onClose),C.appendChild(w)}h.appendChild(C)}if(g.appendChild(h),e.htmlText){let C=document.createElement("div");C.className="consenti-modal__text",C.innerHTML=e.htmlText,b.appendChild(C)}let y=Object.entries(e.buttons),_=y.filter(C=>C[1].action==="link");if(_.length>0){let C=document.createElement("div");C.className="consenti-modal__links";for(let[,w]of _){if(!w.url)continue;let x=document.createElement("a");x.href=w.url,x.className=`consenti-modal__link consenti-btn consenti-btn--${w.style??"text"}`,x.textContent=w.text,x.setAttribute("target","_blank"),x.setAttribute("rel","noopener noreferrer"),C.appendChild(x)}h.appendChild(C)}let G=document.createElement("div");G.className="consenti-modal__categories";for(let[C,w]of Object.entries(e.categories)){let x=this.buildCategory(C,w,n,o);G.appendChild(x)}if(b.appendChild(G),g.appendChild(b),a&&b.appendChild(this.buildReceiptOption(e.receiptLabel,e.receiptDescription)),e.showForgetMe&&Object.keys(o).length>0&&b.appendChild(this.buildForgetMeOption(e.forgetMeLabel,i.onForgetMe)),r){let C=document.createElement("div");C.className="consenti-modal__dpdpa-notice";let w=Mt=>Mt.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),x=r.grievanceEmail.includes("@")&&!r.grievanceEmail.toLowerCase().startsWith("javascript:")?r.grievanceEmail:"";C.innerHTML=[`<strong>Data Fiduciary:</strong> ${w(r.dataFiduciary)}.`,r.purposeDescription?` <strong>Purpose:</strong> ${w(r.purposeDescription)}.`:""," You may withdraw consent at any time or contact our Grievance Officer at",x?` <a href="mailto:${w(x)}">${w(x)}</a>.`:"."].join(""),g.appendChild(C)}let O=document.createElement("div");O.className="consenti-modal__buttons";for(let[C,w]of y.filter(([,x])=>x.action!=="link"))O.appendChild(ue(C,w,i));g.appendChild(O);let z=document.createElement("a");z.href="https://consenti.dev/?utm_source=widget&utm_medium=powered-by&utm_campaign=consenti-ui",z.className="consenti__powered-by",z.textContent="Powered by Consenti \u2197",z.setAttribute("target","_blank"),z.setAttribute("rel","noopener noreferrer"),p&&z.classList.add("consenti-d-none"),b.appendChild(z),f.appendChild(g),f.addEventListener("consenti:closeRequest",()=>i.onClose()),this.el=f}static appendToggleIcons(e,n){n&&e.classList.add("consenti-toggle--li");let o=document.createElement("span");o.className="consenti-category__toggle-icon consenti-category__toggle-icon--check",o.setAttribute("aria-hidden","true"),o.innerHTML='<svg viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.5 5L4 7.5L8.5 2.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>',e.appendChild(o);let i=document.createElement("span");if(i.className="consenti-category__toggle-icon consenti-category__toggle-icon--cross",i.setAttribute("aria-hidden","true"),i.innerHTML='<svg viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8 8M8 2L2 8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>',e.appendChild(i),n){let r=document.createElement("span");r.className="consenti-category__toggle-icon consenti-category__toggle-icon--objected",r.setAttribute("aria-hidden","true"),r.innerHTML='<svg viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="5" cy="5" r="3.5" stroke="currentColor" stroke-width="1.4"/><path d="M2.5 2.5L7.5 7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>',e.appendChild(r)}let a=document.createElement("span");a.className="consenti-category__toggle-knob",a.setAttribute("aria-hidden","true"),e.appendChild(a)}computeRollup(e,n){let o=n?"objected":"denied",i=e.map(a=>this.toggleState.get(a));return i.every(a=>a==="granted")?"allowed":i.every(a=>a===o||a===void 0)?"denied":"mixed"}updateCategoryToggleVisual(e){let n=this.categoryToggles.get(e);if(!n)return;let o=this.computeRollup(n.cookieIds,n.isLI),i=o==="allowed"?"true":o==="denied"?"false":"mixed";n.el.setAttribute("aria-checked",i),n.el.classList.toggle("consenti-category__toggle--partial",o==="mixed")}buildParamRow(e,n,o,i,a){let r=document.createElement("div");r.className="consenti-category__param";let s=document.createElement("div");s.className="consenti-category__param-info";let c=document.createElement("span");c.className="consenti-category__param-label",c.textContent=n,s.appendChild(c);let l=document.createElement("span");l.className="consenti-category__param-meta";let p=[];o?.purpose&&p.push(o.purpose),o?.cpraCategory&&p.push(`CPRA: ${o.cpraCategory}`),o?.tcfVendorId!=null&&p.push(`TCF Vendor #${o.tcfVendorId}`),l.textContent=p.join(" \xB7 "),p.length&&s.appendChild(l),r.appendChild(s);let m=a?"objected":"denied",u=(this.toggleState.get(n)??m)==="granted",g=document.createElement("button");return g.type="button",g.className=`consenti-category__param-toggle${i?" consenti-category__param-toggle--mandatory":""}`,g.setAttribute("role","switch"),g.setAttribute("aria-checked",String(u)),g.setAttribute("aria-label",n),i&&(g.setAttribute("aria-disabled","true"),g.disabled=!0),t.appendToggleIcons(g,a),i||g.addEventListener("click",()=>{let h=this.toggleState.get(n)==="granted"?m:"granted";this.toggleState.set(n,h),g.setAttribute("aria-checked",String(h==="granted")),this.updateCategoryToggleVisual(e)}),this.paramToggles.set(n,g),r.appendChild(g),r}buildCategory(e,n,o,i){let a=n.legalBasis==="legitimate_interest",r=n.legalBasis==="mandatory",s=a?"objected":"denied";for(let y of n.cookies){let _=i[y],G;_!==void 0?G=_:r||a?G="granted":G=o[y]?.preGrant?"granted":"denied",this.toggleState.set(y,G)}let c=document.createElement("div");c.className=`consenti-category${r?" consenti-category--mandatory":""}`;let l=document.createElement("div");l.className="consenti-category__header";let p=n.headingTag??"div",m=document.createElement(p);m.id=`consenti-cat-${e}-heading`,m.className="consenti-category__heading",m.textContent=n.heading,l.appendChild(m);let f=this.computeRollup(n.cookies,a),u=document.createElement("button");if(u.type="button",u.className=`consenti-category__toggle${r?" consenti-category__toggle--mandatory":""}${f==="mixed"?" consenti-category__toggle--partial":""}`,u.setAttribute("role","checkbox"),u.setAttribute("aria-checked",f==="allowed"?"true":f==="denied"?"false":"mixed"),u.setAttribute("aria-labelledby",`consenti-cat-${e}-heading`),r&&(u.setAttribute("aria-disabled","true"),u.disabled=!0),t.appendToggleIcons(u,a),this.categoryToggles.set(e,{el:u,cookieIds:n.cookies,isLI:a}),r||u.addEventListener("click",()=>{let _=this.computeRollup(n.cookies,a)==="allowed"?s:"granted";for(let G of n.cookies){this.toggleState.set(G,_);let O=this.paramToggles.get(G);O&&!O.disabled&&O.setAttribute("aria-checked",String(_==="granted"))}this.updateCategoryToggleVisual(e)}),l.appendChild(u),c.appendChild(l),a&&n.legitimateInterestDescription){let y=document.createElement("p");y.className="consenti-category__li-desc",y.textContent=n.legitimateInterestDescription,c.appendChild(y)}let g=document.createElement("div");g.className="consenti-category__text-wrap";let h=document.createElement("div");h.className="consenti-category__text consenti-category__text--clamped",h.innerHTML=n.htmlText,g.appendChild(h);let b=document.createElement("button");b.type="button",b.className="consenti-category__show-more consenti-d-none",b.setAttribute("aria-expanded","false"),b.textContent="Show more",g.appendChild(b),c.appendChild(g);let A=document.createElement("div");A.className="consenti-category__params";for(let y of n.cookies)A.appendChild(this.buildParamRow(e,y,o[y],r,a));let P=n.cookies.length>1;return A.classList.add("consenti-d-none"),c.appendChild(A),b.addEventListener("click",()=>{let y=!h.classList.toggle("consenti-category__text--clamped");P&&A.classList.toggle("consenti-d-none",!y),b.setAttribute("aria-expanded",String(y)),b.textContent=y?"Show less":"Show more"}),this.categoryDisclosures.set(e,{text:h,toggle:b,params:P?A:null}),c}buildReceiptOption(e,n){let o=document.createElement("div");o.className="consenti-modal__receipt-option";let i=document.createElement("label");i.className="consenti-modal__receipt-label";let a=document.createElement("input");a.type="checkbox",a.className="consenti-modal__receipt-checkbox",a.id="consenti-receipt-checkbox",a.setAttribute("aria-describedby","consenti-receipt-desc"),this.receiptCheckbox=a,i.appendChild(a),i.append(" "+(e??"Get a copy of my consent choices (JSON)")),o.appendChild(i);let r=document.createElement("p");return r.id="consenti-receipt-desc",r.className="consenti-modal__receipt-desc",r.textContent=n??"A JSON file will be downloaded to your device when you save your preferences.",o.appendChild(r),o}buildForgetMeOption(e,n){let o=document.createElement("div");o.className="consenti-modal__forget-me";let i=document.createElement("button");return i.type="button",i.id="consenti-forget-me",i.className="consenti-btn consenti-btn--text consenti-modal__forget-me-btn",i.textContent=e??"Forget me",i.addEventListener("click",()=>{window.confirm("Erase your stored consent record? This cannot be undone.")&&n()}),o.appendChild(i),o}open(e,n){if(!this.el)return;this.triggerEl=e??document.activeElement,this.receiptCheckbox&&(this.receiptCheckbox.checked=!1);let o=this.mobileBreakpoint>0&&window.innerWidth<=this.mobileBreakpoint;o?this.el.classList.add("consenti-modal--fullscreen"):this.el.classList.remove("consenti-modal--fullscreen"),(n??document.body).appendChild(this.el),(!this.passthrough||o)&&(this.savedBodyOverflow=document.body.style.overflow,document.body.style.overflow="hidden"),this.passthrough||(this.trapCleanup=Gt(this.el)),this.resetCategoryDisclosures()}resetCategoryDisclosures(){for(let{text:e,toggle:n,params:o}of this.categoryDisclosures.values()){e.classList.add("consenti-category__text--clamped"),o?.classList.add("consenti-d-none"),n.setAttribute("aria-expanded","false"),n.textContent="Show more";let i=e.scrollHeight>e.clientHeight+1;n.classList.toggle("consenti-d-none",!(i||o!==null))}}close(){this.trapCleanup?.(),this.trapCleanup=null,this.savedBodyOverflow!==void 0&&(document.body.style.overflow=this.savedBodyOverflow,this.savedBodyOverflow=void 0),this.el?.remove(),this.triggerEl?.focus(),this.triggerEl=null}isOpen(){return this.el?.isConnected===!0}isReceiptRequested(){return this.receiptCheckbox?.checked??!1}getToggleConsent(e){let n={};for(let o of Object.values(e)){let i=o.legalBasis==="legitimate_interest",a=o.legalBasis==="mandatory",r=a?"granted":i?"objected":"denied";for(let s of o.cookies)n[s]=a?"granted":this.toggleState.get(s)??r}return n}destroy(){this.trapCleanup?.(),this.savedBodyOverflow!==void 0&&(document.body.style.overflow=this.savedBodyOverflow,this.savedBodyOverflow=void 0),this.el?.remove(),this.el=null,this.paramToggles.clear(),this.categoryToggles.clear(),this.categoryDisclosures.clear(),this.toggleState.clear(),this.receiptCheckbox=null}};function _n(t,e,n){let o=document.createElement("div");o.className="consenti-locale-switcher consenti-locale-switcher--modal";let i=document.createElement("button");i.type="button",i.className="consenti-locale-switcher__btn consenti-btn consenti-btn--action consenti-transition-1_2x",i.setAttribute("aria-label","Switch language"),i.setAttribute("aria-haspopup","listbox"),i.textContent="\u{1F310}";let a=document.createElement("ul");a.className="consenti-locale-switcher__list",a.setAttribute("role","listbox"),a.setAttribute("aria-label","Select language"),a.hidden=!0;for(let r of t){let s=document.createElement("li");s.setAttribute("role","option"),s.setAttribute("aria-selected",String(r===e));let c=document.createElement("button");c.type="button",c.className=`consenti-locale-switcher__option${r===e?" consenti-locale-switcher__option--active":""}`,c.textContent=r,c.addEventListener("click",l=>{l.stopPropagation(),a.hidden=!0,r!==e&&n(r)}),s.appendChild(c),a.appendChild(s)}return i.addEventListener("click",r=>{r.stopPropagation(),a.hidden=!a.hidden}),document.addEventListener("click",()=>{a.hidden=!0},{capture:!0,once:!1}),o.appendChild(i),o.appendChild(a),o}var Z=class{constructor(){this.el=null;this.overlayEl=null}buildPrompt(e,n,o,i){let a=document.createElement("div");a.id="consenti-age-gate",a.className="consenti-age-gate",a.setAttribute("role","dialog"),a.setAttribute("aria-modal","true"),a.setAttribute("aria-label","Age verification");let r=document.createElement("div");r.className="consenti-age-gate__heading",r.textContent=i?.heading||`Are you ${e} or older?`,a.appendChild(r);let s=document.createElement("div");s.className="consenti-age-gate__text",s.innerHTML=i?.htmlText||"Please confirm your age before we show you cookie preferences.",a.appendChild(s);let c=document.createElement("div");c.className="consenti-age-gate__buttons";let l=document.createElement("button");l.type="button",l.className="consenti-btn consenti-btn--primary",l.textContent=i?.confirmButtonLabel||"Yes",l.addEventListener("click",n),c.appendChild(l);let p=document.createElement("button");return p.type="button",p.className="consenti-btn consenti-btn--secondary",p.textContent=i?.denyButtonLabel||"No",p.addEventListener("click",o),c.appendChild(p),a.appendChild(c),this.overlayEl=H(60),this.el=a,a}buildParentalConsentMessage(e,n){let o=document.createElement("div");o.id="consenti-age-gate",o.className="consenti-age-gate",o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.setAttribute("aria-label","Parental consent required");let i=document.createElement("div");i.className="consenti-age-gate__heading",i.textContent=n?.parentalConsent?.heading||"Parental consent required",o.appendChild(i);let a=document.createElement("div");a.className="consenti-age-gate__text",a.innerHTML=n?.parentalConsent?.htmlText||"Only strictly necessary cookies will be used until a parent or guardian verifies consent on your behalf.",o.appendChild(a);let r=document.createElement("div");r.className="consenti-age-gate__buttons";let s=document.createElement("button");return s.type="button",s.className="consenti-btn consenti-btn--primary",s.textContent=n?.parentalConsent?.confirmButtonLabel||"OK",s.addEventListener("click",e),r.appendChild(s),o.appendChild(r),this.el=o,o}getOverlay(){return this.overlayEl}remove(){this.el?.remove(),this.overlayEl?.remove(),this.el=null,this.overlayEl=null}};var xt="consenti-root",fe=class{constructor(){this.root=null;this.styleEl=null}mount(e){if(!d())throw new Error("[Consenti] Renderer.mount() called in SSR context");if(this.root)return this.root;if(e!==void 0){if(typeof e=="string"){let o=document.querySelector(e);if(!o)throw new Error(`[Consenti] rootEl selector "${e}" did not match any element.`);this.root=o}else{if(!document.contains(e))throw new Error("[Consenti] rootEl element is not attached to the document.");this.root=e}return this.root.classList.add("consenti-root"),this.root}let n=document.getElementById(xt);return n||(n=document.createElement("div"),n.id=xt,document.body.appendChild(n)),n.classList.add("consenti-root"),this.root=n,n}injectStyles(e){if(!d()||this.styleEl)return;let n=document.createElement("style");n.id="consenti-styles",n.textContent=e,document.head.appendChild(n),this.styleEl=n}unmount(){this.root?.remove(),this.styleEl?.remove(),this.root=null,this.styleEl=null}announceToScreenReader(e){if(!d())return;let n=document.getElementById("consenti-announcer");n||(n=document.createElement("div"),n.id="consenti-announcer",n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),n.setAttribute("aria-atomic","true"),n.style.cssText="position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;",document.body.appendChild(n)),n.textContent="",requestAnimationFrame(()=>{n&&(n.textContent=e)})}};function Pt(t){let e=Object.values(t.buttons??{}),n=e.some(i=>i.action==="custom"&&i.cookies==="*"),o=e.some(i=>i.action==="manage"||i.action==="custom"&&i.cookies==="!");return n&&!o}function St(t){let e=[];return Pt(t.mainBanner)&&e.push("mainBanner"),t.gpcBanner&&Pt(t.gpcBanner)&&e.push("gpcBanner"),e}var Ie=class{constructor(e){this.initialized=!1;this.initializing=!1;this.profile=null;this.resolvedBase=null;this.profilePatches=[];this.categoryIndex=new Map;this.scannedScripts=[];this.consentStore=null;this.eventBus=null;this.banner=null;this.modal=null;this.ageGate=null;this.renderer=null;this._ageVerified=void 0;this._parentalConsentToken=void 0;this.broadcastChannel=new ne;this.plugins=[];this._bannerVariant=null;this._bannerMounted=null;this._focusTrapListener=null;this._identifyListener=null;this._eventHandlers=new Map;this.config={...e,core:e.core??{}},this.readyPromise=new Promise(n=>{this.readyResolve=n}),d()&&(e.verbose?ve(["error","info","warning","log"]):ve(this.config.core.console??["error"]),e.api?.enabled&&this.config.core.storage==="localStorage"&&(v.warn("localStorage storage mode cannot be used with API mode (API sets cookies via Set-Cookie header). Falling back to cookie storage."),this.config.core.storage="cookie"),e.autoInit!==!1&&this.init().catch(n=>v.warn("Init error:",n)))}visitorId(){return tt(this.config.core.storage??"cookie",this.config.core.cookieDomains)}profileId(){return this.profile?.id??"0"}applyComplianceGroupOverride(e){let n=e.complianceGroup?this.config.complianceGroupsOverride?.[e.complianceGroup]:void 0;return n?E(e,n):e}applyProfileOverrides(e){let n=this.applyComplianceGroupOverride(e),i=[this.config.profileOverride,...this.profilePatches].filter(a=>a!==void 0).reduce((a,r)=>E(a,r),n);return i!==e&&this.warnIfAcceptOnly(i),i}warnIfAcceptOnly(e){let n=St(e);n.length!==0&&v.warn(`${n.join(" and ")} offers an "accept all" button but no reject ("cookies: '!'") or manage button after profile overrides were applied. Visitors must be able to refuse as easily as they accept (GDPR Art. 7(3); CNIL/EDPB cookie-banner guidance).`)}async isRegistrationBlocked(e,n){if(!e||!this.config.api?.enabled)return!1;try{let{httpRequest:o}=await import("./http-AQVVUCX6.mjs"),i=this.config.api.baseUrl??window.location.origin;return(await o(`${i}/consenti/api/v1/${n}/status`,{},this.config.api.authToken)).blocked}catch{return!0}}async init(){if(d()&&!this.initializing){this.initializing=!0,this.initialized=!1,this.readyPromise=new Promise(e=>{this.readyResolve=e});try{let e=this.config.core.storage??"cookie",n=this.isRegistrationBlocked(this.config.compliance?.tcf?.enabled,"tcf"),o=this.isRegistrationBlocked(this.config.compliance?.gpp?.enabled,"gpp"),i=await bt(this.config);this.resolvedBase=i,this.config.darkMode!==void 0&&(i.darkMode=this.config.darkMode);let a=this.applyProfileOverrides(i),r=L();a.gpcMode=a.gpcMode??"ignore",this.profile=a,this.categoryIndex=$(a.preferenceModal.categories),this.eventBus=new re(this.profileId(),this.config.utils?.gtm),this.consentStore=new ae(this.profileId(),e,this.config.core.cookieDomains,this.config.core.userId,this.config.core.cookieName),this.consentStore.setProfileExpiry(a.expiryDays??365),this.consentStore.setProfileVersion(a.version??0),await n?v.error("TCF is configured but registration is unconfirmed (or unverifiable) \u2014 window.__tcfapi was not installed. Confirm the current cmpId/cmpVersion in the dashboard's TCF Registration panel."):wt(()=>({profile:this.profile,consent:this.getConsent(),tcfConfig:this.config.compliance?.tcf})),await o?v.error("GPP is configured but registration is unconfirmed (or unverifiable) \u2014 window.__gpp was not installed. Confirm the current cmpId/cmpVersion in the dashboard's GPP Registration panel."):At(()=>({profile:this.profile,consent:this.getConsent(),gppConfig:this.config.compliance?.gpp})),this.renderer=new fe,!this.config.core.disableCssTemplate&&_e&&this.renderer.injectStyles(_e),this.banner=new me,this.modal=new ge,this.applyTheme(),this.applyDarkMode(),this.applyDirection(),this.applyAccessibility(),this.applyStackButtonsBreakpoint(),this.broadcastChannel.connect(m=>this.handleBroadcastMessage(m)),this._installIdentifyListener(),await this.runPlugins();let s=a.cookieSigningKey??this.config.core.cookieSigningKey,l=(s?await this.consentStore.readAndVerify(s):this.consentStore.read())!==null,p=a.ageGate;if(p?.enabled&&!l){this.showAgeGate(p,a);return}await this.continueInit(a,r,l)}finally{this.initializing=!1}}}async continueInit(e,n,o){if(!this.consentStore||!this.eventBus)return;if(this.eventBus.dispatch("consenti:bannerInitialized",{profileId:this.profileId(),hasExistingConsent:o,complianceGroup:e.complianceGroup??"auto",gpcDetected:n,willShow:!o&&!(n&&e.gpcMode==="strict")}),e.gpcMode!=="ignore"&&n){let s=Ct(e.cookies,e.preferenceModal.categories,{},e.gpcMode);if(e.gpcMode==="strict"){await this.submitConsent(s,!0),this.finishInit();return}if(!o){let c=e.cookieSigningKey??this.config.core.cookieSigningKey,l={gpcDetected:!0,locale:this.config.core.locale??"en",complianceGroup:e.complianceGroup};c?this.lastSignature=await this.consentStore.writeAndSign(s,c,l):this.consentStore.write(s,l),this.broadcastChannel.send({type:"consentUpdated",consent:s,profileId:this.profileId()}),this.eventBus.dispatch("consenti:consentSubmitted",{consentJson:s,gpcDetected:!0,consentId:M("cons"),consentAction:this.deriveAction(s,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()}),this.showBanner(!0),this.finishInit();return}}let i=e.complianceGroup??"",a=i==="opt-out",r=i==="opt-out-strict";if(this.getRootElement()?.setAttribute("data-consenti-cg",i),this.config.verbose&&this.getRootElement()?.setAttribute("data-consenti-gpc",e.gpcMode??""),a&&!o){let s={};for(let[p,m]of Object.entries(e.cookies))e.requiresSensitiveOptIn&&m.cpraCategory==="sensitive"&&!S(p,this.categoryIndex)?s[p]="denied":s[p]="granted";let c=e.cookieSigningKey??this.config.core.cookieSigningKey,l={locale:this.config.core.locale??"en",complianceGroup:e.complianceGroup};c?await this.consentStore.writeAndSign(s,c,l):this.consentStore.write(s,l),this.finishInit();return}if(r&&!o){if(!n){this.showBanner(),this.finishInit();return}let s={};for(let[p,m]of Object.entries(e.cookies)){if(S(p,this.categoryIndex)){s[p]="granted";continue}let f=m.cpraCategory==="sensitive"||m.cpraCategory==="sale"||m.cpraCategory==="sharing";s[p]=f?"denied":"granted"}let c=e.cookieSigningKey??this.config.core.cookieSigningKey,l={gpcDetected:!0,locale:this.config.core.locale??"en",complianceGroup:e.complianceGroup};c?this.lastSignature=await this.consentStore.writeAndSign(s,c,l):this.consentStore.write(s,l),this.broadcastChannel.send({type:"consentUpdated",consent:s,profileId:this.profileId()}),this.eventBus.dispatch("consenti:consentSubmitted",{consentJson:s,gpcDetected:!0,consentId:M("cons"),consentAction:this.deriveAction(s,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()}),this.showBanner(!0),this.finishInit();return}o||this.showBanner(),this.finishInit()}showAgeGate(e,n){if(!this.renderer)return;let o=e.minimumAge,i=this.renderer.mount(this.config.rootEl);this.ageGate=new Z;let a=this.ageGate.buildPrompt(o,()=>{this.resolveAgeGate(!0,e,n)},()=>{this.resolveAgeGate(!1,e,n)},n.ageGateModal),r=this.ageGate.getOverlay();r&&i.appendChild(r),i.appendChild(a)}async resolveAgeGate(e,n,o){if(this.ageGate?.remove(),this.ageGate=null,this._ageVerified=e,e){await this.continueInit(o,L(),!1);return}if(n.requireParentalConsent){await this.submitConsent(this._buildDenyAllConsent());let i=M("pcon");if(this.config.api?.enabled)try{let a=this.config.api.baseUrl??window.location.origin,{httpRequest:r}=await import("./http-AQVVUCX6.mjs");i=(await r(`${a}/consenti/api/v1/consent/${this.visitorId()}/parental-consent-request`,{method:"POST",body:JSON.stringify({profileId:this.profileId()})},this.config.api.authToken)).token}catch(a){v.warn("Parental-consent request failed; using local unsigned token:",a)}if(this._parentalConsentToken=i,this.eventBus?.dispatch("consenti:parentalConsentRequired",{parentalConsentToken:this._parentalConsentToken,profileId:this.profileId(),visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3)}),this.renderer){let a=this.renderer.mount(this.config.rootEl);this.ageGate=new Z;let r=this.ageGate.buildParentalConsentMessage(()=>{this.ageGate?.remove(),this.ageGate=null},o.ageGateModal);a.appendChild(r)}}else await this.submitConsent(this._buildDenyAllConsent());this.finishInit()}finishInit(){this.initialized=!0,this.readyResolve(),this.scannedScripts.push(...Ce(this))}_installIdentifyListener(){if(!d())return;this._identifyListener&&window.removeEventListener("consenti:listener:identify",this._identifyListener);let e=n=>{let o=n.detail;this.setUserId(o.userId,o.reConsent??!0)};this._identifyListener=e,window.addEventListener("consenti:listener:identify",e)}getUserId(){return this.consentStore?.getAppUserId()??this.config.core.userId??null}async setUserId(e,n=!0){!d()||!this.consentStore||(this.consentStore.getAppUserId()??"")===(e??"")||(e===null?delete this.config.core.userId:this.config.core.userId=e,this.consentStore.setAppUserId(e??void 0),this.consentStore.hasConsent()&&(v.warn("User identity changed \u2014 "+(n?"reconsenting.":"consent record left as-is (reConsent: false).")),n&&await this.reConsent()))}getVisitor(){let e=this.getUserId();return{visitorId:nt(this.config.core.storage??"cookie"),type:e?"authenticated":"anonymous",userId:e}}applyDirection(){if(!this.renderer)return;this.renderer.mount(this.config.rootEl).setAttribute("dir",Ve(this.config.core.locale??"en",this.config.core.dir))}applyDarkMode(){if(!this.renderer)return;let e=this.config.darkMode??this.profile?.darkMode??!1,n=this.renderer.mount(this.config.rootEl);e?n.classList.add("consenti-root--dark"):n.classList.remove("consenti-root--dark")}applyAccessibility(){if(!this.renderer)return;let e=this.renderer.mount(this.config.rootEl);this.profile?.enhanceAccessibility?e.classList.add("consenti--enhanced-a11y"):e.classList.remove("consenti--enhanced-a11y")}_appendMetaFooter(e){let n=document.createElement("div");n.className="consenti-meta-footer";let o=this.consentStore?.getConsentId();if(o){let a=document.createElement("span");a.className="consenti-meta-footer__item",a.title=o,a.innerHTML=`ID: <code class="consenti-meta-footer__id">${o.slice(0,10)}&hellip;</code>`,n.appendChild(a)}if(this.hasConsent()){let a=this.visitorId(),r=document.createElement("span");r.className="consenti-meta-footer__item",r.title=a,r.innerHTML=`Visitor: <code class="consenti-meta-footer__id">${a.slice(0,10)}&hellip;</code>`,n.appendChild(r)}if(this.profile?.id){let a=document.createElement("span");a.className="consenti-meta-footer__item",a.title=this.profile.id,a.innerHTML=`Profile: <code class="consenti-meta-footer__id">${this.profile.id.slice(0,10)}&hellip; (v${this.profile?.version??1})</code>`,n.appendChild(a)}let i=this.consentStore?.getConsentDate();if(i){let a=document.createElement("span");a.className="consenti-meta-footer__item",a.innerHTML=`Date: <code class="consenti-meta-footer__id">${i.toLocaleDateString()}</code>`,n.appendChild(a)}e.appendChild(n)}applyStackButtonsBreakpoint(){if(!this.renderer||!this.profile)return;let e=this.profile.mainBanner?.stackButtonsOnBreakpoint;if(!e||e<=0)return;let n=this.renderer.mount(this.config.rootEl);n.querySelector("#consenti-stack-btn-style")?.remove();let i=document.createElement("style");i.id="consenti-stack-btn-style",i.textContent=`@media(max-width:${e}px){.consenti-banner__buttons{flex-direction:column;}.consenti-banner__btn{width:100%;}}`,n.appendChild(i)}_installFocusTrap(e){this._removeFocusTrap();let n='button:not([disabled]),[href],input:not([disabled]),select,textarea,[tabindex]:not([tabindex="-1"])',o=i=>{if(i.key!=="Tab")return;let a=Array.from(e.querySelectorAll(n)).filter(c=>!c.closest('[aria-hidden="true"]'));if(a.length===0)return;let r=a[0],s=a[a.length-1];i.shiftKey?document.activeElement===r&&(i.preventDefault(),s.focus()):document.activeElement===s&&(i.preventDefault(),r.focus())};this._focusTrapListener=o,document.addEventListener("keydown",o)}_removeFocusTrap(){this._focusTrapListener&&(document.removeEventListener("keydown",this._focusTrapListener),this._focusTrapListener=null)}applyTheme(){let e=this.config.core.theme;if(!e||!this.renderer)return;let n={"--consenti-color-bg":e.colorBg,"--consenti-color-text":e.colorText,"--consenti-color-text-muted":e.colorTextMuted,"--consenti-color-primary":e.colorPrimary,"--consenti-color-primary-text":e.colorPrimaryText,"--consenti-color-secondary":e.colorSecondary,"--consenti-color-secondary-text":e.colorSecondaryText,"--consenti-color-border":e.colorBorder,"--consenti-color-secondary-border":e.colorSecondaryBorder,"--consenti-color-overlay":e.colorOverlay,"--consenti-color-accent":e.colorAccent,"--consenti-color-accent-text":e.colorAccentText,"--consenti-font-family":e.fontFamily,"--consenti-font-family-mono":e.fontFamilyMono,"--consenti-font-size-base":e.fontSizeBase,"--consenti-font-size-heading":e.fontSizeHeading,"--consenti-font-weight-heading":e.fontWeightHeading,"--consenti-line-height":e.lineHeight,"--consenti-spacing-xs":e.spacingXs,"--consenti-spacing-sm":e.spacingSm,"--consenti-spacing-md":e.spacingMd,"--consenti-spacing-lg":e.spacingLg,"--consenti-border-radius":e.borderRadius,"--consenti-border-radius-btn":e.borderRadiusBtn,"--consenti-shadow":e.shadow,"--consenti-toggle-bg-on":e.toggleBgOn,"--consenti-toggle-bg-partial":e.toggleBgPartial,"--consenti-toggle-bg-off":e.toggleBgOff,"--consenti-toggle-knob":e.toggleKnob,"--consenti-toggle-width":e.toggleWidth,"--consenti-toggle-height":e.toggleHeight,"--consenti-z-banner":e.zBanner,"--consenti-z-overlay":e.zOverlay,"--consenti-z-modal":e.zModal},o=this.renderer.mount(this.config.rootEl);for(let[i,a]of Object.entries(n))a!==void 0&&o.style.setProperty(i,a);if(e.fontSizeMultiplier){let i=parseFloat(e.fontSizeMultiplier);if(!isNaN(i)){let a=parseFloat(getComputedStyle(o).getPropertyValue("--consenti-font-size-base")||"14"),r=parseFloat(getComputedStyle(o).getPropertyValue("--consenti-font-size-heading")||"16");o.style.setProperty("--consenti-font-size-base",`${Math.round(a*i)}px`),o.style.setProperty("--consenti-font-size-heading",`${Math.round(r*i)}px`)}}}async runPlugins(){this.plugins=this.config.plugins??[];for(let e of this.plugins)try{await e.initialize(this)}catch(n){v.warn("Plugin initialize error:",n)}}async callPluginHook(e){for(let n of this.plugins)try{await e(n,this)}catch(o){v.warn("Plugin hook failed:",o)}}_buildGrantAllConsent(e=!1){let n={};for(let o of Object.keys(this.profile?.cookies??{}))n[o]=e&&!S(o,this.categoryIndex)?"denied":"granted";return n}_buildDenyAllConsent(e=!1){let n={};for(let o of Object.keys(this.profile?.cookies??{}))n[o]=!e&&S(o,this.categoryIndex)?"granted":"denied";return n}buildHandlers(e){return{onGrantAll:()=>{this.submitConsent(this._buildGrantAllConsent()),e==="banner"&&(this.banner?.hide(),this._bannerVariant=null)},onDenyAll:()=>{this.submitConsent(this._buildDenyAllConsent()),e==="banner"&&(this.banner?.hide(),this._bannerVariant=null)},onSubmit:()=>{if(e==="modal"&&this.modal&&this.profile){let n=this.modal.getToggleConsent(this.profile.preferenceModal.categories);this.submitConsent(n),this.hideModal()}else{let n={};for(let o of Object.keys(this.profile?.cookies??{}))S(o,this.categoryIndex)&&(n[o]="granted");this.submitConsent(n),e==="banner"&&(this.banner?.hide(),this._bannerVariant=null)}},onManage:()=>{this.showModal()},onClose:()=>{e==="modal"?this.hideModal():(this.banner?.hide(),this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!1,action:!0,variant:this._bannerVariant??"main"}),this._bannerVariant=null,this.broadcastChannel.send({type:"bannerClosed"}),this.callPluginHook(n=>n.onBannerHide?.()))},onGrantSpecific:n=>{let o={};for(let i of Object.keys(this.profile?.cookies??{}))S(i,this.categoryIndex)||n.includes(i)?o[i]="granted":o[i]="denied";this.submitConsent(o),e==="banner"&&this.hideBanner()},onForgetMe:()=>{e==="modal"&&this.hideModal(),this.forgetMe()}}}deriveAction(e,n){if(n)return"update";let o=Object.keys(this.profile?.cookies??{}).filter(r=>!S(r,this.categoryIndex));if(o.length===0)return"custom";let i=o.every(r=>e[r]==="granted"),a=o.every(r=>e[r]==="denied"||e[r]==="objected");return i?"accept_all":a?"reject_all":"custom"}handleBroadcastMessage(e){switch(e.type){case"consentUpdated":if(e.profileId!==this.profileId())return;this.consentStore?.setInMemory(e.consent),this.banner?.hide(),this.modal?.isOpen()&&this.modal.close(),this.eventBus?.dispatch("consenti:consentSubmitted",{consentJson:e.consent,fromBroadcast:!0,gpcDetected:L(),consentId:M("cons"),consentAction:this.deriveAction(e.consent,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()});break;case"bannerClosed":this.banner?.hide(),this._bannerVariant=null;break;case"consentDeleted":this.consentStore?.clearInMemory();break}}hasConsent(){return d()?this.consentStore?.hasConsent()??!1:!1}getConsent(e){if(!d())return null;let n=this.consentStore?.getConsent()??null;if(!n)return null;let o=this.profile?.cookies??{};switch(e){case"google-gtm":return q(n);case"purpose":return Ue(n,o);case"category":return Ke(n,this.profile?.preferenceModal?.categories??{});case"adobe":return Fe(n,o);case"meta":return qe(n,o);case"microsoft-clarity":return We(n,o);case"twilio-segment":return Je(n,o);default:return n}}getConsentDate(){return d()?this.consentStore?.getConsentDate()??!1:!1}getGTMConsent(){return this.getConsent("google-gtm")}async submitConsent(e,n=!1,o=0){if(!d()||!this.profile||!this.consentStore)return;let i=this.profile.complianceGroup??"",a=this.consentStore.hasConsent(),r=this.consentStore.getConsentId()??M("cons"),s=window.location.href,c={};for(let[g,h]of Object.entries(this.profile.cookies))if(S(g,this.categoryIndex))c[g]="granted";else if(i==="opt-out-strict"){let b=h.cpraCategory==="sensitive"?"denied":"granted";c[g]=e[g]??b}else{let b=i!=="opt-out"&&i!=="notice-only",A=h.preGrant?"granted":b?"denied":"granted";c[g]=e[g]??A}let l=this.deriveAction(c,a);this.eventBus?.dispatch("consenti:consentBeingSubmitted",{consentJson:c,consentId:r,fromBroadcast:!1,gpcDetected:L(),consentAction:this.deriveAction(c,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()});let p=null;if(this.config.api?.enabled)try{let g=this.config.api.baseUrl??window.location.origin,{httpRequest:h}=await import("./http-AQVVUCX6.mjs");p=await h(`${g}/consenti/api/v1/consent`,{method:"POST",body:JSON.stringify({profileId:this.profileId(),visitorId:this.visitorId(),consentJson:c,locale:this.config.core.locale??"en",gpcDetected:n||L(),consentId:r,action:l,pageUrl:s,...this._ageVerified!==void 0?{ageVerified:this._ageVerified}:{},...this._parentalConsentToken?{parentalConsentToken:this._parentalConsentToken}:{}})},this.config.api.authToken)}catch(g){v.warn("API consent submission failed:",g)}let m=this.profile.cookieSigningKey??this.config.core.cookieSigningKey,f={source:o,gpcDetected:n,consentId:r,locale:this.config.core.locale??"en",complianceGroup:this.profile?.complianceGroup};if(m?this.lastSignature=await this.consentStore.writeAndSign(c,m,f):this.consentStore.write(c,f),(this.modal?.isReceiptRequested()??!1)&&this.profile.allowReceipt){let g=this.visitorId(),h=this.consentStore.getConsent();console.log({currentConsentVersion:h});let b={version:"1.0",visitorId:g,profileId:this.profileId(),locale:this.config.core.locale??"en",consent:c,...this.lastSignature?{signature:this.lastSignature}:{}},A=Ye(b);Ze(A)}return this.broadcastChannel.send({type:"consentUpdated",consent:c,profileId:this.profileId()}),this.eventBus?.dispatch("consenti:consentSubmitted",{consentJson:c,apiResponse:p,gpcDetected:n,consentId:r,consentAction:l,pageUrl:s,fromBroadcast:!1,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()}),await this.callPluginHook(g=>g.onConsentSubmit?.(c)),this.renderer?.announceToScreenReader("Your cookie preferences have been saved."),this.hideBanner(),this.modal?.isOpen()&&this.hideModal(),p}bannerVisibility(){return this._bannerVariant??!1}modalVisibility(){return this.modal?.isOpen()?"preference":!1}showBanner(e=!1){if(!d()||!this.profile||!this.banner||!this.renderer)return;let n=e&&this.profile.gpcBanner?"gpc":"main";if(this._bannerVariant===n)return;if(this._bannerMounted===n){this.banner.show(),this._bannerVariant=n,this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!0,action:!1,variant:n}),this.callPluginHook(p=>p.onBannerShow?.());return}let o=n==="gpc"?this.profile.gpcBanner:this.profile.mainBanner,i=this.renderer.mount(this.config.rootEl),a=this.buildHandlers("banner");this.banner.remove();let r=this.profile.locales,s=this.config.core.locale??"en",c=this.banner.build(o,a,void 0,r,s,p=>this.switchLocale(p),this.config.hidePoweredBy??this.profile?.hidePoweredBy??!0,n);i.appendChild(c);let l=this.banner.getOverlay();l&&i.appendChild(l),this._bannerVariant=n,this._bannerMounted=n,this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!0,action:!1,variant:n}),this.callPluginHook(p=>p.onBannerShow?.())}hideBanner(){this._bannerVariant!==null&&(this.banner?.hide(),this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!1,action:!0,variant:this._bannerVariant}),this._bannerVariant=null,this.broadcastChannel.send({type:"bannerClosed"}),this.renderer?.announceToScreenReader("Cookie banner dismissed."),this.callPluginHook(e=>e.onBannerHide?.()))}showModal(e){if(!d()||!this.profile||!this.modal||this.modal.isOpen())return;let n=this.buildHandlers("modal"),o=this.consentStore?.getConsent()??{},i=this.profile.complianceGroup==="opt-in-dpdpa"?this.profile.dpdpa:void 0,a=this.profile.locales,r=this.config.core.locale??"en";this.modal.build(this.profile.preferenceModal,this.profile.cookies,o,n,this.profile.allowReceipt??!1,i,a,r,c=>{this.hideModal(),this.switchLocale(c)},this.config.hidePoweredBy??this.profile?.hidePoweredBy??!0),this.banner?.hide(),this.modal.open(e,this.renderer?.mount(this.config.rootEl));let s=document.getElementById("consenti-modal");if(this.profile.showFooterMetadata&&s){let c=s.querySelector(".consenti-modal__container");c&&this._appendMetaFooter(c)}this.profile.preferenceModal?.trapFocus&&s&&this._installFocusTrap(s),this._bannerVariant!==null&&this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!1,action:!!e,variant:this._bannerVariant}),this.eventBus?.dispatch("consenti:modalVisibility",{visible:!0,action:!!e}),this.callPluginHook(c=>c.onModalShow?.())}hideModal(){this.modal?.isOpen()&&(this._removeFocusTrap(),this.modal.close(),this.eventBus?.dispatch("consenti:modalVisibility",{visible:!1,action:!0}),this.callPluginHook(e=>e.onModalHide?.()),!this.consentStore?.hasConsent()&&this._bannerVariant!==null?(this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!0,action:!0,variant:this._bannerVariant}),this.banner?.show()):this.consentStore?.hasConsent()||this.showBanner())}onReady(e){this.initialized?e():this.readyPromise.then(e)}get ready(){return this.readyPromise}async deleteConsent(){if(!(!d()||!this.consentStore)){if(this.config.api?.enabled)try{let e=this.config.api.baseUrl??window.location.origin,{httpRequest:n}=await import("./http-AQVVUCX6.mjs");await n(`${e}/consenti/api/v1/consent/${this.visitorId()}`,{method:"DELETE"},this.config.api?.authToken)}catch(e){v.warn("API consent deletion failed:",e)}this.consentStore.delete(),this.broadcastChannel.send({type:"consentDeleted"})}}async reConsent(e=!0){if(await this.deleteConsent(),e&&this.profile?.ageGate?.enabled){this._ageVerified=void 0,this.showAgeGate(this.profile.ageGate,this.profile);return}this.showBanner()}async forgetMe(e=!0){if(!d())return;let n=this.visitorId(),o=this.profileId();this.eventBus?.dispatch("consenti:forgetMeRequested",{visitorId:n,profileId:o,timestamp:Math.round(Date.now()/1e3)}),await this.reConsent(e),this.eventBus?.dispatch("consenti:forgotten",{visitorId:n,profileId:o,timestamp:Math.round(Date.now()/1e3)})}getProfile(){return this.profile}getRootElement(){return d()?this.config.rootEl?typeof this.config.rootEl=="string"?document.querySelector(this.config.rootEl):this.config.rootEl:document.getElementById("consenti-root"):null}getBannerElement(){return d()?document.getElementById("consenti-banner"):null}getModalElement(){return d()?document.getElementById("consenti-modal"):null}switchLocale(e){d()&&(this.config.core.locale=e,this.banner?.remove(),this.modal?.isOpen()&&this.modal.close(),this._bannerVariant=null,this._bannerMounted=null,this.profile=null,this.initialized=!1,this.readyPromise=new Promise(n=>{this.readyResolve=n}),this.init().catch(n=>v.warn("Locale switch error:",n)))}isCookieGranted(e,n=!1){if(!d())return!1;let o=this.getConsent()?.[e];return n?o??!1:o==="granted"}isCategoryGranted(e,n=!1){if(!d()||!this.profile)return n?[]:!1;let o=this.profile.preferenceModal.categories[e];if(!o)return n?[]:!1;let i=this.getConsent();return n?o.cookies.map(a=>({[a]:i?.[a]??"denied"})):o.cookies.every(a=>i?.[a]==="granted")}async grantAll(e=!1){!d()||!this.profile||await this.submitConsent(this._buildGrantAllConsent(e),!1,1)}async denyAll(e=!1){!d()||!this.profile||(e&&v.warn("denyAll called with includingMandatory=true \u2014 mandatory cookies will be denied. Ensure this is intentional."),await this.submitConsent(this._buildDenyAllConsent(e),!1,1))}on(e,n){if(!d())return;let o=e.startsWith("consenti:")?e:`consenti:${e}`,i=r=>n(r.detail),a=this._eventHandlers.get(n)??[];a.push({name:o,wrapped:i}),this._eventHandlers.set(n,a),window.addEventListener(o,i)}off(e,n){if(!d())return;let o=e.startsWith("consenti:")?e:`consenti:${e}`,i=this._eventHandlers.get(n);if(!i)return;let a=i.findIndex(s=>s.name===o);if(a===-1)return;let r=i[a];r&&window.removeEventListener(o,r.wrapped),i.splice(a,1),i.length===0&&this._eventHandlers.delete(n)}version(){return{package:"0.5.0",profileVersion:this.profile?.id??"0",consentVersion:null}}setDarkMode(e){d()&&(this.config.darkMode=e===void 0?!this.config.darkMode:e,this.applyDarkMode())}setTheme(e){d()&&(this.config.core.theme=Object.assign({},this.config.core.theme,e),this.applyTheme())}setConfig(e){let n=E(this.config,e);this.config={...n,core:n.core??{}},d()&&(this.applyTheme(),this.applyDarkMode())}setProfile(e){if(!d()||!this.resolvedBase)return;this.profilePatches.push(e),this.profile=this.applyProfileOverrides(this.resolvedBase),this.categoryIndex=$(this.profile.preferenceModal.categories);let n=this.modal?.isOpen()??!1;if(n&&this.modal?.close(),this._bannerVariant!==null){let o=this._bannerVariant==="gpc";this._bannerVariant=null,this._bannerMounted=null,this.showBanner(o)}n&&this.showModal()}destroy(){this._removeFocusTrap(),d()&&this._identifyListener&&(window.removeEventListener("consenti:listener:identify",this._identifyListener),this._identifyListener=null);for(let e of this.plugins)try{e.destroy()}catch{}for(let e of this.scannedScripts)e.destroy();if(this.scannedScripts=[],this.modal?.destroy(),this.renderer?.unmount(),this.broadcastChannel.disconnect(),d()){for(let e of this._eventHandlers.values())for(let{name:n,wrapped:o}of e)window.removeEventListener(n,o);this._eventHandlers.clear()}this.banner=null,this.modal=null,this.renderer=null,this.consentStore=null,this.eventBus=null,this.initialized=!1}};var De=class{};var wn=1e3,Le=class{constructor(e){this.config=e;this.type=Symbol(e.id??wn++),dt(this.type,e)}getType(){return this.type}toJSON(){return this.config}};var Te=class{constructor(e){this.options=e;this.granted=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let e=this.options.widget.getConsent(),n=e?.[this.options.id]??"denied",o=n==="granted";if(o===this.granted)return;this.granted=o;let i=this.options.widget.getProfile()?.cookies[this.options.id],a={cookieId:this.options.id,status:n,cookie:i,consent:e};o?this.options.onGrant?.(a):this.options.onDeny?.(a)}destroy(){d()&&this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler)}};var Re=class{constructor(e){this.options=e;this.granted=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let n=this.options.widget.getProfile()?.preferenceModal.categories[this.options.id]?.cookies??[],o=this.options.widget.getConsent(),i=n.length>0&&n.every(r=>o?.[r]==="granted");if(i===this.granted)return;this.granted=i;let a={categoryId:this.options.id,cookieIds:n,consent:o};i?this.options.onGrant?.(a):this.options.onDeny?.(a)}destroy(){d()&&this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler)}};var Oe=class{constructor(e){let n=e.action??"modal";if(this.clickHandler=()=>{n==="modal"?e.widget.showModal():e.widget.showBanner()},e.el)if(typeof e.el=="string"){if(!d()){this.el=document.createElement("span"),this.created=!1;return}let o=document.querySelector(e.el);if(!o)throw new Error(`[Consenti] BannerTrigger: element not found for selector "${e.el}"`);this.el=o,this.created=!1}else this.el=e.el,this.created=!1;else{let o=document.createElement("button");o.type="button",o.className="consenti-btn consenti-btn--text consenti-banner-trigger",o.textContent=e.label??"Cookie Settings",o.setAttribute("aria-label",e.label??"Open cookie settings"),this.el=o,this.created=!0}this.el.addEventListener("click",this.clickHandler)}getElement(){return this.el}destroy(){this.el.removeEventListener("click",this.clickHandler),this.created&&this.el.remove()}};async function kn(t,e={}){let n=e.baseUrl??(d()?window.location.origin:""),o=await j(`${n}/consenti/api/v1/consent/parental-consent-resolve`,{method:"POST",body:JSON.stringify({token:t})},e.authToken);return d()&&window.dispatchEvent(new CustomEvent("consenti:parentalConsentResolved",{detail:o,bubbles:!0})),o}function An(t){let e=(t?.dataLayerName??"dataLayer").replace(/[^a-zA-Z0-9_$]/g,"");return`<script>(function(){if(typeof navigator!=="undefined"&&navigator.globalPrivacyControl===true){window.${e}=window.${e}||[];if(typeof window.gtag!=="function"){window.gtag=function(){window.${e}.push(arguments)}}window.gtag("consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",functionality_storage:"granted",personalization_storage:"denied",security_storage:"granted",ads_data_redaction:"true",url_passthrough:"false"});window.__consentiGpcPreFrozen=true}})();<\/script>`}export{Oe as BannerTrigger,Re as CategoryAction,F as CategoryScript,Te as ConsentAction,K as ConsentScript,De as ConsentiPlugin,Le as ConsentiProfile,Ie as ConsentiSetup,An as buildSyncGpcSnippet,kn as resolveParentalConsent,Ce as scanConsentScripts};
1
+ import"./chunk-RDE7CM6T.mjs";import{a as $}from"./chunk-3EXCD24H.mjs";function Dt(){return typeof process>"u"||process.env.NO_COLOR?!1:process.env.FORCE_COLOR?!0:!!process.stdout?.isTTY}function D(t,e){return n=>Dt()?`\x1B[${t}m${n}\x1B[${e}m`:n}var X={bold:D(1,22),dim:D(2,22),red:D(31,39),green:D(32,39),yellow:D(33,39),blue:D(34,39),magenta:D(35,39),cyan:D(36,39),gray:D(90,39)};var Mn={info:{symbol:"\u2139",paint:X.cyan},success:{symbol:"\u2713",paint:X.green},warn:{symbol:"\u26A0",paint:X.yellow},error:{symbol:"\u2717",paint:X.red}};function K(t){let e=new Map;for(let n of Object.values(t))for(let o of n.cookies)e.set(o,n);return e}function he(t,e){return e.get(t)?.legalBasis??"consent"}function P(t,e){return he(t,e)==="mandatory"}var M={version:"2026-07",countries:{AT:{name:"Austria",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Austria (GDPR)",locales:["de-AT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Vienna"]},BE:{name:"Belgium",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Belgium (GDPR)",locales:["nl-BE","fr-BE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Brussels"]},BG:{name:"Bulgaria",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Bulgaria (GDPR)",locales:["bg-BG"],compliance:["gdpr","eprivacy"],timezones:["Europe/Sofia"]},HR:{name:"Croatia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Croatia (GDPR)",locales:["hr-HR"],compliance:["gdpr","eprivacy"],timezones:["Europe/Zagreb"]},CY:{name:"Cyprus",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Cyprus (GDPR)",locales:["el-CY"],compliance:["gdpr","eprivacy"],timezones:["Asia/Nicosia"]},CZ:{name:"Czechia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Czechia (GDPR)",locales:["cs-CZ"],compliance:["gdpr","eprivacy"],timezones:["Europe/Prague"]},DK:{name:"Denmark",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Denmark (GDPR)",locales:["da-DK"],compliance:["gdpr","eprivacy"],timezones:["Europe/Copenhagen"]},EE:{name:"Estonia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Estonia (GDPR)",locales:["et-EE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Tallinn"]},FI:{name:"Finland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Finland (GDPR)",locales:["fi-FI"],compliance:["gdpr","eprivacy"],timezones:["Europe/Helsinki"]},FR:{name:"France",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"France (GDPR)",locales:["fr-FR"],compliance:["gdpr","eprivacy"],timezones:["Europe/Paris"]},DE:{name:"Germany",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Germany (GDPR)",locales:["de-DE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Berlin"]},GR:{name:"Greece",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Greece (GDPR)",locales:["el-GR"],compliance:["gdpr","eprivacy"],timezones:["Europe/Athens"]},HU:{name:"Hungary",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Hungary (GDPR)",locales:["hu-HU"],compliance:["gdpr","eprivacy"],timezones:["Europe/Budapest"]},IE:{name:"Ireland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Ireland (GDPR)",locales:["en"],compliance:["gdpr","eprivacy"],timezones:["Europe/Dublin"]},IT:{name:"Italy",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Italy (GDPR)",locales:["it-IT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Rome"]},LV:{name:"Latvia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Latvia (GDPR)",locales:["lv-LV"],compliance:["gdpr","eprivacy"],timezones:["Europe/Riga"]},LT:{name:"Lithuania",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Lithuania (GDPR)",locales:["lt-LT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Vilnius"]},LU:{name:"Luxembourg",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Luxembourg (GDPR)",locales:["fr-LU","de-LU"],compliance:["gdpr","eprivacy"],timezones:["Europe/Luxembourg"]},MT:{name:"Malta",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Malta (GDPR)",locales:["mt-MT","en"],compliance:["gdpr","eprivacy"],timezones:["Europe/Malta"]},NL:{name:"Netherlands",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Netherlands (GDPR)",locales:["nl-NL"],compliance:["gdpr","eprivacy"],timezones:["Europe/Amsterdam"]},PL:{name:"Poland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Poland (GDPR)",locales:["pl-PL"],compliance:["gdpr","eprivacy"],timezones:["Europe/Warsaw"]},PT:{name:"Portugal",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Portugal (GDPR)",locales:["pt-PT"],compliance:["gdpr","eprivacy"],timezones:["Europe/Lisbon","Atlantic/Madeira","Atlantic/Azores"]},RO:{name:"Romania",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Romania (GDPR)",locales:["ro-RO"],compliance:["gdpr","eprivacy"],timezones:["Europe/Bucharest"]},SK:{name:"Slovakia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Slovakia (GDPR)",locales:["sk-SK"],compliance:["gdpr","eprivacy"],timezones:["Europe/Bratislava"]},SI:{name:"Slovenia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Slovenia (GDPR)",locales:["sl-SI"],compliance:["gdpr","eprivacy"],timezones:["Europe/Ljubljana"]},ES:{name:"Spain",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Spain (GDPR)",locales:["es-ES"],compliance:["gdpr","eprivacy"],timezones:["Europe/Madrid","Africa/Ceuta","Atlantic/Canary"]},SE:{name:"Sweden",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Sweden (GDPR)",locales:["sv-SE"],compliance:["gdpr","eprivacy"],timezones:["Europe/Stockholm"]},IS:{name:"Iceland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Iceland (GDPR via EEA)",locales:["is-IS"],compliance:["gdpr","eprivacy"],timezones:["Atlantic/Reykjavik"]},LI:{name:"Liechtenstein",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Liechtenstein (GDPR via EEA)",locales:["de-LI"],compliance:["gdpr","eprivacy"],timezones:["Europe/Vaduz"]},NO:{name:"Norway",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Norway (GDPR via EEA)",locales:["nb-NO"],compliance:["gdpr","eprivacy"],timezones:["Europe/Oslo","Arctic/Longyearbyen"]},AD:{name:"Andorra",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Andorra (GDPR-aligned)",locales:["ca-AD"],compliance:["gdpr"],timezones:["Europe/Andorra"]},AL:{name:"Albania",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Albania (GDPR-aligned)",locales:["sq-AL"],compliance:["gdpr"],timezones:["Europe/Tirane"]},BA:{name:"Bosnia and Herzegovina",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Bosnia and Herzegovina (GDPR-aligned)",locales:["bs-BA","sr-Latn-BA"],compliance:["gdpr"],timezones:["Europe/Sarajevo"]},GG:{name:"Guernsey",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Guernsey (DPA based on GDPR)",locales:["en"],compliance:["gdpr"],timezones:["Europe/Guernsey"]},GI:{name:"Gibraltar",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Gibraltar (DPA based on UK GDPR)",locales:["en"],compliance:["uk-gdpr"],timezones:["Europe/Gibraltar"]},GL:{name:"Greenland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Greenland (Danish GDPR implementation)",locales:["da-GL"],compliance:["gdpr"],timezones:["America/Nuuk","America/Danmarkshavn","America/Scoresbysund","America/Thule"]},MC:{name:"Monaco",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Monaco (GDPR-aligned)",locales:["fr-MC"],compliance:["gdpr"],timezones:["Europe/Monaco"]},ME:{name:"Montenegro",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Montenegro (GDPR-aligned)",locales:["sr-Latn-ME"],compliance:["gdpr"],timezones:["Europe/Podgorica"]},MK:{name:"North Macedonia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"North Macedonia (GDPR-aligned)",locales:["mk-MK"],compliance:["gdpr"],timezones:["Europe/Skopje"]},RS:{name:"Serbia",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Serbia (GDPR-aligned)",locales:["sr-RS"],compliance:["gdpr"],timezones:["Europe/Belgrade"]},SM:{name:"San Marino",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"San Marino (GDPR-aligned)",locales:["it-SM"],compliance:["gdpr"],timezones:["Europe/San_Marino"]},TR:{name:"T\xFCrkiye",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"T\xFCrkiye (KVKK)",locales:["tr-TR"],compliance:["kvkk"],timezones:["Europe/Istanbul"]},CA:{name:"Canada",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Canada (PIPEDA / Law 25)",locales:["en","fr-CA"],compliance:["pipeda","law25"],timezones:["America/St_Johns","America/Halifax","America/Toronto","America/Winnipeg","America/Edmonton","America/Vancouver"],overriddenRegions:{QC:{name:"Quebec",type:"region",complianceGroup:"opt-in",description:"Quebec \u2014 Law 25 (GDPR-style opt-in)"}}},US:{name:"United States",type:"country",complianceGroup:"opt-out",default:"opt-out-strict",description:"United States \u2014 opt-out-strict (CPRA) used when state cannot be detected",locales:["en","es-US"],compliance:["ccpa","cpra","vcdpa","cpa-co","ctdpa","ucpa","icdpa-ia","icdpa-in","tipa","mcdpa-mt","mcdpa-mn","ocpa","tdpsa","dpdpa-de","njdpa","nhpa","ndpa-ne","modpa","kcdpa","ridtpa"],timezones:["America/New_York","America/Chicago","America/Denver","America/Phoenix","America/Los_Angeles","America/Anchorage","Pacific/Honolulu"],overriddenRegions:{CA:{name:"California",type:"region",complianceGroup:"opt-out-strict",description:"California \u2014 CPRA/CCPA"},VA:{name:"Virginia",type:"region",complianceGroup:"opt-out",description:"Virginia \u2014 VCDPA"},CO:{name:"Colorado",type:"region",complianceGroup:"opt-out",description:"Colorado \u2014 CPA",requiresSensitiveOptIn:!0},CT:{name:"Connecticut",type:"region",complianceGroup:"opt-out",description:"Connecticut \u2014 CTDPA"},UT:{name:"Utah",type:"region",complianceGroup:"opt-out",description:"Utah \u2014 UCPA"},TX:{name:"Texas",type:"region",complianceGroup:"opt-out",description:"Texas \u2014 TDPSA"},DE:{name:"Delaware",type:"region",complianceGroup:"opt-out",description:"Delaware \u2014 DPDPA"},NJ:{name:"New Jersey",type:"region",complianceGroup:"opt-out",description:"New Jersey \u2014 NJDPA"},OR:{name:"Oregon",type:"region",complianceGroup:"opt-out",description:"Oregon \u2014 OCPA"},MN:{name:"Minnesota",type:"region",complianceGroup:"opt-out",description:"Minnesota \u2014 MCDPA"},MD:{name:"Maryland",type:"region",complianceGroup:"opt-out",description:"Maryland \u2014 MODPA"},KY:{name:"Kentucky",type:"region",complianceGroup:"opt-out",description:"Kentucky \u2014 KCDPA"},TN:{name:"Tennessee",type:"region",complianceGroup:"opt-out",description:"Tennessee \u2014 TIPA"},NE:{name:"Nebraska",type:"region",complianceGroup:"opt-out",description:"Nebraska \u2014 NDPA"},IA:{name:"Iowa",type:"region",complianceGroup:"opt-out",description:"Iowa \u2014 ICDPA"},IN:{name:"Indiana",type:"region",complianceGroup:"opt-out",description:"Indiana \u2014 ICDPA"},MT:{name:"Montana",type:"region",complianceGroup:"opt-out",description:"Montana \u2014 MCDPA"},NH:{name:"New Hampshire",type:"region",complianceGroup:"opt-out",description:"New Hampshire \u2014 NHPA"},RI:{name:"Rhode Island",type:"region",complianceGroup:"opt-out",description:"Rhode Island \u2014 RIDTPA"}}},AR:{name:"Argentina",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Argentina (LPDP)",locales:["es-AR"],compliance:["lpdp-ar"],timezones:["America/Argentina/Buenos_Aires"]},BO:{name:"Bolivia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Bolivia",locales:["es-BO"],compliance:[],timezones:["America/La_Paz"]},BR:{name:"Brazil",type:"country",complianceGroup:"opt-in-brazil",default:"opt-in-brazil",description:"Brazil (LGPD)",locales:["pt-BR"],compliance:["lgpd"],timezones:["America/Noronha","America/Sao_Paulo","America/Manaus","America/Rio_Branco"]},CL:{name:"Chile",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Chile (Law 19.628)",locales:["es-CL"],compliance:["law19628-cl"],timezones:["America/Santiago","Pacific/Easter"]},CO:{name:"Colombia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Colombia (Law 1581)",locales:["es-CO"],compliance:["law1581-co"],timezones:["America/Bogota"]},CR:{name:"Costa Rica",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Costa Rica (LPDP)",locales:["es-CR"],compliance:["lpdp-cr"],timezones:["America/Costa_Rica"]},DO:{name:"Dominican Republic",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Dominican Republic",locales:["es-DO"],compliance:["data-protection-do"],timezones:["America/Santo_Domingo"]},EC:{name:"Ecuador",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Ecuador (LOPDP)",locales:["es-EC"],compliance:["lopdp-ec"],timezones:["America/Guayaquil","Pacific/Galapagos"]},GF:{name:"French Guiana",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"French Guiana",locales:["fr-GF"],compliance:[],timezones:["America/Cayenne"]},GT:{name:"Guatemala",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guatemala",locales:["es-GT"],compliance:[],timezones:["America/Guatemala"]},GY:{name:"Guyana",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guyana",locales:["en"],compliance:[],timezones:["America/Guyana"]},HN:{name:"Honduras",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Honduras",locales:["es-HN"],compliance:[],timezones:["America/Tegucigalpa"]},HT:{name:"Haiti",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Haiti",locales:["fr-HT"],compliance:[],timezones:["America/Port-au-Prince"]},JM:{name:"Jamaica",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Jamaica",locales:["en"],compliance:[],timezones:["America/Jamaica"]},MX:{name:"Mexico",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Mexico (LFPDPPP)",locales:["es-MX"],compliance:["lfpdppp"],timezones:["America/Mexico_City","America/Cancun","America/Chihuahua","America/Hermosillo","America/Tijuana"]},NI:{name:"Nicaragua",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Nicaragua",locales:["es-NI"],compliance:[],timezones:["America/Managua"]},PA:{name:"Panama",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Panama",locales:["es-PA"],compliance:["data-protection-pa"],timezones:["America/Panama"]},PE:{name:"Peru",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Peru (LPDP)",locales:["es-PE"],compliance:["lpdp-pe"],timezones:["America/Lima"]},PY:{name:"Paraguay",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Paraguay",locales:["es-PY"],compliance:[],timezones:["America/Asuncion"]},SR:{name:"Suriname",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Suriname",locales:["nl-SR"],compliance:[],timezones:["America/Paramaribo"]},SV:{name:"El Salvador",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"El Salvador",locales:["es-SV"],compliance:[],timezones:["America/El_Salvador"]},TT:{name:"Trinidad and Tobago",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Trinidad and Tobago",locales:["en"],compliance:[],timezones:["America/Port_of_Spain"]},UY:{name:"Uruguay",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Uruguay (Law 18.331)",locales:["es-UY"],compliance:["law18331-uy"],timezones:["America/Montevideo"]},VE:{name:"Venezuela",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Venezuela",locales:["es-VE"],compliance:[],timezones:["America/Caracas"]},AG:{name:"Antigua and Barbuda",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Antigua and Barbuda",locales:["en"],compliance:[],timezones:["America/Antigua"]},BB:{name:"Barbados",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Barbados",locales:["en"],compliance:[],timezones:["America/Barbados"]},BL:{name:"Saint Barth\xE9lemy",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Barth\xE9lemy",locales:["fr-BL"],compliance:[],timezones:["America/St_Barthelemy"]},BM:{name:"Bermuda",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Bermuda",locales:["en"],compliance:[],timezones:["Atlantic/Bermuda"]},BS:{name:"Bahamas",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Bahamas",locales:["en"],compliance:[],timezones:["America/Nassau"]},CU:{name:"Cuba",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cuba",locales:["es-CU"],compliance:[],timezones:["America/Havana"]},DM:{name:"Dominica",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Dominica",locales:["en"],compliance:[],timezones:["America/Dominica"]},GD:{name:"Grenada",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Grenada",locales:["en"],compliance:[],timezones:["America/Grenada"]},KN:{name:"Saint Kitts and Nevis",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Kitts and Nevis",locales:["en"],compliance:[],timezones:["America/St_Kitts"]},LC:{name:"Saint Lucia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Lucia",locales:["en"],compliance:[],timezones:["America/St_Lucia"]},PM:{name:"Saint Pierre and Miquelon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Pierre and Miquelon",locales:["fr-PM"],compliance:[],timezones:["America/Miquelon"]},PR:{name:"Puerto Rico",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Puerto Rico",locales:["es-PR","en"],compliance:[],timezones:["America/Puerto_Rico"]},VC:{name:"Saint Vincent and the Grenadines",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Saint Vincent and the Grenadines",locales:["en"],compliance:[],timezones:["America/St_Vincent"]},IN:{name:"India",type:"country",complianceGroup:"opt-in-dpdpa",default:"opt-in-dpdpa",description:"India (DPDPA)",locales:["hi-IN","en","bn-IN","ta-IN"],compliance:["dpdpa"],timezones:["Asia/Kolkata","Asia/Calcutta"]},CN:{name:"China",type:"country",complianceGroup:"opt-in-china",default:"opt-in-china",description:"China (PIPL + DSL + CSL)",locales:["zh-CN"],compliance:["pipl","dsl-cn","csl-cn"],timezones:["Asia/Shanghai"]},BN:{name:"Brunei",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Brunei (Personal Data Protection Order)",locales:["ms-BN","en"],compliance:["privacy-bn"],timezones:["Asia/Brunei"]},ID:{name:"Indonesia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Indonesia (PDP Law)",locales:["id-ID"],compliance:["pdp-id"],timezones:["Asia/Jakarta","Asia/Makassar","Asia/Jayapura"]},KH:{name:"Cambodia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cambodia",locales:["km-KH"],compliance:[],timezones:["Asia/Phnom_Penh"]},LA:{name:"Laos",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Laos",locales:["lo-LA"],compliance:[],timezones:["Asia/Vientiane"]},MM:{name:"Myanmar",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Myanmar",locales:["my-MM"],compliance:[],timezones:["Asia/Yangon"]},MY:{name:"Malaysia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Malaysia (PDPA)",locales:["ms-MY","zh-MY","en"],compliance:["pdpa-my"],timezones:["Asia/Kuala_Lumpur","Asia/Kuching"]},PH:{name:"Philippines",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Philippines (DPA)",locales:["fil-PH","en"],compliance:["dpa-ph"],timezones:["Asia/Manila"]},SG:{name:"Singapore",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Singapore (PDPA)",locales:["zh-SG","ms-SG","ta-SG","en"],compliance:["pdpa-sg"],timezones:["Asia/Singapore"]},TH:{name:"Thailand",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Thailand (PDPA \u2014 GDPR-style opt-in)",locales:["th-TH"],compliance:["pdpa-th"],timezones:["Asia/Bangkok"]},TL:{name:"Timor-Leste",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Timor-Leste",locales:["pt-TL"],compliance:[],timezones:["Asia/Dili"]},VN:{name:"Vietnam",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Vietnam (PDPD)",locales:["vi-VN"],compliance:["pdpd-vn"],timezones:["Asia/Ho_Chi_Minh"]},HK:{name:"Hong Kong",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Hong Kong SAR (PDPO)",locales:["zh-HK"],compliance:["pdpl-hk"],timezones:["Asia/Hong_Kong"]},JP:{name:"Japan",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Japan (APPI)",locales:["ja-JP"],compliance:["appi"],timezones:["Asia/Tokyo"]},KP:{name:"North Korea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"North Korea",locales:["ko-KP"],compliance:[],timezones:["Asia/Pyongyang"]},KR:{name:"South Korea",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"South Korea (PIPA)",locales:["ko-KR"],compliance:["pipa-kr"],timezones:["Asia/Seoul"]},MN:{name:"Mongolia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mongolia",locales:["mn-MN"],compliance:[],timezones:["Asia/Ulaanbaatar","Asia/Hovd"]},MO:{name:"Macau",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Macau SAR (PDPA)",locales:["zh-MO","pt-MO"],compliance:["pdpa-mo"],timezones:["Asia/Macau"]},TW:{name:"Taiwan",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Taiwan (PDPL)",locales:["zh-TW"],compliance:["pdpl-tw"],timezones:["Asia/Taipei"]},AF:{name:"Afghanistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Afghanistan",locales:["fa-AF"],compliance:[],timezones:["Asia/Kabul"]},BD:{name:"Bangladesh",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Bangladesh",locales:["bn-BD"],compliance:[],timezones:["Asia/Dhaka"]},BT:{name:"Bhutan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Bhutan",locales:["dz-BT"],compliance:[],timezones:["Asia/Thimphu"]},IO:{name:"British Indian Ocean Territory",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"British Indian Ocean Territory",locales:["en"],compliance:[],timezones:["Indian/Chagos"]},LK:{name:"Sri Lanka",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Sri Lanka",locales:["si-LK","ta-LK"],compliance:["privacy-lk"],timezones:["Asia/Colombo"]},MV:{name:"Maldives",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Maldives",locales:["dv-MV"],compliance:[],timezones:["Indian/Maldives"]},NP:{name:"Nepal",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Nepal",locales:["ne-NP"],compliance:["privacy-np"],timezones:["Asia/Kathmandu"]},PK:{name:"Pakistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Pakistan",locales:["ur-PK","en"],compliance:[],timezones:["Asia/Karachi"]},AM:{name:"Armenia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Armenia",locales:["hy-AM"],compliance:[],timezones:["Asia/Yerevan"]},AZ:{name:"Azerbaijan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Azerbaijan",locales:["az-AZ"],compliance:[],timezones:["Asia/Baku"]},GE:{name:"Georgia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Georgia",locales:["ka-GE"],compliance:[],timezones:["Asia/Tbilisi"]},KG:{name:"Kyrgyzstan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Kyrgyzstan",locales:["ky-KG","ru-KG"],compliance:[],timezones:["Asia/Bishkek"]},KZ:{name:"Kazakhstan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Kazakhstan",locales:["kk-KZ","ru-KZ"],compliance:[],timezones:["Asia/Almaty","Asia/Aqtobe"]},TJ:{name:"Tajikistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Tajikistan",locales:["tg-TJ"],compliance:[],timezones:["Asia/Dushanbe"]},TM:{name:"Turkmenistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Turkmenistan",locales:["tk-TM"],compliance:[],timezones:["Asia/Ashgabat"]},UZ:{name:"Uzbekistan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Uzbekistan",locales:["uz-UZ"],compliance:[],timezones:["Asia/Tashkent","Asia/Samarkand"]},AE:{name:"United Arab Emirates",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"United Arab Emirates (UAE PDPL / DIFC DPL / ADGM DPR)",locales:["ar-AE"],compliance:["uae-pdpl","difc-dpl","adgm-dpr"],timezones:["Asia/Dubai"]},BH:{name:"Bahrain",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Bahrain (PDPL)",locales:["ar-BH"],compliance:["pdpl-bh"],timezones:["Asia/Bahrain"]},IL:{name:"Israel",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Israel (Privacy Protection Law)",locales:["he-IL","ar-IL"],compliance:["privacy-il"],timezones:["Asia/Jerusalem"]},IQ:{name:"Iraq",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Iraq",locales:["ar-IQ"],compliance:[],timezones:["Asia/Baghdad"]},IR:{name:"Iran",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Iran",locales:["fa-IR"],compliance:[],timezones:["Asia/Tehran"]},JO:{name:"Jordan",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Jordan",locales:["ar-JO"],compliance:[],timezones:["Asia/Amman"]},KW:{name:"Kuwait",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Kuwait",locales:["ar-KW"],compliance:["privacy-kw"],timezones:["Asia/Kuwait"]},LB:{name:"Lebanon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Lebanon",locales:["ar-LB"],compliance:[],timezones:["Asia/Beirut"]},OM:{name:"Oman",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Oman (PDPL)",locales:["ar-OM"],compliance:["pdpl-om"],timezones:["Asia/Muscat"]},PS:{name:"Palestine",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Palestine",locales:["ar-PS"],compliance:[],timezones:["Asia/Gaza","Asia/Hebron"]},QA:{name:"Qatar",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Qatar (PDPL)",locales:["ar-QA"],compliance:["qpdl-qa"],timezones:["Asia/Qatar"]},SA:{name:"Saudi Arabia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Saudi Arabia (PDPL)",locales:["ar-SA"],compliance:["pdpl-sa"],timezones:["Asia/Riyadh"]},SY:{name:"Syria",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Syria",locales:["ar-SY"],compliance:[],timezones:["Asia/Damascus"]},YE:{name:"Yemen",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Yemen",locales:["ar-YE"],compliance:[],timezones:["Asia/Aden"]},BF:{name:"Burkina Faso",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Burkina Faso",locales:["fr-BF"],compliance:[],timezones:["Africa/Ouagadougou"]},BJ:{name:"Benin",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Benin",locales:["fr-BJ"],compliance:[],timezones:["Africa/Porto-Novo"]},CI:{name:"C\xF4te d'Ivoire",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"C\xF4te d'Ivoire",locales:["fr-CI"],compliance:[],timezones:["Africa/Abidjan"]},CM:{name:"Cameroon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cameroon",locales:["fr-CM","en"],compliance:[],timezones:["Africa/Douala"]},CV:{name:"Cabo Verde",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Cabo Verde",locales:["pt-CV"],compliance:[],timezones:["Atlantic/Cape_Verde"]},GA:{name:"Gabon",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Gabon",locales:["fr-GA"],compliance:[],timezones:["Africa/Libreville"]},GH:{name:"Ghana",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Ghana (DPA)",locales:["en"],compliance:["dpa-gh"],timezones:["Africa/Accra"]},GM:{name:"Gambia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Gambia",locales:["en"],compliance:[],timezones:["Africa/Banjul"]},GN:{name:"Guinea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guinea",locales:["fr-GN"],compliance:[],timezones:["Africa/Conakry"]},GQ:{name:"Equatorial Guinea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Equatorial Guinea",locales:["es-GQ","fr-GQ"],compliance:[],timezones:["Africa/Malabo"]},GW:{name:"Guinea-Bissau",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Guinea-Bissau",locales:["pt-GW"],compliance:[],timezones:["Africa/Bissau"]},LR:{name:"Liberia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Liberia",locales:["en"],compliance:[],timezones:["Africa/Monrovia"]},ML:{name:"Mali",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mali",locales:["fr-ML"],compliance:[],timezones:["Africa/Bamako"]},MR:{name:"Mauritania",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mauritania",locales:["ar-MR"],compliance:[],timezones:["Africa/Nouakchott"]},NE:{name:"Niger",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Niger",locales:["fr-NE"],compliance:[],timezones:["Africa/Niamey"]},NG:{name:"Nigeria",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Nigeria (NDPA)",locales:["en"],compliance:["ndpa-ng"],timezones:["Africa/Lagos"]},SL:{name:"Sierra Leone",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Sierra Leone",locales:["en"],compliance:[],timezones:["Africa/Freetown"]},SN:{name:"Senegal",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Senegal",locales:["fr-SN"],compliance:[],timezones:["Africa/Dakar"]},TG:{name:"Togo",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Togo",locales:["fr-TG"],compliance:[],timezones:["Africa/Lome"]},BI:{name:"Burundi",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Burundi",locales:["fr-BI"],compliance:[],timezones:["Africa/Bujumbura"]},DJ:{name:"Djibouti",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Djibouti",locales:["fr-DJ","ar-DJ"],compliance:[],timezones:["Africa/Djibouti"]},ER:{name:"Eritrea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Eritrea",locales:["ti-ER"],compliance:[],timezones:["Africa/Asmara"]},ET:{name:"Ethiopia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Ethiopia",locales:["am-ET"],compliance:[],timezones:["Africa/Addis_Ababa"]},KE:{name:"Kenya",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Kenya (DPA)",locales:["sw-KE","en"],compliance:["dpa-ke"],timezones:["Africa/Nairobi"]},KM:{name:"Comoros",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Comoros",locales:["ar-KM","fr-KM"],compliance:[],timezones:["Indian/Comoro"]},MG:{name:"Madagascar",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Madagascar",locales:["fr-MG"],compliance:[],timezones:["Indian/Antananarivo"]},MU:{name:"Mauritius",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Mauritius (DPA)",locales:["en","fr-MU"],compliance:["dpa-mu"],timezones:["Indian/Mauritius"]},MW:{name:"Malawi",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Malawi",locales:["en"],compliance:[],timezones:["Africa/Blantyre"]},MZ:{name:"Mozambique",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Mozambique",locales:["pt-MZ"],compliance:[],timezones:["Africa/Maputo"]},RW:{name:"Rwanda",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Rwanda (DPA)",locales:["rw-RW","en"],compliance:["dpa-rw"],timezones:["Africa/Kigali"]},SC:{name:"Seychelles",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Seychelles",locales:["fr-SC","en"],compliance:[],timezones:["Indian/Mahe"]},SO:{name:"Somalia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Somalia",locales:["so-SO"],compliance:[],timezones:["Africa/Mogadishu"]},SS:{name:"South Sudan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"South Sudan",locales:["en"],compliance:[],timezones:["Africa/Juba"]},ST:{name:"S\xE3o Tom\xE9 and Pr\xEDncipe",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"S\xE3o Tom\xE9 and Pr\xEDncipe",locales:["pt-ST"],compliance:[],timezones:["Africa/Sao_Tome"]},TZ:{name:"Tanzania",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Tanzania",locales:["sw-TZ","en"],compliance:[],timezones:["Africa/Dar_es_Salaam"]},UG:{name:"Uganda",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Uganda (DPA)",locales:["en"],compliance:["dpa-ug"],timezones:["Africa/Kampala"]},AO:{name:"Angola",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Angola",locales:["pt-AO"],compliance:[],timezones:["Africa/Luanda"]},BW:{name:"Botswana",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Botswana (DPA)",locales:["en"],compliance:["dpa-bw"],timezones:["Africa/Gaborone"]},LS:{name:"Lesotho",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Lesotho",locales:["en"],compliance:[],timezones:["Africa/Maseru"]},NA:{name:"Namibia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Namibia",locales:["en"],compliance:[],timezones:["Africa/Windhoek"]},SZ:{name:"Eswatini",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Eswatini",locales:["en"],compliance:[],timezones:["Africa/Mbabane"]},ZA:{name:"South Africa",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"South Africa (POPIA)",locales:["en","af-ZA"],compliance:["popia"],timezones:["Africa/Johannesburg"]},ZM:{name:"Zambia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Zambia (DPA)",locales:["en"],compliance:["dpa-zm"],timezones:["Africa/Lusaka"]},ZW:{name:"Zimbabwe",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Zimbabwe (DPA)",locales:["en"],compliance:["dpa-zw"],timezones:["Africa/Harare"]},DZ:{name:"Algeria",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Algeria",locales:["ar-DZ","fr-DZ"],compliance:["dpa-dz"],timezones:["Africa/Algiers"]},EG:{name:"Egypt",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Egypt (DPA)",locales:["ar-EG"],compliance:["dpa-eg"],timezones:["Africa/Cairo"]},LY:{name:"Libya",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Libya",locales:["ar-LY"],compliance:[],timezones:["Africa/Tripoli"]},MA:{name:"Morocco",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Morocco",locales:["ar-MA","fr-MA"],compliance:["dpa-ma"],timezones:["Africa/Casablanca"]},SD:{name:"Sudan",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Sudan",locales:["ar-SD"],compliance:[],timezones:["Africa/Khartoum"]},TN:{name:"Tunisia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Tunisia (DPA)",locales:["ar-TN","fr-TN"],compliance:["dpa-tn"],timezones:["Africa/Tunis"]},CD:{name:"DR Congo",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"DR Congo",locales:["fr-CD"],compliance:[],timezones:["Africa/Kinshasa","Africa/Lubumbashi"]},CF:{name:"Central African Republic",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Central African Republic",locales:["fr-CF"],compliance:[],timezones:["Africa/Bangui"]},CG:{name:"Republic of Congo",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Republic of Congo",locales:["fr-CG"],compliance:[],timezones:["Africa/Brazzaville"]},TD:{name:"Chad",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Chad",locales:["fr-TD","ar-TD"],compliance:[],timezones:["Africa/Ndjamena"]},BY:{name:"Belarus",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Belarus",locales:["be-BY","ru-BY"],compliance:[],timezones:["Europe/Minsk"]},MD:{name:"Moldova",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Moldova",locales:["ro-MD"],compliance:[],timezones:["Europe/Chisinau"]},RU:{name:"Russia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Russia",locales:["ru-RU"],compliance:[],timezones:["Europe/Kaliningrad","Europe/Moscow","Europe/Samara","Asia/Yekaterinburg","Asia/Omsk","Asia/Krasnoyarsk","Asia/Irkutsk","Asia/Yakutsk","Asia/Vladivostok","Asia/Magadan","Asia/Kamchatka"]},UA:{name:"Ukraine",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Ukraine",locales:["uk-UA"],compliance:[],timezones:["Europe/Kyiv"]},VA:{name:"Holy See",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Holy See",locales:["it-VA"],compliance:[],timezones:["Europe/Vatican"]},AU:{name:"Australia",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"Australia (Privacy Act)",locales:["en"],compliance:["privacy-au"],timezones:["Australia/Sydney","Australia/Brisbane","Australia/Adelaide","Australia/Darwin","Australia/Perth","Australia/Hobart"]},FJ:{name:"Fiji",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Fiji",locales:["en"],compliance:["privacy-fj"],timezones:["Pacific/Fiji"]},FM:{name:"Micronesia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Micronesia",locales:["en"],compliance:[],timezones:["Pacific/Chuuk","Pacific/Pohnpei","Pacific/Kosrae"]},KI:{name:"Kiribati",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Kiribati",locales:["en"],compliance:[],timezones:["Pacific/Tarawa","Pacific/Enderbury","Pacific/Kiritimati"]},MH:{name:"Marshall Islands",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Marshall Islands",locales:["en"],compliance:[],timezones:["Pacific/Majuro","Pacific/Kwajalein"]},MP:{name:"Northern Mariana Islands",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Northern Mariana Islands",locales:["en"],compliance:[],timezones:["Pacific/Saipan"]},NC:{name:"New Caledonia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"New Caledonia",locales:["fr-NC"],compliance:[],timezones:["Pacific/Noumea"]},NF:{name:"Norfolk Island",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Norfolk Island",locales:["en"],compliance:[],timezones:["Pacific/Norfolk"]},NR:{name:"Nauru",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Nauru",locales:["en"],compliance:[],timezones:["Pacific/Nauru"]},NU:{name:"Niue",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Niue",locales:["en"],compliance:[],timezones:["Pacific/Niue"]},NZ:{name:"New Zealand",type:"country",complianceGroup:"general-privacy-consent",default:"general-privacy-consent",description:"New Zealand (Privacy Act)",locales:["en"],compliance:["privacy-nz"],timezones:["Pacific/Auckland","Pacific/Chatham"]},PF:{name:"French Polynesia",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"French Polynesia",locales:["fr-PF"],compliance:[],timezones:["Pacific/Tahiti","Pacific/Marquesas","Pacific/Gambier"]},PG:{name:"Papua New Guinea",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Papua New Guinea",locales:["en"],compliance:["privacy-pg"],timezones:["Pacific/Port_Moresby","Pacific/Bougainville"]},PW:{name:"Palau",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Palau",locales:["en"],compliance:[],timezones:["Pacific/Palau"]},SB:{name:"Solomon Islands",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Solomon Islands",locales:["en"],compliance:[],timezones:["Pacific/Guadalcanal"]},TO:{name:"Tonga",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Tonga",locales:["en"],compliance:[],timezones:["Pacific/Tongatapu"]},TV:{name:"Tuvalu",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Tuvalu",locales:["en"],compliance:[],timezones:["Pacific/Funafuti"]},VU:{name:"Vanuatu",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Vanuatu",locales:["fr-VU","en"],compliance:[],timezones:["Pacific/Efate"]},WS:{name:"Samoa",type:"country",complianceGroup:"notice-only",default:"notice-only",description:"Samoa",locales:["en"],compliance:[],timezones:["Pacific/Apia"]},UK:{name:"United Kingdom",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"United Kingdom (UK GDPR + PECR)",locales:["en"],compliance:["uk-gdpr","pecr"],timezones:["Europe/London"]},CH:{name:"Switzerland",type:"country",complianceGroup:"opt-in",default:"opt-in",description:"Switzerland (revFADP)",locales:["de-CH","fr-CH","it-CH"],compliance:["revfadp"],timezones:["Europe/Zurich"]}}},Ne={GB:"UK",UK:"GB"};function N(t,e){let n=Ne[e];return t[e]??(n!==void 0?t[n]:void 0)}var Dn=[...Object.values(M.countries).reduce((t,e)=>(e.compliance.forEach(n=>{t.add(n)}),t),new Set)],Ln=Object.entries(M.countries).reduce(function(t,[e,n]){return t[e]=n.name,t},{}),Tn=Object.values(M.countries).reduce(function(t,e){return e.locales.forEach(n=>{t[n]=e.name}),t},{});function Lt(t){if(!t||typeof t!="object")return!1;let e=t;if(typeof e.version!="string"||e.override!==void 0&&typeof e.override!="boolean")return!1;let n=e.countries;return!n||typeof n!="object"?!1:Object.values(n).every(o=>!!o&&typeof o=="object"&&typeof o.complianceGroup=="string")}async function Ve(t,e){let n={map:M};if(t===void 0||t==="default")return n;let o,i;if(typeof t=="string")try{if(i=await fetch(t),!i.ok)return e(`compliance.complianceMap fetch from "${t}" failed (HTTP ${i.status}) \u2014 falling back to the embedded map.`),n;o=await i.json()}catch(r){return e(`compliance.complianceMap fetch from "${t}" failed (${r instanceof Error?r.message:String(r)}) \u2014 falling back to the embedded map.`),n}else o=t;if(!Lt(o))return e(`compliance.complianceMap ${typeof t=="string"?`at "${t}"`:"object"} failed validation \u2014 falling back to the embedded map.`),n;for(let[r,s]of Object.entries(o.countries))s.overriddenRegions&&s.default===void 0&&e(`compliance.complianceMap country "${r}" has overriddenRegions but no explicit default \u2014 falling back to complianceGroup ("${s.complianceGroup}"), which may under-comply for regions not listed.`);let a={map:o.override===!1?Tt(o):o};return i&&(a.response=i),a}function Tt(t){let e={...M.countries};for(let n of Object.keys(t.countries)){let o=Ne[n];o!==void 0&&!(o in t.countries)&&delete e[o]}return Object.assign(e,t.countries),{version:t.version,countries:e}}var ee="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function Rt(t){return new TextEncoder().encode(t)}function Ot(t){let e="";for(let n=0;n<t.length;n+=3){let o=t[n]??0,i=n+1<t.length?t[n+1]??0:0,a=n+2<t.length?t[n+2]??0:0;e+=ee[o>>2],e+=ee[(o&3)<<4|i>>4],n+1<t.length&&(e+=ee[(i&15)<<2|a>>6]),n+2<t.length&&(e+=ee[a&63])}return e}function He(t){let e={v:2,ts:Math.floor(Date.now()/100),cmpId:t.cmpId,cmpV:t.cmpVersion,cs:t.consentScreen,lang:t.consentLanguage.toUpperCase().slice(0,2),vlV:t.vendorListVersion,pc:t.purposeConsents,vc:t.vendorConsents};return Ot(Rt(JSON.stringify(e)))}var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";function zt(t){return new TextEncoder().encode(t)}function Bt(t){let e="";for(let n=0;n<t.length;n+=3){let o=t[n]??0,i=n+1<t.length?t[n+1]??0:0,a=n+2<t.length?t[n+2]??0:0;e+=te[o>>2],e+=te[(o&3)<<4|i>>4],n+1<t.length&&(e+=te[(i&15)<<2|a>>6]),n+2<t.length&&(e+=te[a&63])}return e}var Nt=0,Vt=1,Ht=2;function ve(t,e){return t?e?Vt:Ht:Nt}function je(t){let e={v:1,ts:Math.floor(Date.now()/100),cmpId:t.cmpId,cmpV:t.cmpVersion,sect:"usnat",saleOO:ve(t.saleApplicable,t.saleOptOut),shareOO:ve(t.sharingApplicable,t.sharingOptOut),taOO:ve(t.sharingApplicable,t.sharingOptOut),mspaCT:t.mspaCoveredTransaction?1:2,mspaOOM:t.mspaOptOutOptionMode,mspaSPM:t.mspaServiceProviderMode,...t.gpcDetected!==void 0?{gpc:t.gpcDetected}:{}};return Bt(zt(JSON.stringify(e)))}var jt=["ar","he","fa","ur","ps","sd","ug","yi"];function Ue(t,e){if(e==="ltr"||e==="rtl")return e;try{let o=new Intl.Locale(t).getTextInfo?.().direction;if(o==="ltr"||o==="rtl")return o}catch{}let n=t.slice(0,2).toLowerCase();return jt.includes(n)?"rtl":"ltr"}var d=()=>typeof window<"u"&&typeof document<"u",B=()=>d()?window:null;var $e=()=>d()&&typeof navigator<"u"?navigator:null;var F=["error"];function be(t){F=t}var v={info:(...t)=>{F.includes("info")&&console.info("[Consenti]",...t)},log:(...t)=>{F.includes("log")&&console.log("[Consenti]",...t)},warn:(...t)=>{F.includes("warning")&&console.warn("[Consenti]",...t)},error:(...t)=>{F.includes("error")&&console.error("[Consenti]",...t)}};function V(t){let e=document.createElement("script");if(t.src){let n=t.src.trim();if(/^javascript:/i.test(n))return v.warn(`${t.warnPrefix}: rejected src with javascript: protocol`),null;e.src=n}t.unsafeInnerHTML&&(e.innerHTML=t.unsafeInnerHTML);for(let[n,o]of Object.entries(t.attributes??{})){if(/^on/i.test(n)){v.warn(`${t.warnPrefix}: rejected attribute "${n}" (inline event handlers are not allowed)`);continue}e.setAttribute(n,o)}return document.head.appendChild(e),e}function ne(t){t?.remove()}var q=class{constructor(e){this.options=e;this.scriptEl=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let n=this.options.widget.getConsent()?.[this.options.cookieId]==="granted";n&&!this.scriptEl?this.inject():!n&&this.scriptEl&&this.revoke()}inject(){let e=V({...this.options.src!==void 0?{src:this.options.src}:{},...this.options.unsafeInnerHTML!==void 0?{unsafeInnerHTML:this.options.unsafeInnerHTML}:{},...this.options.attributes!==void 0?{attributes:this.options.attributes}:{},warnPrefix:"ConsentScript"});e&&(this.scriptEl=e,this.options.onLoad?.())}revoke(){ne(this.scriptEl),this.scriptEl=null,this.options.onRevoke?.()}destroy(){d()&&(this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler),this.revoke())}};var W=class{constructor(e){this.options=e;this.scriptEl=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let n=this.options.widget.getProfile()?.preferenceModal.categories[this.options.categoryId]?.cookies??[],o=this.options.widget.getConsent(),i=n.length>0&&n.every(a=>o?.[a]==="granted");i&&!this.scriptEl?this.inject():!i&&this.scriptEl&&this.revoke()}inject(){let e=V({...this.options.src!==void 0?{src:this.options.src}:{},...this.options.unsafeInnerHTML!==void 0?{unsafeInnerHTML:this.options.unsafeInnerHTML}:{},...this.options.attributes!==void 0?{attributes:this.options.attributes}:{},warnPrefix:"CategoryScript"});e&&(this.scriptEl=e,this.options.onLoad?.())}revoke(){ne(this.scriptEl),this.scriptEl=null,this.options.onRevoke?.()}destroy(){d()&&(this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler),this.revoke())}};var Ke="data-consenti-consent-script",Fe="data-consenti-category-script",Ut="data-consenti-bind",Ce="data-consenti-scanned";function $t(t){return t.getAttribute(Ut)!=="false"}function _e(t){if(!d())return[];let e=document.querySelectorAll(`script[type="text/plain"][${Ke}]:not([${Ce}]), script[type="text/plain"][${Fe}]:not([${Ce}])`),n=[];for(let o of e){o.setAttribute(Ce,"");let i=o.getAttribute("src")??void 0,a=i?void 0:o.textContent?.trim()||void 0,r=$t(o),s=o.getAttribute(Ke),c=o.getAttribute(Fe);s?n.push(new q({cookieId:s,widget:t,...i!==void 0?{src:i}:{},...a!==void 0?{unsafeInnerHTML:a}:{},bind:r})):c&&n.push(new W({categoryId:c,widget:t,...i!==void 0?{src:i}:{},...a!==void 0?{unsafeInnerHTML:a}:{},bind:r}))}return n}function k(t,e,n){let o="denied";for(let[i,a]of Object.entries(e)){if(a.purpose!==n)continue;let r=t[i];if(r==="granted")return"granted";r==="objected"&&o==="denied"&&(o="objected")}return o}var Kt=["ad_storage","analytics_storage","ad_user_data","ad_personalization","functionality_storage","personalization_storage","security_storage"];function J(t){let e={};for(let n of Kt){let o=t[n];o==="granted"?e[n]="granted":o==="denied"||o==="objected"?e[n]="denied":e[n]=n==="functionality_storage"||n==="security_storage"?"granted":"denied"}return e.ads_data_redaction=e.ad_storage==="denied"?"true":"false",e.url_passthrough="false",e}function qe(t,e){return{necessary:"granted",functional:k(t,e,"functional"),preferences:k(t,e,"preferences"),analytics:k(t,e,"analytics"),marketing:k(t,e,"marketing")}}function We(t,e){let n={};for(let[o,i]of Object.entries(e)){let a=i.legalBasis==="legitimate_interest"?"objected":"denied",r=i.cookies.map(s=>t[s]);r.length>0&&r.every(s=>s==="granted")?n[o]="granted":r.every(s=>s===a||s===void 0)?n[o]=a:n[o]="denied"}return n}function Je(t,e){return{analytics:k(t,e,"analytics"),target:k(t,e,"preferences"),manager:k(t,e,"marketing"),optimizer:k(t,e,"marketing")}}function Ye(t,e){return{pixel:k(t,e,"marketing"),api:k(t,e,"marketing"),plugins:k(t,e,"functional"),facebookLogin:k(t,e,"functional")}}function Ze(t,e){return{session:k(t,e,"analytics"),heatmaps:k(t,e,"analytics"),performance:k(t,e,"analytics")}}function Qe(t,e){return{identify:k(t,e,"preferences"),page:k(t,e,"analytics"),track:k(t,e,"analytics"),group:k(t,e,"analytics"),alias:k(t,e,"analytics")}}var we='.consenti-root{position:relative}.consenti-d-none{display:none !important}:root{--consenti-color-bg: #ffffff;--consenti-color-text: #1a2e4a;--consenti-color-text-muted: #949dab;--consenti-color-primary: #04111f;--consenti-color-primary-text: #ffffff;--consenti-color-secondary: #f0f4f8;--consenti-color-secondary-text: #1a2e4a;--consenti-color-border: #dbe4ee;--consenti-color-secondary-border: #1a2e4a;--consenti-color-overlay: #04111f;--consenti-color-accent: #d32f2f;--consenti-color-accent-text: #ffffff;--consenti-font-family: system-ui, -apple-system, sans-serif;--consenti-font-family-mono: ui-monospace, monospace;--consenti-font-size-base: 14px;--consenti-font-size-heading: 16px;--consenti-font-weight-heading: 600;--consenti-line-height: 1.5;--consenti-spacing-xs: 5px;--consenti-spacing-sm: 8px;--consenti-spacing-md: 16px;--consenti-spacing-lg: 24px;--consenti-border-radius: 8px;--consenti-border-radius-btn: 0;--consenti-shadow: 0 4px 24px rgba(21, 101, 192, 0.14);--consenti-toggle-bg-on: #43a047;--consenti-toggle-bg-partial: #97c098;--consenti-toggle-bg-off: #9ca3af;--consenti-toggle-knob: #ffffff;--consenti-toggle-width: 52px;--consenti-toggle-height: 28px;--consenti-z-banner: 9999;--consenti-z-overlay: 9998;--consenti-z-modal: 10000}.consenti-root--dark{--consenti-color-bg: #1e2535;--consenti-color-text: #e2e8f0;--consenti-color-text-muted: #a4acb9;--consenti-color-primary: #e2e8f0;--consenti-color-primary-text: #2a3447;--consenti-color-secondary: #2a3447;--consenti-color-secondary-text: #cbd5e1;--consenti-color-border: #374151;--consenti-color-overlay: rgba(0, 0, 0, 0.65);--consenti-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);--consenti-toggle-bg-off: #6b7280}.consenti-overlay{position:fixed;inset:0;background:var(--consenti-color-overlay);z-index:var(--consenti-z-overlay)}.consenti-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--consenti-spacing-sm) var(--consenti-spacing-md);border:none;border-radius:var(--consenti-border-radius-btn);font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);font-weight:500;line-height:1;cursor:pointer;text-decoration:none;transition:opacity .15s ease}.consenti-btn:focus-visible{outline:2px solid var(--consenti-color-primary);outline-offset:2px}.consenti-btn:hover{opacity:.9}.consenti-btn--primary{background:var(--consenti-color-primary);color:var(--consenti-color-primary-text);border:1px solid var(--consenti-color-primary)}.consenti-btn--secondary{background:var(--consenti-color-secondary);color:var(--consenti-color-primary);border:1px solid var(--consenti-color-primary)}.consenti-btn--secondary:hover{background:var(--consenti-color-primary);color:var(--consenti-color-secondary)}.consenti-btn--text{background:rgba(0,0,0,0);color:var(--consenti-color-primary);padding-left:0;padding-right:0;text-decoration:underline;text-underline-offset:4px;border:1px solid rgba(0,0,0,0)}.consenti-btn--accent{background:var(--consenti-color-accent);color:var(--consenti-color-accent-text)}.consenti-btn--action{background:rgba(0,0,0,0);color:var(--consenti-color-text);font-size:20px;line-height:1;border-radius:50%;height:24px;width:24px;font-size:24px;padding:0}.consenti-banner{position:fixed;left:0;right:0;z-index:var(--consenti-z-banner);background:var(--consenti-color-bg);color:var(--consenti-color-text);font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);line-height:var(--consenti-line-height);box-shadow:var(--consenti-shadow);padding:var(--consenti-spacing-lg);display:flex;flex-wrap:wrap;align-items:center;gap:var(--consenti-spacing-md)}.consenti-banner--top{top:0;border-bottom:1px solid var(--consenti-color-border)}@media(prefers-reduced-motion: no-preference){.consenti-banner--top{animation:consenti-slide-down .2s ease-out}}.consenti-banner--bottom{bottom:0;border-top:1px solid var(--consenti-color-border)}@media(prefers-reduced-motion: no-preference){.consenti-banner--bottom{animation:consenti-slide-up .2s ease-out}}.consenti-banner--top .consenti-banner__text-container,.consenti-banner--bottom .consenti-banner__text-container{min-width:60vw}.consenti-banner--middle{top:50%;transform:translateY(-50%);left:50%;right:auto;transform:translate(-50%, -50%);width:min(600px,90vw);border-radius:var(--consenti-border-radius);flex-direction:column;align-items:flex-start}.consenti-banner--left-bottom{bottom:var(--consenti-spacing-lg);left:var(--consenti-spacing-lg);right:auto;width:min(400px,90vw);border-radius:var(--consenti-border-radius)}.consenti-banner--right-bottom{bottom:var(--consenti-spacing-lg);right:var(--consenti-spacing-lg);left:auto;width:min(400px,90vw);border-radius:var(--consenti-border-radius)}.consenti-banner__text-container{flex:1}.consenti-banner__text-container a:not(.consenti-banner__link){color:var(--consenti-color-text)}.consenti-banner__text-container a:not(.consenti-banner__link):hover{color:var(--consenti-color-primary)}.consenti-banner__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin:0 0 var(--consenti-spacing-sm);width:calc(100% - 56px)}.consenti-banner__text{margin:0}.consenti-banner__links{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);margin-top:var(--consenti-spacing-sm)}.consenti-banner__link{font-size:.87em;padding:var(--consenti-spacing-xs) var(--consenti-spacing-sm);border-radius:var(--consenti-spacing-xs)}.consenti-banner__link:first-child{padding-left:0}.consenti-banner__controls{position:absolute;top:var(--consenti-spacing-sm);right:var(--consenti-spacing-sm);display:flex;align-items:center;gap:4px}.consenti-banner__buttons{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);align-items:center;margin-top:var(--consenti-spacing-sm)}.consenti-banner__close{margin-top:-5px}.consenti-banner .consenti__powered-by{bottom:0}@media(max-width: 576px){.consenti-banner{padding:var(--consenti-spacing-md);gap:var(--consenti-spacing-sm)}.consenti-banner--left-bottom,.consenti-banner--right-bottom{left:0;right:0;bottom:0;width:100%;border-radius:0;border-top:1px solid var(--consenti-color-border)}.consenti-banner--middle{width:95vw}.consenti-banner__buttons{width:100%;flex-direction:column;align-items:stretch}.consenti-banner__text-container{min-width:0;width:100%}}@keyframes consenti-slide-up{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes consenti-slide-down{from{transform:translateY(-100%)}to{transform:translateY(0)}}.consenti-modal{position:fixed;inset:0;z-index:var(--consenti-z-modal);display:flex;font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);color:var(--consenti-color-text);line-height:var(--consenti-line-height)}.consenti-modal--passthrough{pointer-events:none}.consenti-modal--passthrough .consenti-modal__container{pointer-events:auto}.consenti-modal--center{align-items:center;justify-content:center}.consenti-modal--left{align-items:stretch;justify-content:flex-start}.consenti-modal--left .consenti-modal__container{border-radius:0 var(--consenti-border-radius) var(--consenti-border-radius) 0;height:100%;max-height:100vh}.consenti-modal--right{align-items:stretch;justify-content:flex-end}.consenti-modal--right .consenti-modal__container{border-radius:0;height:100%;max-height:100vh}.consenti-modal--fullscreen{align-items:flex-start;justify-content:flex-start}.consenti-modal--fullscreen .consenti-modal__container{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;margin:0}.consenti-modal__overlay{position:absolute;inset:0;background:var(--consenti-color-overlay)}.consenti-modal__container{position:relative;z-index:1;background:var(--consenti-color-bg);border-radius:var(--consenti-border-radius);box-shadow:var(--consenti-shadow);width:min(560px,90vw);max-height:85vh;display:flex;flex-direction:column;overflow:hidden}@media(prefers-reduced-motion: no-preference){.consenti-modal__container{animation:consenti-fade-in .15s ease-out}}.consenti-modal__header{display:flex;justify-content:space-between;padding:var(--consenti-spacing-md) var(--consenti-spacing-lg);border-bottom:1px solid var(--consenti-color-border);flex-shrink:0;position:relative;flex-direction:column}.consenti-modal__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin:0;flex:1;width:calc(100% - 56px)}.consenti-modal__header-controls{display:flex;align-items:center;gap:6px;flex-shrink:0;position:absolute;inset-inline-end:15px;top:10px}.consenti-modal__close{flex-shrink:0;margin-top:-5px}.consenti-modal__links{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);margin-top:var(--consenti-spacing-md)}.consenti-modal__link{font-size:.87em;padding:var(--consenti-spacing-xs) var(--consenti-spacing-sm);border-radius:var(--consenti-spacing-xs)}.consenti-modal__link:first-child{padding-left:0}.consenti-modal__subheading{padding-top:var(--consenti-spacing-sm);margin:0;color:var(--consenti-color-text-muted);font-size:13px}.consenti-modal__text{padding:var(--consenti-spacing-sm) 0}.consenti-modal__body{overflow-y:auto;flex:1;padding:var(--consenti-spacing-sm) var(--consenti-spacing-lg);position:relative;display:flex;flex-direction:column}.consenti-modal__body .consenti__powered-by{bottom:0;left:0;position:relative}.consenti-modal__categories{display:flex;flex-grow:1;flex-direction:column;gap:var(--consenti-spacing-md);padding:var(--consenti-spacing-md) 0}.consenti-modal__buttons{display:flex;flex-wrap:wrap;gap:var(--consenti-spacing-sm);padding:var(--consenti-spacing-md);border-top:1px solid var(--consenti-color-border);flex-shrink:0}.consenti-modal__receipt-option{padding-top:var(--consenti-spacing-md);border-top:1px solid var(--consenti-color-border);flex-shrink:0}.consenti-modal__receipt-label{display:flex;align-items:center;gap:var(--consenti-spacing-sm);font-size:var(--consenti-font-size-base);cursor:pointer}.consenti-modal__receipt-checkbox{width:16px;height:16px;flex-shrink:0;cursor:pointer;accent-color:var(--consenti-toggle-bg-on)}.consenti-modal__receipt-desc{margin:4px 0 0 0;margin-inline-start:24px;font-size:12px;color:#6b7280}@keyframes consenti-fade-in{from{opacity:0;transform:scale(0.97)}to{opacity:1;transform:scale(1)}}.consenti-category{padding:var(--consenti-spacing-md) 0;border-bottom:1px solid var(--consenti-color-border)}.consenti-category:last-child{border-bottom:none}.consenti-category--mandatory .consenti-category__toggle{opacity:.6;cursor:default}.consenti-category__header{display:flex;align-items:center;justify-content:space-between;gap:var(--consenti-spacing-md);margin-bottom:var(--consenti-spacing-sm)}.consenti-category__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin:0}.consenti-category__text{color:var(--consenti-color-text-muted);font-size:13px;margin:0}.consenti-category__text--clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.consenti-category__text-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.consenti-category__show-more{background:none;border:none;padding:0;color:var(--consenti-color-primary);cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:2px}.consenti-category__show-more:hover{opacity:.8}.consenti-category__li-desc{margin-bottom:var(--consenti-spacing-sm);font-size:12px;color:#6b7280;font-style:italic}.consenti-category__toggle{flex-shrink:0;position:relative;width:var(--consenti-toggle-width);height:var(--consenti-toggle-height);border-radius:calc(var(--consenti-toggle-height)/2);background:var(--consenti-toggle-bg-off);border:none;cursor:pointer;transition:background .2s ease;padding:0}.consenti-category__toggle:focus-visible{outline:2px solid var(--consenti-color-primary);outline-offset:2px}.consenti-category__toggle[aria-checked=true]{background:var(--consenti-toggle-bg-on)}.consenti-category__toggle--mandatory{cursor:default}.consenti-category__toggle--partial{background:var(--consenti-toggle-bg-partial, var(--consenti-color-accent, #f59e0b))}.consenti-category__toggle--partial .consenti-category__toggle-icon--check,.consenti-category__toggle--partial .consenti-category__toggle-icon--cross,.consenti-category__toggle--partial .consenti-category__toggle-icon--objected{opacity:0}.consenti-category__toggle--partial.consenti-toggle--li .consenti-category__toggle-icon--objected{opacity:0}.consenti-category__toggle--partial .consenti-category__toggle-knob{transform:translateX(calc((var(--consenti-toggle-width) - var(--consenti-toggle-height)) / 2))}.consenti-category__toggle--partial::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:2px;border-radius:1px;background:rgba(255,255,255,.9);pointer-events:none;z-index:1}.consenti-category__toggle-icon{position:absolute;top:50%;transform:translateY(-50%);width:10px;height:10px;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .15s ease;color:rgba(255,255,255,.9)}.consenti-category__toggle-icon svg{width:10px;height:10px;overflow:visible}.consenti-category__toggle-icon--check{left:8px;opacity:0}[aria-checked=true] .consenti-category__toggle-icon--check{opacity:1}.consenti-category__toggle-icon--cross{right:8px;opacity:1}[aria-checked=true] .consenti-category__toggle-icon--cross{opacity:0}.consenti-category__toggle-icon--objected{right:8px;opacity:0}.consenti-category__toggle-knob{position:absolute;top:2px;left:2px;width:calc(var(--consenti-toggle-height) - 4px);height:calc(var(--consenti-toggle-height) - 4px);border-radius:50%;background:var(--consenti-toggle-knob);transition:transform .2s ease;display:block}[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(var(--consenti-toggle-width) - var(--consenti-toggle-height)))}.consenti-category__params{display:flex;flex-direction:column;gap:var(--consenti-spacing-xs, 6px);margin-top:var(--consenti-spacing-sm);padding-top:var(--consenti-spacing-sm);border-top:1px dashed var(--consenti-color-border)}.consenti-category__param{display:flex;align-items:center;justify-content:space-between;gap:var(--consenti-spacing-sm)}.consenti-category__param-info{display:flex;flex-direction:column;gap:2px;min-width:0}.consenti-category__param-label{font-size:12px;font-family:var(--consenti-font-family-mono, monospace);color:var(--consenti-color-text);overflow-wrap:anywhere}.consenti-category__param-meta{font-size:11px;color:var(--consenti-color-text-muted)}.consenti-category__param-toggle{flex-shrink:0;position:relative;width:calc(var(--consenti-toggle-width)*.8);height:calc(var(--consenti-toggle-height)*.8);border-radius:calc(var(--consenti-toggle-height)*.4);background:var(--consenti-toggle-bg-off);border:none;cursor:pointer;transition:background .2s ease;padding:0}.consenti-category__param-toggle:focus-visible{outline:2px solid var(--consenti-color-primary);outline-offset:2px}.consenti-category__param-toggle[aria-checked=true]{background:var(--consenti-toggle-bg-on)}.consenti-category__param-toggle--mandatory{cursor:default;opacity:.6}.consenti-category__param-toggle .consenti-category__toggle-icon{width:8px;height:8px}.consenti-category__param-toggle .consenti-category__toggle-icon svg{width:8px;height:8px}.consenti-category__param-toggle .consenti-category__toggle-icon--check{left:6px}.consenti-category__param-toggle .consenti-category__toggle-icon--cross{right:6px}.consenti-category__param-toggle .consenti-category__toggle-icon--objected{right:6px}.consenti-category__param-toggle .consenti-category__toggle-knob{width:calc(var(--consenti-toggle-height)*.8 - 4px);height:calc(var(--consenti-toggle-height)*.8 - 4px)}.consenti-category__param-toggle[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(var(--consenti-toggle-width) * 0.8 - var(--consenti-toggle-height) * 0.8))}.consenti-toggle--li .consenti-category__toggle-icon--cross{opacity:0}.consenti-toggle--li .consenti-category__toggle-icon--objected{opacity:1}.consenti-toggle--li[aria-checked=true] .consenti-category__toggle-icon--objected{opacity:0}[dir=rtl] .consenti-category__toggle-knob{left:auto;right:2px}[dir=rtl] .consenti-category__toggle[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(-1 * (var(--consenti-toggle-width) - var(--consenti-toggle-height))))}[dir=rtl] .consenti-category__toggle--partial .consenti-category__toggle-knob{transform:translateX(calc(-1 * (var(--consenti-toggle-width) - var(--consenti-toggle-height)) / 2))}[dir=rtl] .consenti-category__param-toggle[aria-checked=true] .consenti-category__toggle-knob{transform:translateX(calc(-1 * (var(--consenti-toggle-width) * 0.8 - var(--consenti-toggle-height) * 0.8)))}[dir=rtl] .consenti-category__toggle-icon--check{left:auto;right:8px}[dir=rtl] .consenti-category__toggle-icon--cross,[dir=rtl] .consenti-category__toggle-icon--objected{right:auto;left:8px}[dir=rtl] .consenti-category__param-toggle .consenti-category__toggle-icon--check{left:auto;right:6px}[dir=rtl] .consenti-category__param-toggle .consenti-category__toggle-icon--cross,[dir=rtl] .consenti-category__param-toggle .consenti-category__toggle-icon--objected{right:auto;left:6px}.consenti-locale-switcher{position:relative;display:inline-flex}.consenti-locale-switcher__btn{font-size:1rem;line-height:1;cursor:pointer}.consenti-locale-switcher__list{position:absolute;top:calc(100% + 4px);inset-inline-end:0;z-index:calc(var(--consenti-z-modal) + 1);background:var(--consenti-color-bg);border:1px solid var(--consenti-color-border);border-radius:var(--consenti-border-radius);box-shadow:var(--consenti-shadow);list-style:none;margin:0;padding:4px 0;min-width:80px}.consenti-locale-switcher__list li{display:block}.consenti-locale-switcher__option{display:block;width:100%;padding:6px 12px;text-align:start;font-size:var(--consenti-font-size-base);color:var(--consenti-color-text);background:none;border:none;cursor:pointer}.consenti-locale-switcher__option:hover{background:var(--consenti-color-secondary)}.consenti-locale-switcher__option--active{font-weight:600;color:var(--consenti-color-primary)}.consenti-locale-switcher--modal .consenti-locale-switcher__list{inset-inline-end:0}.consenti-meta-footer{display:flex;flex-wrap:wrap;gap:.5rem .75rem;font-size:.7rem;color:var(--consenti-color-text);opacity:.6;border-top:1px solid var(--consenti-color-border);padding:var(--consenti-spacing-sm) var(--consenti-spacing-md);justify-content:space-between;margin-top:.75rem;min-width:0}.consenti-meta-footer__item{display:inline-flex;align-items:center;gap:.25rem;min-width:0;max-width:100%}.consenti-meta-footer__id{font-family:monospace;font-size:.65rem;overflow-wrap:anywhere}.consenti-meta-footer__settings{background:none;border:none;padding:0;color:var(--consenti-color-primary);cursor:pointer;font-size:.7rem;text-decoration:underline;text-underline-offset:2px}.consenti-meta-footer__settings:hover{opacity:.8}.consenti--enhanced-a11y .consenti-btn{min-height:44px;min-width:44px}.consenti--enhanced-a11y .consenti-category__toggle{min-width:52px;min-height:28px}.consenti--enhanced-a11y .consenti-category__param-toggle{min-width:44px;min-height:24px}.consenti--enhanced-a11y *:focus-visible{outline:3px solid var(--consenti-color-primary);outline-offset:2px}.consenti-age-gate{position:fixed;inset:0;z-index:var(--consenti-z-modal);margin:auto;width:min(400px,90vw);height:fit-content;background:var(--consenti-color-bg);color:var(--consenti-color-text);border-radius:var(--consenti-border-radius);box-shadow:var(--consenti-shadow);padding:var(--consenti-spacing-lg);font-family:var(--consenti-font-family);font-size:var(--consenti-font-size-base);line-height:var(--consenti-line-height)}.consenti-age-gate__heading{font-size:var(--consenti-font-size-heading);font-weight:var(--consenti-font-weight-heading);margin-bottom:var(--consenti-spacing-sm)}.consenti-age-gate__text{color:var(--consenti-color-text-muted);margin-bottom:var(--consenti-spacing-md)}.consenti-age-gate__buttons{display:flex;gap:var(--consenti-spacing-sm)}.consenti__powered-by{position:absolute;inset-inline-end:var(--consenti-spacing-md);opacity:.3;color:var(--consenti-color-primary);font-size:70%}.consenti-transition-1_2x{transition:transform 300ms ease-in-out}.consenti-transition-1_2x:hover{transform:scale(1.2)}';var oe=class{constructor(){this.channel=null}get isSupported(){return d()&&typeof BroadcastChannel<"u"}connect(e){this.isSupported&&(this.onMessageCallback=e,this.channel=new BroadcastChannel("consenti"),this.channel.onmessage=n=>{n.data?.type&&e(n.data)},this.channel.onmessageerror=()=>{v.warn("BroadcastChannel message error \u2014 ignoring")})}send(e){this.channel?.postMessage(e)}disconnect(){this.channel?.close(),this.channel=null,this.onMessageCallback=void 0}};function Xe(t){let e={version:t.version,issuedAt:new Date().toISOString(),visitorId:t.visitorId,profileId:t.profileId,locale:t.locale,consent:t.consent};return t.signature&&(e.signature=t.signature),e}function et(t){if(typeof window>"u"||typeof document>"u")return;let e=JSON.stringify(t,null,2),n=new Blob([e],{type:"application/json"}),o=URL.createObjectURL(n),i=document.createElement("a");i.href=o,i.download=`consenti-receipt-${t.issuedAt.slice(0,10)}.json`,i.style.display="none",document.body.appendChild(i),i.click(),document.body.removeChild(i),setTimeout(()=>URL.revokeObjectURL(o),1e3)}function E(t){return`${t}_${crypto.randomUUID().replace(/-/g,"")}`}function tt(t){if(!d())return null;let e=document.cookie.match(new RegExp(`(?:^|;\\s*)${Ft(t)}=([^;]*)`));return e?decodeURIComponent(e[1]??""):null}function ke(t,e,n={}){if(!d())return;let o=n.secure??(typeof window<"u"&&typeof window.location<"u"&&window.location.protocol==="https:"),i=[`${encodeURIComponent(t)}=${encodeURIComponent(e)}`,`Path=${n.path??"/"}`,`SameSite=${n.sameSite??"Lax"}`,n.maxAge!=null?`Max-Age=${n.maxAge}`:"",o?"Secure":"",n.domain?`Domain=${n.domain}`:""];document.cookie=i.filter(Boolean).join("; ")}function nt(t,e={}){ke(t,"",{...e,maxAge:0})}function Ft(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qt(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.s=="string"&&typeof e.v=="number"&&typeof e.i=="string"&&typeof e.u=="string"&&typeof e.t=="number"&&(e.g===0||e.g===1)&&typeof e.p=="number"&&typeof e.c=="object"&&e.c!==null&&typeof e.l=="string"}function ie(t){return JSON.stringify(t)}function T(t){let e=t.lastIndexOf("::sig:"),n=e!==-1?t.slice(0,e):t;try{let o=JSON.parse(n);return qt(o)?o:null}catch{return null}}function Ae(t){let e={};for(let[n,o]of Object.entries(t.c))o==="g"?e[n]="granted":o==="o"?e[n]="objected":e[n]="denied";return e}function ae(t){let e={};for(let[n,o]of Object.entries(t))o==="granted"?e[n]="g":o==="objected"?e[n]="o":e[n]="d";return e}var R=class{constructor(e){this.mode=e;e==="localStorage"&&d()&&typeof localStorage>"u"&&(v.warn("localStorage is not available, falling back to cookie storage"),this.mode="cookie")}read(e){return d()?this.mode==="localStorage"?localStorage.getItem(e):tt(e):null}write(e,n,o={}){d()&&(this.mode==="localStorage"?localStorage.setItem(e,n):ke(e,n,o))}remove(e,n={}){d()&&(this.mode==="localStorage"?localStorage.removeItem(e):nt(e,n))}};var Ge="consenti_",Wt="visi_",Jt=3600*24*365*2;function Yt(t){return d()?t==="localStorage"?typeof localStorage<"u"?Object.keys(localStorage):[]:document.cookie.split(";").map(e=>e.split("=")[0]?.trim()??""):[]}function ot(t){for(let e of Yt(t))if(e.startsWith(Ge+Wt))return e.slice(Ge.length);return null}function it(t="cookie",e){let n=ot(t);if(n)return n;let o=E("visi"),i={path:"/",sameSite:"Lax",maxAge:Jt};if(e){let a=e.split(",")[0]?.trim();a&&(i.domain=a)}return new R(t).write(`${Ge}${o}`,"1",i),o}function at(t="cookie"){return ot(t)}function Zt(t){return t*24*60*60}var Se="consenti_data";function rt(t="cookie",e=Se){let o=new R(t).read(e);return o&&T(o)?.l||null}function st(t="cookie",e=Se){let o=new R(t).read(e);return o&&T(o)?.k||null}var xe="consenti";function Qt(t){let e=t.split("::");if(e.length<2)return null;let n=e[0]??"",o;if(n.startsWith("t:")){let c=n.slice(2),l=parseInt(c,10);if(!c||isNaN(l))return null;o=new Date(l*1e3).toISOString()}else if(n.startsWith("ConsentTimestamp:")){if(o=n.replace("ConsentTimestamp:",""),!o)return null}else return null;let i=e[1]??"",a=e[2],r={};for(let c of i.split("|")){let l=c.indexOf(":");if(l===-1)return null;let p=c.slice(0,l),u=c.slice(l+1);if(!p||u!=="granted"&&u!=="denied"&&u!=="objected")return null;r[p]=u}let s={timestamp:o,consent:r};return a?.startsWith("sig:")&&(s.signature=a.slice(4)),s}var re=class{constructor(e,n,o,i,a=Se){this.profileId=e;this.storageMode=n;this.cookieDomains=o;this.appUserId=i;this.cookieName=a;this.cachedData=null;this.expiryDays=365;this.profileVersion=0;this.storage=new R(n)}setProfileExpiry(e){this.expiryDays=e}setProfileVersion(e){this.profileVersion=e}getAppUserId(){if(this.cachedData)return this.cachedData.u||null;let e=this.storage.read(this.cookieName);return e&&T(e)?.u||null}setAppUserId(e){this.appUserId=e}getCookieName(){return this.cookieName}read(){let e=this.storage.read(this.cookieName);if(e){let o=T(e);if(o)return this.cachedData=o,this.toParseConsent(o)}let n=this.migrateLegacyCookie();return n?(this.cachedData=n,this.toParseConsent(n)):null}async readAndVerify(e){let n=this.storage.read(this.cookieName);if(!n){let c=this.migrateLegacyCookie();return c?(this.cachedData=c,this.toParseConsent(c)):null}let o=n.lastIndexOf("::sig:"),i=o!==-1?n.slice(0,o):n,a=o!==-1?n.slice(o+6):void 0,r=T(n);if(!r)return null;if(a){let{verifyValue:c}=await import("./hmac-UKMRMKN6.mjs");if(!await c(i,a,e))return v.warn("Cookie signature mismatch \u2014 consent cleared and banner will re-appear"),this.delete(),null}this.cachedData=r;let s=this.toParseConsent(r);return a?{...s,signature:a}:s}write(e,n={},o){let i=this.buildCookieData(e,n),a=ie(i);o&&(a=`${a}::sig:${o}`),this.storage.write(this.cookieName,a,this.buildCookieOpts()),this.cachedData=i}async writeAndSign(e,n,o={}){let{signValue:i}=await import("./hmac-UKMRMKN6.mjs"),a=this.buildCookieData(e,o),r=ie(a),s=await i(r,n);return this.storage.write(this.cookieName,`${r}::sig:${s}`,this.buildCookieOpts()),this.cachedData=a,s}delete(){let e=this.buildCookieOpts();this.storage.remove(this.cookieName,e),this.deleteLegacyCookies(),this.cachedData=null}hasConsent(){return this.cachedData?!0:this.read()!==null}getConsent(){return this.cachedData?Ae(this.cachedData):this.read()?.consent??null}getConsentDate(){if(this.cachedData)return new Date(this.cachedData.t*1e3);let e=this.read();return e?new Date(e.timestamp):!1}getConsentId(){if(this.cachedData)return this.cachedData.i;let e=this.storage.read(this.cookieName);return e?T(e)?.i??null:null}getConsentLocale(){if(this.cachedData)return this.cachedData.l||null;let e=this.storage.read(this.cookieName);return e&&T(e)?.l||null}setInMemory(e){this.cachedData={s:this.profileId,v:this.profileVersion,i:this.cachedData?.i??E("cons"),t:Math.round(Date.now()/1e3),u:this.appUserId??"",g:0,p:0,c:ae(e),l:this.cachedData?.l??"",k:this.cachedData?.k??""}}clearInMemory(){this.cachedData=null}toParseConsent(e){return{timestamp:new Date(e.t*1e3).toISOString(),consent:Ae(e)}}buildCookieData(e,n={}){return{s:this.profileId,v:this.profileVersion,i:n.consentId??E("cons"),t:Math.round(Date.now()/1e3),u:this.appUserId??"",g:n.gpcDetected?1:0,p:n.source??0,c:ae(e),l:n.locale??"",k:n.complianceGroup??""}}migrateLegacyCookie(){if(typeof document>"u")return null;let e=`_${this.profileId}`,n=this.storageMode==="localStorage"?typeof localStorage<"u"?Object.keys(localStorage):[]:document.cookie.split(";").map(o=>o.split("=")[0]?.trim()??"");for(let o of n){if(!o.startsWith(`${xe}_`)||!o.endsWith(e))continue;let i=this.storage.read(o);if(!i)continue;let a=Qt(i);if(!a)continue;let r=o.slice(xe.length+1,o.length-e.length),s=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)?r:"",c={s:this.profileId,v:0,i:E("cons"),t:Math.round(new Date(a.timestamp).getTime()/1e3),u:s,g:0,p:0,c:ae(a.consent),l:"",k:""};return this.storage.write(this.cookieName,ie(c),this.buildCookieOpts()),this.storage.remove(o,this.buildCookieOpts()),v.info(`Migrated consent cookie from "${o}" to "${this.cookieName}"`),c}return null}deleteLegacyCookies(){if(typeof document>"u"||this.storageMode==="localStorage")return;let e=`_${this.profileId}`,n=this.buildCookieOpts();for(let o of document.cookie.split(";")){let i=o.split("=")[0]?.trim()??"";i.startsWith(`${xe}_`)&&i.endsWith(e)&&this.storage.remove(i,n)}}buildCookieOpts(){let e={path:"/",sameSite:"Lax",maxAge:Zt(this.expiryDays)};if(this.cookieDomains){let n=this.cookieDomains.split(",")[0]?.trim();n&&(e.domain=n)}return e}};var se=class{constructor(e,n){this.profileId=e;this.gtmConfig=n;this.gtmConfig&&this.initConsentMode()}initConsentMode(){if(!d())return;let e=B();if(!e)return;let n=this.gtmConfig,o=n.dataLayer??"dataLayer";Array.isArray(e[o])||(e[o]=[]),typeof e.gtag!="function"&&(e.gtag=((...a)=>{e[o].push(a)}));let i=e.gtag;if(i("consent","default",J({})),n.containerId){let a=o!=="dataLayer"?`&l=${encodeURIComponent(o)}`:"";V({src:`https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(n.containerId)}${a}`,warnPrefix:"GTM"})}}dispatch(e,n){if(!d())return;let o=new CustomEvent(e,{detail:n,bubbles:!0});window.dispatchEvent(o),this.pushToGTM(e,n)}pushToGTM(e,n){let o=this.gtmConfig;if(!o)return;let i=B();if(!i)return;let a=o.dataLayer??"dataLayer",r=i[a];if(Array.isArray(r)&&(o.verbose&&(!o.events||o.events.length===0||o.events.includes(e))&&r.push({event:e,content:n}),e==="consenti:consentSubmitted")){let s=n.consentJson??{},c=typeof i.gtag=="function"?i.gtag:(...l)=>r.push(l);c("consent","update",J(s)),o.urlPassthrough&&c("set","url_passthrough",!0),o.adsDataRedaction&&c("set","ads_data_redaction",s.ad_storage!=="granted")}}};function ce(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}var ct="*";function le(t,e){if(e===void 0||e===null)return t;if(Array.isArray(t)&&Array.isArray(e)){let n=Math.max(t.length,e.length);return Array.from({length:n},(o,i)=>i>=e.length?t[i]:i>=t.length?e[i]:le(t[i],e[i]))}if(ce(t)&&ce(e)){let n=e[ct]===null?{}:{...t};for(let o of Object.keys(e)){if(o===ct)continue;let i=e[o];if(i===null){delete n[o];continue}n[o]=le(t[o],i)}return n}return ce(e)&&!ce(t)&&!Array.isArray(t)?le({},e):e}function I(t,e){return le(t,e)}function Pe(){return{tz:Intl.DateTimeFormat().resolvedOptions().timeZone,lang:navigator.language,langs:Array.from(navigator.languages)}}function lt(t){let e=Intl.DateTimeFormat().resolvedOptions();return btoa(JSON.stringify({timezone:e.timeZone,languages:Array.from(navigator.languages??[]),language:navigator.language??"",locale:t??e.locale??navigator.language??""}))}function Xt(t){return{purpose:t.purpose,...t.listenGpc?{listenGpc:!0}:{},...t.preGrant?{preGrant:!0}:{},...t.cpraCategory?{cpraCategory:t.cpraCategory}:{}}}function en(t){let e={};for(let[n,o]of Object.entries(t))e[n]=Xt(o);return e}function tn(t){return{text:t.text,style:t.style,action:t.action,...t.cookies!==void 0?{cookies:t.cookies}:{}}}function dt(t){let e={};for(let[n,o]of Object.entries(t))e[n]=tn(o);return e}function nn(t){return{heading:t.heading,htmlText:t.htmlText,legalBasis:t.legalBasis,...t.legitimateInterestDescription!==void 0?{legitimateInterestDescription:t.legitimateInterestDescription}:{},cookies:t.cookies}}function on(t){let e={};for(let[n,o]of Object.entries(t))e[n]=nn(o);return e}function pt(t){return{position:t.position,htmlText:t.htmlText,buttons:dt(t.buttons),...t.heading?{heading:t.heading}:{},...t.showClose!==void 0?{showClose:t.showClose}:{},...t.showLocaleSwitcher!==void 0?{showLocaleSwitcher:t.showLocaleSwitcher}:{}}}function an(t){return{heading:t.heading,htmlText:t.htmlText??"",buttons:dt(t.buttons),categories:on(t.categories),...t.position?{position:t.position}:{},...t.subheading?{subheading:t.subheading}:{},...t.persistent!==void 0?{persistent:t.persistent}:{}}}function rn(t,e,n){if(e){if(t[e])return t[e];let o=e.split("-")[0]??"",i=Object.keys(t).find(a=>a===o||a.startsWith(`${o}-`));if(i)return t[i]}return t[n]??Object.values(t)[0]}function ut(t,e){let n=rn(t.translations,e,t.defaultLocale);return{id:"0",defaultLocale:t.defaultLocale,locales:Object.keys(t.translations),cookies:en(t.cookies),...t.expiryDays?{expiryDays:t.expiryDays}:{},mainBanner:pt(n.mainBanner),preferenceModal:an(n.preferenceModal),gpcMode:t.gpcMode,complianceGroup:t.complianceGroup,...n.gpcBanner?{gpcBanner:pt(n.gpcBanner)}:{},...t.ageGate?{ageGate:t.ageGate}:{},...n.ageGateModal?{ageGateModal:n.ageGateModal}:{}}}var Ie=new Map;function mt(t,e){Ie.set(t,e)}function sn(t){return Ie.get(t)}function cn(t){for(let e of Ie.values())if(e.complianceGroup===t)return e}function pe(t){let e=t.gpcMode,n="ignore";return typeof e=="boolean"?n=e?"honor":"ignore":e&&(n=e),{id:t.id,...t.version!==void 0?{version:t.version}:{},defaultLocale:t.defaultLocale,locales:t.locales,cookies:t.cookies,mainBanner:t.mainBanner,allowReceipt:t.allowReceipt??!1,preferenceModal:t.preferenceModal,...t.expiryDays?{expiryDays:t.expiryDays}:{},...t.gpcBanner?{gpcBanner:t.gpcBanner}:{},...n?{gpcMode:n}:{},...t.darkMode!==void 0?{darkMode:t.darkMode}:{},...t.resolvedComplianceGroup??t.complianceGroup?{complianceGroup:t.resolvedComplianceGroup??t.complianceGroup}:{},...t.complianceConfig?{complianceConfig:t.complianceConfig}:{},...t.dpdpa?{dpdpa:t.dpdpa}:{},...t.ageGate?{ageGate:t.ageGate}:{},...t.ageGateModal?{ageGateModal:t.ageGateModal}:{},...t.hidePoweredBy!==void 0?{hidePoweredBy:t.hidePoweredBy}:{},...t.showFooterMetadata!==void 0?{showFooterMetadata:t.showFooterMetadata}:{},...t.enhanceAccessibility!==void 0?{enhanceAccessibility:t.enhanceAccessibility}:{}}}var gt="__consenti_resolved_",ln=3600*1e3;function pn(t,e,n){if(!n)return null;let o=`${gt}${t}_${e}`;try{let i=sessionStorage.getItem(o);if(!i)return null;let a=JSON.parse(i);return Date.now()>a.expiresAt?(sessionStorage.removeItem(o),null):a}catch{return null}}function dn(t,e,n,o){if(!n)return;let i=`${gt}${t}_${e}`;try{sessionStorage.setItem(i,JSON.stringify({...o,expiresAt:Date.now()+ln}))}catch{}}function de(t,e){if(e)return!0;let n=t.allowedOrigins;if(!n||n.length===0)return!0;let o=window.location.origin;return n.some(i=>i===o||i==="*")}async function Z(t,e){let{DEFAULT_PROFILES:n}=await import("./profiles-5ZLWWN2L.mjs"),o=n[t];return o?ut(o,"en"):null}function ft(t,e){let n=e.core?.usePrebuiltProfiles??"all";return n==="all"?!0:n.includes(t)}var Ee;function un(){if(Ee)return Ee;let t=new Map,e=M.countries;for(let[n,o]of Object.entries(e))for(let i of o.timezones??[]){let a=t.get(i)??[];a.push(n),t.set(i,a)}return Ee=t,t}function mn(t){let e=t.replace(/_/g,"-").split("-"),n=e.length>=2?e[e.length-1]?.toUpperCase():void 0;return n&&/^[A-Z]{2}$/.test(n)&&N(M.countries,n)?n:void 0}function gn(t,e){let n=un().get(t)??[],o=e.map(mn).filter(i=>!!i);return n.length===1?n[0]:n.length>1?o.find(i=>n.includes(i))??n[0]:o[0]}function fn(t,e,n){let o=gn(t,e);if(n&&o){let s=N(n.countries,o);if(s)return s.default??s.complianceGroup;if(n.override===!0)return"opt-in"}let i=M.countries,a=o?N(i,o):void 0;if(a?.default)return a.default;let r=t.split("/");return r[0]==="Europe"?"opt-in":r[0]==="America"?"opt-out":"opt-in"}function yn(t,e,n){if(!t)return"opt-in";if(n){let r=N(n.countries,t);if(r)return(e?r.overriddenRegions?.[e]?.complianceGroup:void 0)??r.default??r.complianceGroup;if(n.override===!0)return"opt-in"}let o=M.countries,i=N(o,t);return i?(e?i.overriddenRegions?.[e]?.complianceGroup:void 0)??i.default??i.complianceGroup:"opt-in"}function j(t){let e=t.core?.locale;if(e&&e!=="auto")return e;let n=rt(t.core?.storage??"cookie",t.core?.cookieName);return n||navigator.language}function yt(t){return t.api?.tenantId??t.core?.tenantId??"default"}async function H(t,e){try{return await $(t,{},e)}catch{return null}}function ht(t){let e=t;return{...e.id!==void 0?{id:e.id}:{},...e.defaultLocale!==void 0?{defaultLocale:e.defaultLocale}:{},...e.expiryDays!==void 0?{expiryDays:e.expiryDays}:{},...e.cookies!==void 0?{cookies:e.cookies}:{},...e.mainBanner!==void 0?{mainBanner:e.mainBanner}:{},...e.gpcBanner!==void 0?{gpcBanner:e.gpcBanner}:{},...e.preferenceModal!==void 0?{preferenceModal:e.preferenceModal}:{},...e.darkMode!==void 0?{darkMode:e.darkMode}:{},...e.allowedOrigins!==void 0?{allowedOrigins:e.allowedOrigins}:{},...e.dpdpa!==void 0?{dpdpa:e.dpdpa}:{},...e.ageGate!==void 0?{ageGate:e.ageGate}:{},...e.ageGateModal!==void 0?{ageGateModal:e.ageGateModal}:{},...e.complianceGroup!==void 0?{complianceGroup:e.complianceGroup}:{},...e.gpcMode!==void 0?{gpcMode:e.gpcMode}:{},...e.hidePoweredBy!==void 0?{hidePoweredBy:e.hidePoweredBy}:{},...e.allowReceipt!==void 0?{allowReceipt:e.allowReceipt}:{},...e.complianceConfig!==void 0?{complianceConfig:e.complianceConfig}:{},...e.showFooterMetadata!==void 0?{showFooterMetadata:e.showFooterMetadata}:{},...e.enhanceAccessibility!==void 0?{enhanceAccessibility:e.enhanceAccessibility}:{}}}async function vt(t,e){let n=cn(t);if(n){if(n.deepMerge){let o=await Z(t,e),i=ht(n);return o?I(o,i):i}return Ct(n,e)}}async function Y(t){let{map:e}=await Ve(t.compliance?.complianceMap,c=>v.warn(c)),n=e===M?void 0:e,o=t.compliance?.geoDataProvider,i;if(typeof o=="function"){let{tz:c,lang:l,langs:p}=Pe(),u=await o({timezone:c,language:l,languages:p,locale:j(t)});i=u.complianceGroup?u.complianceGroup:yn(u.country,u.region,n)}else{let{tz:c,lang:l,langs:p}=Pe();i=fn(c,p.length?p:[l],n)}let a=j(t),r=await vt(i,a);if(r)return r;if(!ft(i,t))throw new Error(`Pre-built profile for complianceGroup "${i}" is disallowed by usePrebuiltProfiles config.`);let s=await Z(i,a);if(!s)throw new Error(`No embedded profile found for complianceGroup "${i}".`);return s}async function Me(t,e){let n=j(e),o=await vt(t,n);if(o)return o;if(!ft(t,e))throw new Error(`Pre-built profile for complianceGroup "${t}" is disallowed by usePrebuiltProfiles config.`);let i=await Z(t,n);if(!i)throw new Error(`No embedded profile found for complianceGroup "${t}".`);return i}async function bt(t){let e=j(t),n=yt(t),o=t.core?.cacheResolvedProfiles!==!1,i=t.api?.baseUrl??window.location.origin,a=t.api?.trustDomain??!1,r=pn(n,e,o);if(r){let m=await H(r.filePath,t.api?.authToken);if(m)return de(m,a)?{...pe(m),complianceGroup:r.complianceGroup,...r.requiresSensitiveOptIn?{requiresSensitiveOptIn:!0}:{}}:(v.error(`Domain ${window.location.origin} is not in allowedOrigins for this profile. Falling back to pre-built profile.`),Y(t))}let s=st(t.core?.storage??"cookie",t.core?.cookieName);if(s){let m=await H(`${i}/consenti/api/v1/profiles/${n}/${s}/${encodeURIComponent(e)}`,t.api?.authToken)??await H(`${i}/consenti/api/v1/profiles/${n}/${s}/default`,t.api?.authToken);if(m&&de(m,a))return{...pe(m),complianceGroup:s}}let c=`${i}/consenti/api/v1/resolve-profile?data=${encodeURIComponent(lt(e))}`,l,p,u,f;try{let m=await $(c,{},t.api?.authToken);l=m.path,p=m.complianceGroup,u=m.locale,f=m.requiresSensitiveOptIn,m.found&&l&&dn(n,e,o,{filePath:`${i}${l}`,version:0,complianceGroup:p,tenantId:n,locale:u,...f?{requiresSensitiveOptIn:!0}:{}})}catch{return v.warn("resolve-profile failed; falling back to pre-built profile."),Y(t)}if(l){let m=await H(`${i}${l}`,t.api?.authToken);if(m&&de(m,a))return{...pe(m),complianceGroup:p,...f?{requiresSensitiveOptIn:!0}:{}}}if(p){let m=await Z(p,u);if(m)return{...m,...f?{requiresSensitiveOptIn:!0}:{}}}return Y(t)}async function hn(t,e){let n=j(e),o=yt(e),i=e.api?.baseUrl??window.location.origin,a=e.api?.trustDomain??!1,r=e.api?.complianceGroup??t,s=await H(`${i}/consenti/api/v1/profiles/${o}/${r}/${encodeURIComponent(n)}`,e.api?.authToken)??await H(`${i}/consenti/api/v1/profiles/${o}/${r}/default`,e.api?.authToken);return s?de(s,a)?{...pe(s),complianceGroup:r}:(v.error(`Domain ${window.location.origin} is not in allowedOrigins for this profile. Falling back to pre-built profile.`),Me(r,e)):(v.warn(`Could not fetch profile for ${r}; falling back to pre-built.`),Me(r,e))}function Ct(t,e,n){let o=t.translations?.[e];if(o===void 0)return e!==t.defaultLocale&&v.warn(`Unable to resolve requested locale "${e}" of profile "${n??t.id}", Using default "${t.defaultLocale}".`),{id:t.id,gpcMode:t.gpcMode??"ignore",allowReceipt:t.allowReceipt??!1,defaultLocale:t.defaultLocale,locales:[t.defaultLocale,...Object.keys(t.translations??{})],cookies:t.cookies??{},...t.expiryDays?{expiryDays:t.expiryDays}:{},mainBanner:t.mainBanner,...t.gpcBanner?{gpcBanner:t.gpcBanner}:{},preferenceModal:t.preferenceModal,...t.darkMode!==void 0?{darkMode:t.darkMode}:{},...t.complianceGroup?{complianceGroup:t.complianceGroup}:{},...t.ageGate?{ageGate:t.ageGate}:{},...t.ageGateModal?{ageGateModal:t.ageGateModal}:{}};let i=I(t.mainBanner,o.mainBanner),a=t.gpcBanner?I(t.gpcBanner,o.gpcBanner??{}):!1,r=I(t.preferenceModal??{},o.preferenceModal??{}),s=t.ageGateModal?I(t.ageGateModal,o.ageGateModal??{}):void 0;return{id:t.id,gpcMode:t.gpcMode??"ignore",allowReceipt:t.allowReceipt??!1,defaultLocale:t.defaultLocale,locales:[t.defaultLocale,...Object.keys(t.translations??{})],cookies:t.cookies??{},...t.expiryDays?{expiryDays:t.expiryDays}:{},mainBanner:i,...a?{gpcBanner:a}:{},preferenceModal:r,...t.darkMode!==void 0?{darkMode:t.darkMode}:{},...t.complianceGroup?{complianceGroup:t.complianceGroup}:{},...t.ageGate?{ageGate:t.ageGate}:{},...s?{ageGateModal:s}:{}}}async function vn(t,e){e.api?.enabled&&v.warn("Local profile used instead of server profile. Check compliance.type config.");let n=j(e),o=sn(t);if(o){if(o.deepMerge&&o.complianceGroup){let i=await Z(o.complianceGroup,n),a=ht(o);return i?I(i,a):a}return Ct(o,n,t.description)}return v.error(`Unable to resolve locally registered profile "${t.description}", Using compliance.type: 'auto'.`),e.api?.enabled?bt(e):Y(e)}async function _t(t){let e=t.compliance?.type??"auto",n=t.api?.enabled??!1;return n&&t.compliance?.complianceMap&&v.warn("compliance.complianceMap is ignored when api.enabled is true \u2014 the server resolves the compliance group."),n&&t.compliance?.geoDataProvider&&v.warn("compliance.geoDataProvider (widget config) is ignored when api.enabled is true \u2014 configure compliance.geoDataProvider on the @consenti/api server instead, the server resolves the compliance group."),e==="auto"?n?bt(t):Y(t):typeof e=="symbol"?vn(e,t):n?hn(e,t):Me(e,t)}function L(){let t=$e();return t?"globalPrivacyControl"in t&&t.globalPrivacyControl===!0:!1}function wt(t,e,n,o){if(o==="ignore"||!L())return{...n};let i={...n},a=K(e);for(let[r,s]of Object.entries(t))P(r,a)||s.listenGpc&&(i[r]=he(r,a)==="legitimate_interest"?"objected":"denied");for(let r of Object.keys(t))P(r,a)&&(i[r]="granted");return i}var kt=5,bn="2.3";function Cn(t,e){let n=new Set,o=new Set;if(t&&e){for(let[i,a]of Object.entries(t.cookies))if(!(e[i]!=="granted"||!a.tcfVendorId)){o.add(a.tcfVendorId);for(let r of a.tcfPurposes??[])n.add(r)}}return{purposeConsents:Array.from(n).sort((i,a)=>i-a),vendorConsents:Array.from(o).sort((i,a)=>i-a)}}function ue(t,e){let n={};for(let o=1;o<=e;o++)n[o]=t.includes(o);return n}function At(t){if(!d())return;let e=B();if(!e||!t().tcfConfig?.enabled||e.__tcfapi)return;let n=new Map,o=0;function i(l){let{profile:p,consent:u,tcfConfig:f}=t(),m=f??{enabled:!1,cmpId:0,cmpVersion:0},{purposeConsents:g,vendorConsents:h}=Cn(p,u),b=p?.complianceGroup==="opt-in";return{tcString:He({cmpId:m.cmpId,cmpVersion:m.cmpVersion,consentScreen:1,consentLanguage:"en",vendorListVersion:m.vendorListVersion??0,purposeConsents:g,vendorConsents:h}),tcfPolicyVersion:kt,cmpId:m.cmpId,cmpVersion:m.cmpVersion,gdprApplies:b,eventStatus:u?"tcloaded":"cmpuishown",cmpStatus:"loaded",isServiceSpecific:!0,useNonStandardStacks:!1,publisherCC:m.publisherCC??"AA",purposeOneTreatment:!1,...l!==void 0?{listenerId:l}:{},purpose:{consents:ue(g,10),legitimateInterests:ue([],10)},vendor:{consents:ue(h,Math.max(0,...h)),legitimateInterests:ue([],0)}}}function a(){for(let[l,p]of n)p(i(l),!0)}function r(l,p,u,f){switch(l){case"ping":{let{profile:m,consent:g,tcfConfig:h}=t();u({gdprApplies:m?.complianceGroup==="opt-in",cmpLoaded:!0,cmpStatus:"loaded",displayStatus:g?"hidden":"visible",apiVersion:bn,cmpVersion:h?.cmpVersion??0,cmpId:h?.cmpId??0,gvlVersion:h?.gvlVersion??0,tcfPolicyVersion:kt},!0);return}case"getTCData":u(i(),!0);return;case"addEventListener":{let m=++o;n.set(m,u),u(i(m),!0);return}case"removeEventListener":{let m=typeof f=="number"?f:void 0,g=m!==void 0&&n.delete(m);u(g,g);return}}}let s=e.__tcfapi?.a??[],c=((l,p,u,f)=>{r(l,p,u,f)});c.a=[],e.__tcfapi=c,window.addEventListener("consenti:consentSubmitted",a);for(let[l,p,u,f]of s)r(l,p,u,f)}var Gt="1.1",De=7;function _n(t,e){let n=!1,o=!1,i=!0,a=!0;if(t&&e)for(let[r,s]of Object.entries(t.cookies))s.cpraCategory==="sale"&&(n=!0,e[r]==="granted"&&(i=!1)),s.cpraCategory==="sharing"&&(o=!0,e[r]==="granted"&&(a=!1));return{saleApplicable:n,sharingApplicable:o,saleOptOut:i,sharingOptOut:a}}function xt(t){if(!d())return;let e=B();if(!e||!t().gppConfig?.enabled||e.__gpp)return;let n=new Map,o=0;function i(){let{profile:p,consent:u,gppConfig:f}=t(),m=f??{enabled:!1,cmpId:0,cmpVersion:0,mspaCoveredTransaction:!1,mspaOptOutOptionMode:0,mspaServiceProviderMode:0},{saleApplicable:g,sharingApplicable:h,saleOptOut:b,sharingOptOut:A}=_n(p,u);return je({cmpId:m.cmpId,cmpVersion:m.cmpVersion,mspaCoveredTransaction:m.mspaCoveredTransaction,mspaOptOutOptionMode:m.mspaOptOutOptionMode,mspaServiceProviderMode:m.mspaServiceProviderMode,saleOptOut:b,saleApplicable:g,sharingOptOut:A,sharingApplicable:h,gpcDetected:L()})}function a(){let{consent:p,gppConfig:u}=t();return{gppVersion:Gt,cmpStatus:"loaded",cmpDisplayStatus:p?"hidden":"visible",signalStatus:p?"ready":"not ready",supportedAPIs:[`${De}:usnat`],cmpId:u?.cmpId??0,sectionList:[De],applicableSections:[De],gppString:i(),parsedSections:{}}}function r(){for(let[p,u]of n)u({...a(),listenerId:p,pingData:a()},!0)}function s(p,u,f){switch(p){case"ping":u(a(),!0);return;case"addEventListener":{let m=++o;n.set(m,u),u({...a(),listenerId:m,pingData:a()},!0);return}case"removeEventListener":{let m=typeof f=="number"?f:void 0,g=m!==void 0&&n.delete(m);u(g,g);return}case"getSection":u(f==="usnat"?i():null,f==="usnat");return;case"hasSection":u(f==="usnat",!0);return}}let c=e.__gpp?.queue??[],l=((p,u,f)=>{s(p,u,f)});l.queue=[],l.gppVersion=Gt,e.__gpp=l,window.addEventListener("consenti:consentSubmitted",r);for(let[p,u,f]of c)s(p,u,f)}function me(t,e,n){let o=document.createElement("button");return o.type="button",t&&(o.id=t),o.className=`consenti-btn consenti-btn--${e.style}`,o.textContent=e.text,o.addEventListener("click",()=>{switch(e.action){case"custom":{let i=e.cookies;i==="*"?n.onGrantAll():i==="!"?n.onDenyAll():Array.isArray(i)&&i.length>0&&n.onGrantSpecific(i);break}case"submit":n.onSubmit();break;case"manage":n.onManage();break;case"close":n.onClose();break}}),o}function U(t,e){let n=document.createElement("div");return n.className="consenti-overlay",n.style.opacity=String(t/100),n.setAttribute("aria-hidden","true"),e&&n.addEventListener("click",e),n}var ge=class{constructor(){this.el=null;this.overlayEl=null}build(e,n,o,i,a,r,s=!0,c="main"){let l=document.createElement("div");l.id="consenti-banner",l.className=`consenti-banner consenti-banner--${c} consenti-banner--${e.position}`,l.setAttribute("role","region"),l.setAttribute("aria-label","Cookie consent"),l.setAttribute("aria-live","polite");let p=document.createElement("div");p.className="consenti-banner__text-container";let u=document.createElement("div");if(u.className="consenti-banner__links",e.heading){let y=e.headingTag??"div",_=document.createElement(y);_.id="consenti-banner-heading",_.className="consenti-banner__heading",_.textContent=e.heading,p.appendChild(_)}let f=document.createElement("div");if(f.className="consenti-banner__text",f.innerHTML=e.htmlText,o){let y=document.createElement("a");y.href=o,y.className="consenti-banner__link consenti-banner__link--privacy consenti-btn consenti-btn--text",y.textContent="Privacy Policy",y.setAttribute("target","_blank"),y.setAttribute("rel","noopener noreferrer"),u.appendChild(y)}p.appendChild(f);let m=Object.entries(e.buttons),g=m.filter(y=>y[1].action==="link");if(g.length>0)for(let[,y]of g){if(!y.url)continue;let _=document.createElement("a");_.href=y.url,_.className=`consenti-banner__link consenti-btn consenti-btn--${y.style??"text"}`,_.textContent=y.text,_.setAttribute("target","_blank"),_.setAttribute("rel","noopener noreferrer"),u.appendChild(_)}(g.length>0||o)&&p.appendChild(u),l.appendChild(p);let h=m.filter(([,y])=>y.action!=="link");if(h.length>0){let y=document.createElement("div");y.className="consenti-banner__buttons";for(let[_,G]of h)y.appendChild(me(_,G,n));l.appendChild(y)}let b=e.showClose,A=e.showLocaleSwitcher&&i&&i.length>0;if(b||A){let y=document.createElement("div");if(y.className="consenti-banner__controls",A&&i&&r&&y.appendChild(wn(i,a,r)),b){let _=document.createElement("button");_.type="button",_.className="consenti-banner__close consenti-btn consenti-transition-1_2x consenti-btn--action",_.setAttribute("aria-label","Close cookie banner"),_.textContent="\xD7",_.addEventListener("click",n.onClose),y.appendChild(_)}l.appendChild(y)}e.overlayOpacity&&e.overlayOpacity>0&&(this.overlayEl=U(e.overlayOpacity));let S=document.createElement("a");return S.href="https://consenti.dev/?utm_source=widget&utm_medium=powered-by&utm_campaign=consenti-ui",S.className="consenti__powered-by",S.textContent="Powered by Consenti \u2197",S.setAttribute("target","_blank"),S.setAttribute("rel","noopener noreferrer"),s&&S.classList.add("consenti-d-none"),l.appendChild(S),this.el=l,l}getOverlay(){return this.overlayEl}show(){this.el&&(this.el.style.display=""),this.overlayEl&&(this.overlayEl.style.display="")}hide(){this.el&&(this.el.style.display="none"),this.overlayEl&&(this.overlayEl.style.display="none")}remove(){this.el?.remove(),this.overlayEl?.remove(),this.el=null,this.overlayEl=null}};function wn(t,e,n){let o=document.createElement("div");o.className="consenti-locale-switcher";let i=document.createElement("button");i.type="button",i.className="consenti-locale-switcher__btn consenti-btn consenti-transition-1_2x consenti-btn--action",i.setAttribute("aria-label","Switch language"),i.setAttribute("aria-haspopup","listbox"),i.textContent="\u{1F310}";let a=document.createElement("ul");a.className="consenti-locale-switcher__list",a.setAttribute("role","listbox"),a.setAttribute("aria-label","Select language"),a.hidden=!0;for(let r of t){let s=document.createElement("li");s.setAttribute("role","option"),s.setAttribute("aria-selected",String(r===e));let c=document.createElement("button");c.type="button",c.className=`consenti-locale-switcher__option${r===e?" consenti-locale-switcher__option--active":""}`,c.textContent=r,c.addEventListener("click",l=>{l.stopPropagation(),a.hidden=!0,r!==e&&n(r)}),s.appendChild(c),a.appendChild(s)}return i.addEventListener("click",r=>{r.stopPropagation(),a.hidden=!a.hidden}),document.addEventListener("click",()=>{a.hidden=!0},{capture:!0,once:!1}),o.appendChild(i),o.appendChild(a),o}var kn=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])','[contenteditable="true"]'].join(", ");function St(t){let e=()=>Array.from(t.querySelectorAll(kn)).filter(i=>!i.closest('[aria-hidden="true"]')),n=i=>{if(i.key!=="Tab")return;let a=e();if(a.length===0)return;let r=a[0],s=a[a.length-1];i.shiftKey?(document.activeElement===r||document.activeElement===t)&&(i.preventDefault(),s.focus()):document.activeElement===s&&(i.preventDefault(),r.focus())},o=i=>{i.key==="Escape"&&t.dispatchEvent(new CustomEvent("consenti:closeRequest",{bubbles:!0}))};return document.addEventListener("keydown",n),document.addEventListener("keydown",o),e()[0]?.focus(),()=>{document.removeEventListener("keydown",n),document.removeEventListener("keydown",o)}}var fe=class t{constructor(){this.el=null;this.triggerEl=null;this.trapCleanup=null;this.toggleState=new Map;this.paramToggles=new Map;this.categoryToggles=new Map;this.categoryDisclosures=new Map;this.receiptCheckbox=null;this.passthrough=!1;this.mobileBreakpoint=576;this.savedBodyOverflow=void 0}build(e,n,o,i,a,r,s,c,l,p=!0){this.mobileBreakpoint=e.mobileFullScreenBreakpoint??576;let u=e.position??"center",f=document.createElement("div");f.id="consenti-modal",f.className=`consenti-modal consenti-modal--${u}`,f.setAttribute("role","dialog"),f.setAttribute("aria-modal","true");let m=e.overlayOpacity??50;if(this.passthrough=m===0,m>0){let C=e.persistent?void 0:()=>i.onClose(),w=U(m,C);w.className="consenti-modal__overlay",f.appendChild(w)}else f.classList.add("consenti-modal--passthrough");let g=document.createElement("div");g.className="consenti-modal__container";let h=document.createElement("div");h.className="consenti-modal__header";let b=document.createElement("div");if(b.className="consenti-modal__body",e.heading){let C=e.headingTag??"div",w=document.createElement(C);w.id="consenti-modal-heading",w.className="consenti-modal__heading",w.textContent=e.heading,h.appendChild(w),f.setAttribute("aria-labelledby","consenti-modal-heading")}if(e.subheading){let C=document.createElement("p");C.className="consenti-modal__subheading",C.textContent=e.subheading,h.appendChild(C)}let A=e.showClose!==!1,S=e.showLocaleSwitcher&&s&&s.length>0;if(S||A){let C=document.createElement("div");if(C.className="consenti-modal__header-controls",S&&s&&l&&C.appendChild(An(s,c,l)),A){let w=document.createElement("button");w.type="button",w.className="consenti-modal__close consenti-transition-1_2x consenti-btn consenti-btn--action",w.setAttribute("aria-label","Close preference modal"),w.textContent="\xD7",w.addEventListener("click",i.onClose),C.appendChild(w)}h.appendChild(C)}if(g.appendChild(h),e.htmlText){let C=document.createElement("div");C.className="consenti-modal__text",C.innerHTML=e.htmlText,b.appendChild(C)}let y=Object.entries(e.buttons),_=y.filter(C=>C[1].action==="link");if(_.length>0){let C=document.createElement("div");C.className="consenti-modal__links";for(let[,w]of _){if(!w.url)continue;let x=document.createElement("a");x.href=w.url,x.className=`consenti-modal__link consenti-btn consenti-btn--${w.style??"text"}`,x.textContent=w.text,x.setAttribute("target","_blank"),x.setAttribute("rel","noopener noreferrer"),C.appendChild(x)}h.appendChild(C)}let G=document.createElement("div");G.className="consenti-modal__categories";for(let[C,w]of Object.entries(e.categories)){let x=this.buildCategory(C,w,n,o);G.appendChild(x)}if(b.appendChild(G),g.appendChild(b),a&&b.appendChild(this.buildReceiptOption(e.receiptLabel,e.receiptDescription)),e.showForgetMe&&Object.keys(o).length>0&&b.appendChild(this.buildForgetMeOption(e.forgetMeLabel,i.onForgetMe)),r){let C=document.createElement("div");C.className="consenti-modal__dpdpa-notice";let w=It=>It.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;"),x=r.grievanceEmail.includes("@")&&!r.grievanceEmail.toLowerCase().startsWith("javascript:")?r.grievanceEmail:"";C.innerHTML=[`<strong>Data Fiduciary:</strong> ${w(r.dataFiduciary)}.`,r.purposeDescription?` <strong>Purpose:</strong> ${w(r.purposeDescription)}.`:""," You may withdraw consent at any time or contact our Grievance Officer at",x?` <a href="mailto:${w(x)}">${w(x)}</a>.`:"."].join(""),g.appendChild(C)}let O=document.createElement("div");O.className="consenti-modal__buttons";for(let[C,w]of y.filter(([,x])=>x.action!=="link"))O.appendChild(me(C,w,i));g.appendChild(O);let z=document.createElement("a");z.href="https://consenti.dev/?utm_source=widget&utm_medium=powered-by&utm_campaign=consenti-ui",z.className="consenti__powered-by",z.textContent="Powered by Consenti \u2197",z.setAttribute("target","_blank"),z.setAttribute("rel","noopener noreferrer"),p&&z.classList.add("consenti-d-none"),b.appendChild(z),f.appendChild(g),f.addEventListener("consenti:closeRequest",()=>i.onClose()),this.el=f}static appendToggleIcons(e,n){n&&e.classList.add("consenti-toggle--li");let o=document.createElement("span");o.className="consenti-category__toggle-icon consenti-category__toggle-icon--check",o.setAttribute("aria-hidden","true"),o.innerHTML='<svg viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.5 5L4 7.5L8.5 2.5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>',e.appendChild(o);let i=document.createElement("span");if(i.className="consenti-category__toggle-icon consenti-category__toggle-icon--cross",i.setAttribute("aria-hidden","true"),i.innerHTML='<svg viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 2L8 8M8 2L2 8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>',e.appendChild(i),n){let r=document.createElement("span");r.className="consenti-category__toggle-icon consenti-category__toggle-icon--objected",r.setAttribute("aria-hidden","true"),r.innerHTML='<svg viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="5" cy="5" r="3.5" stroke="currentColor" stroke-width="1.4"/><path d="M2.5 2.5L7.5 7.5" stroke="currentColor" stroke-width="1.4" stroke-linecap="round"/></svg>',e.appendChild(r)}let a=document.createElement("span");a.className="consenti-category__toggle-knob",a.setAttribute("aria-hidden","true"),e.appendChild(a)}computeRollup(e,n){let o=n?"objected":"denied",i=e.map(a=>this.toggleState.get(a));return i.every(a=>a==="granted")?"allowed":i.every(a=>a===o||a===void 0)?"denied":"mixed"}updateCategoryToggleVisual(e){let n=this.categoryToggles.get(e);if(!n)return;let o=this.computeRollup(n.cookieIds,n.isLI),i=o==="allowed"?"true":o==="denied"?"false":"mixed";n.el.setAttribute("aria-checked",i),n.el.classList.toggle("consenti-category__toggle--partial",o==="mixed")}buildParamRow(e,n,o,i,a){let r=document.createElement("div");r.className="consenti-category__param";let s=document.createElement("div");s.className="consenti-category__param-info";let c=document.createElement("span");c.className="consenti-category__param-label",c.textContent=n,s.appendChild(c);let l=document.createElement("span");l.className="consenti-category__param-meta";let p=[];o?.purpose&&p.push(o.purpose),o?.cpraCategory&&p.push(`CPRA: ${o.cpraCategory}`),o?.tcfVendorId!=null&&p.push(`TCF Vendor #${o.tcfVendorId}`),l.textContent=p.join(" \xB7 "),p.length&&s.appendChild(l),r.appendChild(s);let u=a?"objected":"denied",m=(this.toggleState.get(n)??u)==="granted",g=document.createElement("button");return g.type="button",g.className=`consenti-category__param-toggle${i?" consenti-category__param-toggle--mandatory":""}`,g.setAttribute("role","switch"),g.setAttribute("aria-checked",String(m)),g.setAttribute("aria-label",n),i&&(g.setAttribute("aria-disabled","true"),g.disabled=!0),t.appendToggleIcons(g,a),i||g.addEventListener("click",()=>{let h=this.toggleState.get(n)==="granted"?u:"granted";this.toggleState.set(n,h),g.setAttribute("aria-checked",String(h==="granted")),this.updateCategoryToggleVisual(e)}),this.paramToggles.set(n,g),r.appendChild(g),r}buildCategory(e,n,o,i){let a=n.legalBasis==="legitimate_interest",r=n.legalBasis==="mandatory",s=a?"objected":"denied";for(let y of n.cookies){let _=i[y],G;_!==void 0?G=_:r||a?G="granted":G=o[y]?.preGrant?"granted":"denied",this.toggleState.set(y,G)}let c=document.createElement("div");c.className=`consenti-category${r?" consenti-category--mandatory":""}`;let l=document.createElement("div");l.className="consenti-category__header";let p=n.headingTag??"div",u=document.createElement(p);u.id=`consenti-cat-${e}-heading`,u.className="consenti-category__heading",u.textContent=n.heading,l.appendChild(u);let f=this.computeRollup(n.cookies,a),m=document.createElement("button");if(m.type="button",m.className=`consenti-category__toggle${r?" consenti-category__toggle--mandatory":""}${f==="mixed"?" consenti-category__toggle--partial":""}`,m.setAttribute("role","checkbox"),m.setAttribute("aria-checked",f==="allowed"?"true":f==="denied"?"false":"mixed"),m.setAttribute("aria-labelledby",`consenti-cat-${e}-heading`),r&&(m.setAttribute("aria-disabled","true"),m.disabled=!0),t.appendToggleIcons(m,a),this.categoryToggles.set(e,{el:m,cookieIds:n.cookies,isLI:a}),r||m.addEventListener("click",()=>{let _=this.computeRollup(n.cookies,a)==="allowed"?s:"granted";for(let G of n.cookies){this.toggleState.set(G,_);let O=this.paramToggles.get(G);O&&!O.disabled&&O.setAttribute("aria-checked",String(_==="granted"))}this.updateCategoryToggleVisual(e)}),l.appendChild(m),c.appendChild(l),a&&n.legitimateInterestDescription){let y=document.createElement("p");y.className="consenti-category__li-desc",y.textContent=n.legitimateInterestDescription,c.appendChild(y)}let g=document.createElement("div");g.className="consenti-category__text-wrap";let h=document.createElement("div");h.className="consenti-category__text consenti-category__text--clamped",h.innerHTML=n.htmlText,g.appendChild(h);let b=document.createElement("button");b.type="button",b.className="consenti-category__show-more consenti-d-none",b.setAttribute("aria-expanded","false"),b.textContent="Show more",g.appendChild(b),c.appendChild(g);let A=document.createElement("div");A.className="consenti-category__params";for(let y of n.cookies)A.appendChild(this.buildParamRow(e,y,o[y],r,a));let S=n.cookies.length>1;return A.classList.add("consenti-d-none"),c.appendChild(A),b.addEventListener("click",()=>{let y=!h.classList.toggle("consenti-category__text--clamped");S&&A.classList.toggle("consenti-d-none",!y),b.setAttribute("aria-expanded",String(y)),b.textContent=y?"Show less":"Show more"}),this.categoryDisclosures.set(e,{text:h,toggle:b,params:S?A:null}),c}buildReceiptOption(e,n){let o=document.createElement("div");o.className="consenti-modal__receipt-option";let i=document.createElement("label");i.className="consenti-modal__receipt-label";let a=document.createElement("input");a.type="checkbox",a.className="consenti-modal__receipt-checkbox",a.id="consenti-receipt-checkbox",a.setAttribute("aria-describedby","consenti-receipt-desc"),this.receiptCheckbox=a,i.appendChild(a),i.append(" "+(e??"Get a copy of my consent choices (JSON)")),o.appendChild(i);let r=document.createElement("p");return r.id="consenti-receipt-desc",r.className="consenti-modal__receipt-desc",r.textContent=n??"A JSON file will be downloaded to your device when you save your preferences.",o.appendChild(r),o}buildForgetMeOption(e,n){let o=document.createElement("div");o.className="consenti-modal__forget-me";let i=document.createElement("button");return i.type="button",i.id="consenti-forget-me",i.className="consenti-btn consenti-btn--text consenti-modal__forget-me-btn",i.textContent=e??"Forget me",i.addEventListener("click",()=>{window.confirm("Erase your stored consent record? This cannot be undone.")&&n()}),o.appendChild(i),o}open(e,n){if(!this.el)return;this.triggerEl=e??document.activeElement,this.receiptCheckbox&&(this.receiptCheckbox.checked=!1);let o=this.mobileBreakpoint>0&&window.innerWidth<=this.mobileBreakpoint;o?this.el.classList.add("consenti-modal--fullscreen"):this.el.classList.remove("consenti-modal--fullscreen"),(n??document.body).appendChild(this.el),(!this.passthrough||o)&&(this.savedBodyOverflow=document.body.style.overflow,document.body.style.overflow="hidden"),this.passthrough||(this.trapCleanup=St(this.el)),this.resetCategoryDisclosures()}resetCategoryDisclosures(){for(let{text:e,toggle:n,params:o}of this.categoryDisclosures.values()){e.classList.add("consenti-category__text--clamped"),o?.classList.add("consenti-d-none"),n.setAttribute("aria-expanded","false"),n.textContent="Show more";let i=e.scrollHeight>e.clientHeight+1;n.classList.toggle("consenti-d-none",!(i||o!==null))}}close(){this.trapCleanup?.(),this.trapCleanup=null,this.savedBodyOverflow!==void 0&&(document.body.style.overflow=this.savedBodyOverflow,this.savedBodyOverflow=void 0),this.el?.remove(),this.triggerEl?.focus(),this.triggerEl=null}isOpen(){return this.el?.isConnected===!0}isReceiptRequested(){return this.receiptCheckbox?.checked??!1}getToggleConsent(e){let n={};for(let o of Object.values(e)){let i=o.legalBasis==="legitimate_interest",a=o.legalBasis==="mandatory",r=a?"granted":i?"objected":"denied";for(let s of o.cookies)n[s]=a?"granted":this.toggleState.get(s)??r}return n}destroy(){this.trapCleanup?.(),this.savedBodyOverflow!==void 0&&(document.body.style.overflow=this.savedBodyOverflow,this.savedBodyOverflow=void 0),this.el?.remove(),this.el=null,this.paramToggles.clear(),this.categoryToggles.clear(),this.categoryDisclosures.clear(),this.toggleState.clear(),this.receiptCheckbox=null}};function An(t,e,n){let o=document.createElement("div");o.className="consenti-locale-switcher consenti-locale-switcher--modal";let i=document.createElement("button");i.type="button",i.className="consenti-locale-switcher__btn consenti-btn consenti-btn--action consenti-transition-1_2x",i.setAttribute("aria-label","Switch language"),i.setAttribute("aria-haspopup","listbox"),i.textContent="\u{1F310}";let a=document.createElement("ul");a.className="consenti-locale-switcher__list",a.setAttribute("role","listbox"),a.setAttribute("aria-label","Select language"),a.hidden=!0;for(let r of t){let s=document.createElement("li");s.setAttribute("role","option"),s.setAttribute("aria-selected",String(r===e));let c=document.createElement("button");c.type="button",c.className=`consenti-locale-switcher__option${r===e?" consenti-locale-switcher__option--active":""}`,c.textContent=r,c.addEventListener("click",l=>{l.stopPropagation(),a.hidden=!0,r!==e&&n(r)}),s.appendChild(c),a.appendChild(s)}return i.addEventListener("click",r=>{r.stopPropagation(),a.hidden=!a.hidden}),document.addEventListener("click",()=>{a.hidden=!0},{capture:!0,once:!1}),o.appendChild(i),o.appendChild(a),o}var Q=class{constructor(){this.el=null;this.overlayEl=null}buildPrompt(e,n,o,i){let a=document.createElement("div");a.id="consenti-age-gate",a.className="consenti-age-gate",a.setAttribute("role","dialog"),a.setAttribute("aria-modal","true"),a.setAttribute("aria-label","Age verification");let r=document.createElement("div");r.className="consenti-age-gate__heading",r.textContent=i?.heading||`Are you ${e} or older?`,a.appendChild(r);let s=document.createElement("div");s.className="consenti-age-gate__text",s.innerHTML=i?.htmlText||"Please confirm your age before we show you cookie preferences.",a.appendChild(s);let c=document.createElement("div");c.className="consenti-age-gate__buttons";let l=document.createElement("button");l.type="button",l.className="consenti-btn consenti-btn--primary",l.textContent=i?.confirmButtonLabel||"Yes",l.addEventListener("click",n),c.appendChild(l);let p=document.createElement("button");return p.type="button",p.className="consenti-btn consenti-btn--secondary",p.textContent=i?.denyButtonLabel||"No",p.addEventListener("click",o),c.appendChild(p),a.appendChild(c),this.overlayEl=U(60),this.el=a,a}buildParentalConsentMessage(e,n){let o=document.createElement("div");o.id="consenti-age-gate",o.className="consenti-age-gate",o.setAttribute("role","dialog"),o.setAttribute("aria-modal","true"),o.setAttribute("aria-label","Parental consent required");let i=document.createElement("div");i.className="consenti-age-gate__heading",i.textContent=n?.parentalConsent?.heading||"Parental consent required",o.appendChild(i);let a=document.createElement("div");a.className="consenti-age-gate__text",a.innerHTML=n?.parentalConsent?.htmlText||"Only strictly necessary cookies will be used until a parent or guardian verifies consent on your behalf.",o.appendChild(a);let r=document.createElement("div");r.className="consenti-age-gate__buttons";let s=document.createElement("button");return s.type="button",s.className="consenti-btn consenti-btn--primary",s.textContent=n?.parentalConsent?.confirmButtonLabel||"OK",s.addEventListener("click",e),r.appendChild(s),o.appendChild(r),this.el=o,o}getOverlay(){return this.overlayEl}remove(){this.el?.remove(),this.overlayEl?.remove(),this.el=null,this.overlayEl=null}};var Pt="consenti-root",ye=class{constructor(){this.root=null;this.styleEl=null}mount(e){if(!d())throw new Error("[Consenti] Renderer.mount() called in SSR context");if(this.root)return this.root;if(e!==void 0){if(typeof e=="string"){let o=document.querySelector(e);if(!o)throw new Error(`[Consenti] rootEl selector "${e}" did not match any element.`);this.root=o}else{if(!document.contains(e))throw new Error("[Consenti] rootEl element is not attached to the document.");this.root=e}return this.root.classList.add("consenti-root"),this.root}let n=document.getElementById(Pt);return n||(n=document.createElement("div"),n.id=Pt,document.body.appendChild(n)),n.classList.add("consenti-root"),this.root=n,n}injectStyles(e){if(!d()||this.styleEl)return;let n=document.createElement("style");n.id="consenti-styles",n.textContent=e,document.head.appendChild(n),this.styleEl=n}unmount(){this.root?.remove(),this.styleEl?.remove(),this.root=null,this.styleEl=null}announceToScreenReader(e){if(!d())return;let n=document.getElementById("consenti-announcer");n||(n=document.createElement("div"),n.id="consenti-announcer",n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),n.setAttribute("aria-atomic","true"),n.style.cssText="position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;",document.body.appendChild(n)),n.textContent="",requestAnimationFrame(()=>{n&&(n.textContent=e)})}};function Et(t){let e=Object.values(t.buttons??{}),n=e.some(i=>i.action==="custom"&&i.cookies==="*"),o=e.some(i=>i.action==="manage"||i.action==="custom"&&i.cookies==="!");return n&&!o}function Mt(t){let e=[];return Et(t.mainBanner)&&e.push("mainBanner"),t.gpcBanner&&Et(t.gpcBanner)&&e.push("gpcBanner"),e}var Le=class{constructor(e){this.initialized=!1;this.initializing=!1;this.profile=null;this.resolvedBase=null;this.profilePatches=[];this.categoryIndex=new Map;this.scannedScripts=[];this.consentStore=null;this.eventBus=null;this.banner=null;this.modal=null;this.ageGate=null;this.renderer=null;this._ageVerified=void 0;this._parentalConsentToken=void 0;this.broadcastChannel=new oe;this.plugins=[];this._bannerVariant=null;this._bannerMounted=null;this._focusTrapListener=null;this._identifyListener=null;this._eventHandlers=new Map;this.config={...e,core:e.core??{}},this.readyPromise=new Promise(n=>{this.readyResolve=n}),d()&&(e.verbose?be(["error","info","warning","log"]):be(this.config.core.console??["error"]),e.api?.enabled&&this.config.core.storage==="localStorage"&&(v.warn("localStorage storage mode cannot be used with API mode (API sets cookies via Set-Cookie header). Falling back to cookie storage."),this.config.core.storage="cookie"),e.autoInit!==!1&&this.init().catch(n=>v.warn("Init error:",n)))}visitorId(){return it(this.config.core.storage??"cookie",this.config.core.cookieDomains)}profileId(){return this.profile?.id??"0"}applyComplianceGroupOverride(e){let n=e.complianceGroup?this.config.complianceGroupsOverride?.[e.complianceGroup]:void 0;return n?I(e,n):e}applyProfileOverrides(e){let n=this.applyComplianceGroupOverride(e),i=[this.config.profileOverride,...this.profilePatches].filter(a=>a!==void 0).reduce((a,r)=>I(a,r),n);return i!==e&&this.warnIfAcceptOnly(i),i}warnIfAcceptOnly(e){let n=Mt(e);n.length!==0&&v.warn(`${n.join(" and ")} offers an "accept all" button but no reject ("cookies: '!'") or manage button after profile overrides were applied. Visitors must be able to refuse as easily as they accept (GDPR Art. 7(3); CNIL/EDPB cookie-banner guidance).`)}async isRegistrationBlocked(e,n){if(!e||!this.config.api?.enabled)return!1;try{let{httpRequest:o}=await import("./http-AQVVUCX6.mjs"),i=this.config.api.baseUrl??window.location.origin;return(await o(`${i}/consenti/api/v1/${n}/status`,{},this.config.api.authToken)).blocked}catch{return!0}}async init(){if(d()&&!this.initializing){this.initializing=!0,this.initialized=!1,this.readyPromise=new Promise(e=>{this.readyResolve=e});try{let e=this.config.core.storage??"cookie",n=this.isRegistrationBlocked(this.config.compliance?.tcf?.enabled,"tcf"),o=this.isRegistrationBlocked(this.config.compliance?.gpp?.enabled,"gpp"),i=await _t(this.config);this.resolvedBase=i,this.config.darkMode!==void 0&&(i.darkMode=this.config.darkMode);let a=this.applyProfileOverrides(i),r=L();a.gpcMode=a.gpcMode??"ignore",this.profile=a,this.categoryIndex=K(a.preferenceModal.categories),this.eventBus=new se(this.profileId(),this.config.utils?.gtm),this.consentStore=new re(this.profileId(),e,this.config.core.cookieDomains,this.config.core.userId,this.config.core.cookieName),this.consentStore.setProfileExpiry(a.expiryDays??365),this.consentStore.setProfileVersion(a.version??0),await n?v.error("TCF is configured but registration is unconfirmed (or unverifiable) \u2014 window.__tcfapi was not installed. Confirm the current cmpId/cmpVersion in the dashboard's TCF Registration panel."):At(()=>({profile:this.profile,consent:this.getConsent(),tcfConfig:this.config.compliance?.tcf})),await o?v.error("GPP is configured but registration is unconfirmed (or unverifiable) \u2014 window.__gpp was not installed. Confirm the current cmpId/cmpVersion in the dashboard's GPP Registration panel."):xt(()=>({profile:this.profile,consent:this.getConsent(),gppConfig:this.config.compliance?.gpp})),this.renderer=new ye,!this.config.core.disableCssTemplate&&we&&this.renderer.injectStyles(we),this.banner=new ge,this.modal=new fe,this.applyTheme(),this.applyDarkMode(),this.applyDirection(),this.applyAccessibility(),this.applyStackButtonsBreakpoint(),this.broadcastChannel.connect(u=>this.handleBroadcastMessage(u)),this._installIdentifyListener(),await this.runPlugins();let s=a.cookieSigningKey??this.config.core.cookieSigningKey,l=(s?await this.consentStore.readAndVerify(s):this.consentStore.read())!==null,p=a.ageGate;if(p?.enabled&&!l){this.showAgeGate(p,a);return}await this.continueInit(a,r,l)}finally{this.initializing=!1}}}async continueInit(e,n,o){if(!this.consentStore||!this.eventBus)return;if(this.eventBus.dispatch("consenti:bannerInitialized",{profileId:this.profileId(),hasExistingConsent:o,complianceGroup:e.complianceGroup??"auto",gpcDetected:n,willShow:!o&&!(n&&e.gpcMode==="strict")}),e.gpcMode!=="ignore"&&n){let s=wt(e.cookies,e.preferenceModal.categories,{},e.gpcMode);if(e.gpcMode==="strict"){await this.submitConsent(s,!0),this.finishInit();return}if(!o){let c=e.cookieSigningKey??this.config.core.cookieSigningKey,l={gpcDetected:!0,locale:this.config.core.locale??"en",complianceGroup:e.complianceGroup};c?this.lastSignature=await this.consentStore.writeAndSign(s,c,l):this.consentStore.write(s,l),this.broadcastChannel.send({type:"consentUpdated",consent:s,profileId:this.profileId()}),this.eventBus.dispatch("consenti:consentSubmitted",{consentJson:s,gpcDetected:!0,consentId:E("cons"),consentAction:this.deriveAction(s,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()}),this.showBanner(!0),this.finishInit();return}}let i=e.complianceGroup??"",a=i==="opt-out",r=i==="opt-out-strict";if(this.getRootElement()?.setAttribute("data-consenti-cg",i),this.config.verbose&&this.getRootElement()?.setAttribute("data-consenti-gpc",e.gpcMode??""),a&&!o){let s={};for(let[p,u]of Object.entries(e.cookies))e.requiresSensitiveOptIn&&u.cpraCategory==="sensitive"&&!P(p,this.categoryIndex)?s[p]="denied":s[p]="granted";let c=e.cookieSigningKey??this.config.core.cookieSigningKey,l={locale:this.config.core.locale??"en",complianceGroup:e.complianceGroup};c?await this.consentStore.writeAndSign(s,c,l):this.consentStore.write(s,l),this.finishInit();return}if(r&&!o){if(!n){this.showBanner(),this.finishInit();return}let s={};for(let[p,u]of Object.entries(e.cookies)){if(P(p,this.categoryIndex)){s[p]="granted";continue}let f=u.cpraCategory==="sensitive"||u.cpraCategory==="sale"||u.cpraCategory==="sharing";s[p]=f?"denied":"granted"}let c=e.cookieSigningKey??this.config.core.cookieSigningKey,l={gpcDetected:!0,locale:this.config.core.locale??"en",complianceGroup:e.complianceGroup};c?this.lastSignature=await this.consentStore.writeAndSign(s,c,l):this.consentStore.write(s,l),this.broadcastChannel.send({type:"consentUpdated",consent:s,profileId:this.profileId()}),this.eventBus.dispatch("consenti:consentSubmitted",{consentJson:s,gpcDetected:!0,consentId:E("cons"),consentAction:this.deriveAction(s,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()}),this.showBanner(!0),this.finishInit();return}o||this.showBanner(),this.finishInit()}showAgeGate(e,n){if(!this.renderer)return;let o=e.minimumAge,i=this.renderer.mount(this.config.rootEl);this.ageGate=new Q;let a=this.ageGate.buildPrompt(o,()=>{this.resolveAgeGate(!0,e,n)},()=>{this.resolveAgeGate(!1,e,n)},n.ageGateModal),r=this.ageGate.getOverlay();r&&i.appendChild(r),i.appendChild(a)}async resolveAgeGate(e,n,o){if(this.ageGate?.remove(),this.ageGate=null,this._ageVerified=e,e){await this.continueInit(o,L(),!1);return}if(n.requireParentalConsent){await this.submitConsent(this._buildDenyAllConsent());let i=E("pcon");if(this.config.api?.enabled)try{let a=this.config.api.baseUrl??window.location.origin,{httpRequest:r}=await import("./http-AQVVUCX6.mjs");i=(await r(`${a}/consenti/api/v1/consent/${this.visitorId()}/parental-consent-request`,{method:"POST",body:JSON.stringify({profileId:this.profileId()})},this.config.api.authToken)).token}catch(a){v.warn("Parental-consent request failed; using local unsigned token:",a)}if(this._parentalConsentToken=i,this.eventBus?.dispatch("consenti:parentalConsentRequired",{parentalConsentToken:this._parentalConsentToken,profileId:this.profileId(),visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3)}),this.renderer){let a=this.renderer.mount(this.config.rootEl);this.ageGate=new Q;let r=this.ageGate.buildParentalConsentMessage(()=>{this.ageGate?.remove(),this.ageGate=null},o.ageGateModal);a.appendChild(r)}}else await this.submitConsent(this._buildDenyAllConsent());this.finishInit()}finishInit(){this.initialized=!0,this.readyResolve(),this.scannedScripts.push(..._e(this))}_installIdentifyListener(){if(!d())return;this._identifyListener&&window.removeEventListener("consenti:listener:identify",this._identifyListener);let e=n=>{let o=n.detail;this.setUserId(o.userId,o.reConsent??!0)};this._identifyListener=e,window.addEventListener("consenti:listener:identify",e)}getUserId(){return this.consentStore?.getAppUserId()??this.config.core.userId??null}async setUserId(e,n=!0){!d()||!this.consentStore||(this.consentStore.getAppUserId()??"")===(e??"")||(e===null?delete this.config.core.userId:this.config.core.userId=e,this.consentStore.setAppUserId(e??void 0),this.consentStore.hasConsent()&&(v.warn("User identity changed \u2014 "+(n?"reconsenting.":"consent record left as-is (reConsent: false).")),n&&await this.reConsent()))}getVisitor(){let e=this.getUserId();return{visitorId:at(this.config.core.storage??"cookie"),type:e?"authenticated":"anonymous",userId:e}}applyDirection(){if(!this.renderer)return;this.renderer.mount(this.config.rootEl).setAttribute("dir",Ue(this.config.core.locale??"en",this.config.core.dir))}applyDarkMode(){if(!this.renderer)return;let e=this.config.darkMode??this.profile?.darkMode??!1,n=this.renderer.mount(this.config.rootEl);e?n.classList.add("consenti-root--dark"):n.classList.remove("consenti-root--dark")}applyAccessibility(){if(!this.renderer)return;let e=this.renderer.mount(this.config.rootEl);this.profile?.enhanceAccessibility?e.classList.add("consenti--enhanced-a11y"):e.classList.remove("consenti--enhanced-a11y")}_appendMetaFooter(e){let n=document.createElement("div");n.className="consenti-meta-footer";let o=this.consentStore?.getConsentId();if(o){let a=document.createElement("span");a.className="consenti-meta-footer__item",a.title=o,a.innerHTML=`ID: <code class="consenti-meta-footer__id">${o.slice(0,10)}&hellip;</code>`,n.appendChild(a)}if(this.hasConsent()){let a=this.visitorId(),r=document.createElement("span");r.className="consenti-meta-footer__item",r.title=a,r.innerHTML=`Visitor: <code class="consenti-meta-footer__id">${a.slice(0,10)}&hellip;</code>`,n.appendChild(r)}if(this.profile?.id){let a=document.createElement("span");a.className="consenti-meta-footer__item",a.title=this.profile.id,a.innerHTML=`Profile: <code class="consenti-meta-footer__id">${this.profile.id.slice(0,10)}&hellip; (v${this.profile?.version??1})</code>`,n.appendChild(a)}let i=this.consentStore?.getConsentDate();if(i){let a=document.createElement("span");a.className="consenti-meta-footer__item",a.innerHTML=`Date: <code class="consenti-meta-footer__id">${i.toLocaleDateString()}</code>`,n.appendChild(a)}e.appendChild(n)}applyStackButtonsBreakpoint(){if(!this.renderer||!this.profile)return;let e=this.profile.mainBanner?.stackButtonsOnBreakpoint;if(!e||e<=0)return;let n=this.renderer.mount(this.config.rootEl);n.querySelector("#consenti-stack-btn-style")?.remove();let i=document.createElement("style");i.id="consenti-stack-btn-style",i.textContent=`@media(max-width:${e}px){.consenti-banner__buttons{flex-direction:column;}.consenti-banner__btn{width:100%;}}`,n.appendChild(i)}_installFocusTrap(e){this._removeFocusTrap();let n='button:not([disabled]),[href],input:not([disabled]),select,textarea,[tabindex]:not([tabindex="-1"])',o=i=>{if(i.key!=="Tab")return;let a=Array.from(e.querySelectorAll(n)).filter(c=>!c.closest('[aria-hidden="true"]'));if(a.length===0)return;let r=a[0],s=a[a.length-1];i.shiftKey?document.activeElement===r&&(i.preventDefault(),s.focus()):document.activeElement===s&&(i.preventDefault(),r.focus())};this._focusTrapListener=o,document.addEventListener("keydown",o)}_removeFocusTrap(){this._focusTrapListener&&(document.removeEventListener("keydown",this._focusTrapListener),this._focusTrapListener=null)}applyTheme(){let e=this.config.core.theme;if(!e||!this.renderer)return;let n={"--consenti-color-bg":e.colorBg,"--consenti-color-text":e.colorText,"--consenti-color-text-muted":e.colorTextMuted,"--consenti-color-primary":e.colorPrimary,"--consenti-color-primary-text":e.colorPrimaryText,"--consenti-color-secondary":e.colorSecondary,"--consenti-color-secondary-text":e.colorSecondaryText,"--consenti-color-border":e.colorBorder,"--consenti-color-secondary-border":e.colorSecondaryBorder,"--consenti-color-overlay":e.colorOverlay,"--consenti-color-accent":e.colorAccent,"--consenti-color-accent-text":e.colorAccentText,"--consenti-font-family":e.fontFamily,"--consenti-font-family-mono":e.fontFamilyMono,"--consenti-font-size-base":e.fontSizeBase,"--consenti-font-size-heading":e.fontSizeHeading,"--consenti-font-weight-heading":e.fontWeightHeading,"--consenti-line-height":e.lineHeight,"--consenti-spacing-xs":e.spacingXs,"--consenti-spacing-sm":e.spacingSm,"--consenti-spacing-md":e.spacingMd,"--consenti-spacing-lg":e.spacingLg,"--consenti-border-radius":e.borderRadius,"--consenti-border-radius-btn":e.borderRadiusBtn,"--consenti-shadow":e.shadow,"--consenti-toggle-bg-on":e.toggleBgOn,"--consenti-toggle-bg-partial":e.toggleBgPartial,"--consenti-toggle-bg-off":e.toggleBgOff,"--consenti-toggle-knob":e.toggleKnob,"--consenti-toggle-width":e.toggleWidth,"--consenti-toggle-height":e.toggleHeight,"--consenti-z-banner":e.zBanner,"--consenti-z-overlay":e.zOverlay,"--consenti-z-modal":e.zModal},o=this.renderer.mount(this.config.rootEl);for(let[i,a]of Object.entries(n))a!==void 0&&o.style.setProperty(i,a);if(e.fontSizeMultiplier){let i=parseFloat(e.fontSizeMultiplier);if(!isNaN(i)){let a=parseFloat(getComputedStyle(o).getPropertyValue("--consenti-font-size-base")||"14"),r=parseFloat(getComputedStyle(o).getPropertyValue("--consenti-font-size-heading")||"16");o.style.setProperty("--consenti-font-size-base",`${Math.round(a*i)}px`),o.style.setProperty("--consenti-font-size-heading",`${Math.round(r*i)}px`)}}}async runPlugins(){this.plugins=this.config.plugins??[];for(let e of this.plugins)try{await e.initialize(this)}catch(n){v.warn("Plugin initialize error:",n)}}async callPluginHook(e){for(let n of this.plugins)try{await e(n,this)}catch(o){v.warn("Plugin hook failed:",o)}}_buildGrantAllConsent(e=!1){let n={};for(let o of Object.keys(this.profile?.cookies??{}))n[o]=e&&!P(o,this.categoryIndex)?"denied":"granted";return n}_buildDenyAllConsent(e=!1){let n={};for(let o of Object.keys(this.profile?.cookies??{}))n[o]=!e&&P(o,this.categoryIndex)?"granted":"denied";return n}buildHandlers(e){return{onGrantAll:()=>{this.submitConsent(this._buildGrantAllConsent()),e==="banner"&&(this.banner?.hide(),this._bannerVariant=null)},onDenyAll:()=>{this.submitConsent(this._buildDenyAllConsent()),e==="banner"&&(this.banner?.hide(),this._bannerVariant=null)},onSubmit:()=>{if(e==="modal"&&this.modal&&this.profile){let n=this.modal.getToggleConsent(this.profile.preferenceModal.categories);this.submitConsent(n),this.hideModal()}else{let n={};for(let o of Object.keys(this.profile?.cookies??{}))P(o,this.categoryIndex)&&(n[o]="granted");this.submitConsent(n),e==="banner"&&(this.banner?.hide(),this._bannerVariant=null)}},onManage:()=>{this.showModal()},onClose:()=>{e==="modal"?this.hideModal():(this.banner?.hide(),this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!1,action:!0,variant:this._bannerVariant??"main"}),this._bannerVariant=null,this.broadcastChannel.send({type:"bannerClosed"}),this.callPluginHook(n=>n.onBannerHide?.()))},onGrantSpecific:n=>{let o={};for(let i of Object.keys(this.profile?.cookies??{}))P(i,this.categoryIndex)||n.includes(i)?o[i]="granted":o[i]="denied";this.submitConsent(o),e==="banner"&&this.hideBanner()},onForgetMe:()=>{e==="modal"&&this.hideModal(),this.forgetMe()}}}deriveAction(e,n){if(n)return"update";let o=Object.keys(this.profile?.cookies??{}).filter(r=>!P(r,this.categoryIndex));if(o.length===0)return"custom";let i=o.every(r=>e[r]==="granted"),a=o.every(r=>e[r]==="denied"||e[r]==="objected");return i?"accept_all":a?"reject_all":"custom"}handleBroadcastMessage(e){switch(e.type){case"consentUpdated":if(e.profileId!==this.profileId())return;this.consentStore?.setInMemory(e.consent),this.banner?.hide(),this.modal?.isOpen()&&this.modal.close(),this.eventBus?.dispatch("consenti:consentSubmitted",{consentJson:e.consent,fromBroadcast:!0,gpcDetected:L(),consentId:E("cons"),consentAction:this.deriveAction(e.consent,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()});break;case"bannerClosed":this.banner?.hide(),this._bannerVariant=null;break;case"consentDeleted":this.consentStore?.clearInMemory();break}}hasConsent(){return d()?this.consentStore?.hasConsent()??!1:!1}getConsent(e){if(!d())return null;let n=this.consentStore?.getConsent()??null;if(!n)return null;let o=this.profile?.cookies??{};switch(e){case"google-gtm":return J(n);case"purpose":return qe(n,o);case"category":return We(n,this.profile?.preferenceModal?.categories??{});case"adobe":return Je(n,o);case"meta":return Ye(n,o);case"microsoft-clarity":return Ze(n,o);case"twilio-segment":return Qe(n,o);default:return n}}getConsentDate(){return d()?this.consentStore?.getConsentDate()??!1:!1}getGTMConsent(){return this.getConsent("google-gtm")}async submitConsent(e,n=!1,o=0){if(!d()||!this.profile||!this.consentStore)return;let i=this.profile.complianceGroup??"",a=this.consentStore.hasConsent(),r=this.consentStore.getConsentId()??E("cons"),s=window.location.href,c={};for(let[g,h]of Object.entries(this.profile.cookies))if(P(g,this.categoryIndex))c[g]="granted";else if(i==="opt-out-strict"){let b=h.cpraCategory==="sensitive"?"denied":"granted";c[g]=e[g]??b}else{let b=i!=="opt-out"&&i!=="notice-only",A=h.preGrant?"granted":b?"denied":"granted";c[g]=e[g]??A}let l=this.deriveAction(c,a);this.eventBus?.dispatch("consenti:consentBeingSubmitted",{consentJson:c,consentId:r,fromBroadcast:!1,gpcDetected:L(),consentAction:this.deriveAction(c,!1),pageUrl:window.location.href,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()});let p=null;if(this.config.api?.enabled)try{let g=this.config.api.baseUrl??window.location.origin,{httpRequest:h}=await import("./http-AQVVUCX6.mjs");p=await h(`${g}/consenti/api/v1/consent`,{method:"POST",body:JSON.stringify({profileId:this.profileId(),visitorId:this.visitorId(),consentJson:c,locale:this.config.core.locale??"en",gpcDetected:n||L(),consentId:r,action:l,pageUrl:s,...this._ageVerified!==void 0?{ageVerified:this._ageVerified}:{},...this._parentalConsentToken?{parentalConsentToken:this._parentalConsentToken}:{}})},this.config.api.authToken)}catch(g){v.warn("API consent submission failed:",g)}let u=this.profile.cookieSigningKey??this.config.core.cookieSigningKey,f={source:o,gpcDetected:n,consentId:r,locale:this.config.core.locale??"en",complianceGroup:this.profile?.complianceGroup};if(u?this.lastSignature=await this.consentStore.writeAndSign(c,u,f):this.consentStore.write(c,f),(this.modal?.isReceiptRequested()??!1)&&this.profile.allowReceipt){let g=this.visitorId(),h=this.consentStore.getConsent();console.log({currentConsentVersion:h});let b={version:"1.0",visitorId:g,profileId:this.profileId(),locale:this.config.core.locale??"en",consent:c,...this.lastSignature?{signature:this.lastSignature}:{}},A=Xe(b);et(A)}return this.broadcastChannel.send({type:"consentUpdated",consent:c,profileId:this.profileId()}),this.eventBus?.dispatch("consenti:consentSubmitted",{consentJson:c,apiResponse:p,gpcDetected:n,consentId:r,consentAction:l,pageUrl:s,fromBroadcast:!1,visitorId:this.visitorId(),timestamp:Math.round(Date.now()/1e3),profileId:this.profileId()}),await this.callPluginHook(g=>g.onConsentSubmit?.(c)),this.renderer?.announceToScreenReader("Your cookie preferences have been saved."),this.hideBanner(),this.modal?.isOpen()&&this.hideModal(),p}bannerVisibility(){return this._bannerVariant??!1}modalVisibility(){return this.modal?.isOpen()?"preference":!1}showBanner(e=!1){if(!d()||!this.profile||!this.banner||!this.renderer)return;let n=e&&this.profile.gpcBanner?"gpc":"main";if(this._bannerVariant===n)return;if(this._bannerMounted===n){this.banner.show(),this._bannerVariant=n,this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!0,action:!1,variant:n}),this.callPluginHook(p=>p.onBannerShow?.());return}let o=n==="gpc"?this.profile.gpcBanner:this.profile.mainBanner,i=this.renderer.mount(this.config.rootEl),a=this.buildHandlers("banner");this.banner.remove();let r=this.profile.locales,s=this.config.core.locale??"en",c=this.banner.build(o,a,void 0,r,s,p=>this.switchLocale(p),this.config.hidePoweredBy??this.profile?.hidePoweredBy??!0,n);i.appendChild(c);let l=this.banner.getOverlay();l&&i.appendChild(l),this._bannerVariant=n,this._bannerMounted=n,this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!0,action:!1,variant:n}),this.callPluginHook(p=>p.onBannerShow?.())}hideBanner(){this._bannerVariant!==null&&(this.banner?.hide(),this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!1,action:!0,variant:this._bannerVariant}),this._bannerVariant=null,this.broadcastChannel.send({type:"bannerClosed"}),this.renderer?.announceToScreenReader("Cookie banner dismissed."),this.callPluginHook(e=>e.onBannerHide?.()))}showModal(e){if(!d()||!this.profile||!this.modal||this.modal.isOpen())return;let n=this.buildHandlers("modal"),o=this.consentStore?.getConsent()??{},i=this.profile.complianceGroup==="opt-in-dpdpa"?this.profile.dpdpa:void 0,a=this.profile.locales,r=this.config.core.locale??"en";this.modal.build(this.profile.preferenceModal,this.profile.cookies,o,n,this.profile.allowReceipt??!1,i,a,r,c=>{this.hideModal(),this.switchLocale(c)},this.config.hidePoweredBy??this.profile?.hidePoweredBy??!0),this.banner?.hide(),this.modal.open(e,this.renderer?.mount(this.config.rootEl));let s=document.getElementById("consenti-modal");if(this.profile.showFooterMetadata&&s){let c=s.querySelector(".consenti-modal__container");c&&this._appendMetaFooter(c)}this.profile.preferenceModal?.trapFocus&&s&&this._installFocusTrap(s),this._bannerVariant!==null&&this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!1,action:!!e,variant:this._bannerVariant}),this.eventBus?.dispatch("consenti:modalVisibility",{visible:!0,action:!!e}),this.callPluginHook(c=>c.onModalShow?.())}hideModal(){this.modal?.isOpen()&&(this._removeFocusTrap(),this.modal.close(),this.eventBus?.dispatch("consenti:modalVisibility",{visible:!1,action:!0}),this.callPluginHook(e=>e.onModalHide?.()),!this.consentStore?.hasConsent()&&this._bannerVariant!==null?(this.eventBus?.dispatch("consenti:bannerVisibility",{visible:!0,action:!0,variant:this._bannerVariant}),this.banner?.show()):this.consentStore?.hasConsent()||this.showBanner())}onReady(e){this.initialized?e():this.readyPromise.then(e)}get ready(){return this.readyPromise}async deleteConsent(){if(!(!d()||!this.consentStore)){if(this.config.api?.enabled)try{let e=this.config.api.baseUrl??window.location.origin,{httpRequest:n}=await import("./http-AQVVUCX6.mjs");await n(`${e}/consenti/api/v1/consent/${this.visitorId()}`,{method:"DELETE"},this.config.api?.authToken)}catch(e){v.warn("API consent deletion failed:",e)}this.consentStore.delete(),this.broadcastChannel.send({type:"consentDeleted"})}}async reConsent(e=!0){if(await this.deleteConsent(),e&&this.profile?.ageGate?.enabled){this._ageVerified=void 0,this.showAgeGate(this.profile.ageGate,this.profile);return}this.showBanner()}async forgetMe(e=!0){if(!d())return;let n=this.visitorId(),o=this.profileId();this.eventBus?.dispatch("consenti:forgetMeRequested",{visitorId:n,profileId:o,timestamp:Math.round(Date.now()/1e3)}),await this.reConsent(e),this.eventBus?.dispatch("consenti:forgotten",{visitorId:n,profileId:o,timestamp:Math.round(Date.now()/1e3)})}getProfile(){return this.profile}getRootElement(){return d()?this.config.rootEl?typeof this.config.rootEl=="string"?document.querySelector(this.config.rootEl):this.config.rootEl:document.getElementById("consenti-root"):null}getBannerElement(){return d()?document.getElementById("consenti-banner"):null}getModalElement(){return d()?document.getElementById("consenti-modal"):null}switchLocale(e){d()&&(this.config.core.locale=e,this.banner?.remove(),this.modal?.isOpen()&&this.modal.close(),this._bannerVariant=null,this._bannerMounted=null,this.profile=null,this.initialized=!1,this.readyPromise=new Promise(n=>{this.readyResolve=n}),this.init().catch(n=>v.warn("Locale switch error:",n)))}isCookieGranted(e,n=!1){if(!d())return!1;let o=this.getConsent()?.[e];return n?o??!1:o==="granted"}isCategoryGranted(e,n=!1){if(!d()||!this.profile)return n?[]:!1;let o=this.profile.preferenceModal.categories[e];if(!o)return n?[]:!1;let i=this.getConsent();return n?o.cookies.map(a=>({[a]:i?.[a]??"denied"})):o.cookies.every(a=>i?.[a]==="granted")}async grantAll(e=!1){!d()||!this.profile||await this.submitConsent(this._buildGrantAllConsent(e),!1,1)}async denyAll(e=!1){!d()||!this.profile||(e&&v.warn("denyAll called with includingMandatory=true \u2014 mandatory cookies will be denied. Ensure this is intentional."),await this.submitConsent(this._buildDenyAllConsent(e),!1,1))}on(e,n){if(!d())return;let o=e.startsWith("consenti:")?e:`consenti:${e}`,i=r=>n(r.detail),a=this._eventHandlers.get(n)??[];a.push({name:o,wrapped:i}),this._eventHandlers.set(n,a),window.addEventListener(o,i)}off(e,n){if(!d())return;let o=e.startsWith("consenti:")?e:`consenti:${e}`,i=this._eventHandlers.get(n);if(!i)return;let a=i.findIndex(s=>s.name===o);if(a===-1)return;let r=i[a];r&&window.removeEventListener(o,r.wrapped),i.splice(a,1),i.length===0&&this._eventHandlers.delete(n)}version(){return{package:"0.6.0",profileVersion:this.profile?.id??"0",consentVersion:null}}setDarkMode(e){d()&&(this.config.darkMode=e===void 0?!this.config.darkMode:e,this.applyDarkMode())}setTheme(e){d()&&(this.config.core.theme=Object.assign({},this.config.core.theme,e),this.applyTheme())}setConfig(e){let n=I(this.config,e);this.config={...n,core:n.core??{}},d()&&(this.applyTheme(),this.applyDarkMode())}setProfile(e){if(!d()||!this.resolvedBase)return;this.profilePatches.push(e),this.profile=this.applyProfileOverrides(this.resolvedBase),this.categoryIndex=K(this.profile.preferenceModal.categories);let n=this.modal?.isOpen()??!1;if(n&&this.modal?.close(),this._bannerVariant!==null){let o=this._bannerVariant==="gpc";this._bannerVariant=null,this._bannerMounted=null,this.showBanner(o)}n&&this.showModal()}destroy(){this._removeFocusTrap(),d()&&this._identifyListener&&(window.removeEventListener("consenti:listener:identify",this._identifyListener),this._identifyListener=null);for(let e of this.plugins)try{e.destroy()}catch{}for(let e of this.scannedScripts)e.destroy();if(this.scannedScripts=[],this.modal?.destroy(),this.renderer?.unmount(),this.broadcastChannel.disconnect(),d()){for(let e of this._eventHandlers.values())for(let{name:n,wrapped:o}of e)window.removeEventListener(n,o);this._eventHandlers.clear()}this.banner=null,this.modal=null,this.renderer=null,this.consentStore=null,this.eventBus=null,this.initialized=!1}};var Te=class{};var Gn=1e3,Re=class{constructor(e){this.config=e;this.type=Symbol(e.id??Gn++),mt(this.type,e)}getType(){return this.type}toJSON(){return this.config}};var Oe=class{constructor(e){this.options=e;this.granted=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let e=this.options.widget.getConsent(),n=e?.[this.options.id]??"denied",o=n==="granted";if(o===this.granted)return;this.granted=o;let i=this.options.widget.getProfile()?.cookies[this.options.id],a={cookieId:this.options.id,status:n,cookie:i,consent:e};o?this.options.onGrant?.(a):this.options.onDeny?.(a)}destroy(){d()&&this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler)}};var ze=class{constructor(e){this.options=e;this.granted=null;this.handler=()=>this.evaluate(),d()&&(e.bind!==!1&&window.addEventListener("consenti:consentSubmitted",this.handler),this.evaluate())}evaluate(){let n=this.options.widget.getProfile()?.preferenceModal.categories[this.options.id]?.cookies??[],o=this.options.widget.getConsent(),i=n.length>0&&n.every(r=>o?.[r]==="granted");if(i===this.granted)return;this.granted=i;let a={categoryId:this.options.id,cookieIds:n,consent:o};i?this.options.onGrant?.(a):this.options.onDeny?.(a)}destroy(){d()&&this.options.bind!==!1&&window.removeEventListener("consenti:consentSubmitted",this.handler)}};var Be=class{constructor(e){let n=e.action??"modal";if(this.clickHandler=()=>{n==="modal"?e.widget.showModal():e.widget.showBanner()},e.el)if(typeof e.el=="string"){if(!d()){this.el=document.createElement("span"),this.created=!1;return}let o=document.querySelector(e.el);if(!o)throw new Error(`[Consenti] BannerTrigger: element not found for selector "${e.el}"`);this.el=o,this.created=!1}else this.el=e.el,this.created=!1;else{let o=document.createElement("button");o.type="button",o.className="consenti-btn consenti-btn--text consenti-banner-trigger",o.textContent=e.label??"Cookie Settings",o.setAttribute("aria-label",e.label??"Open cookie settings"),this.el=o,this.created=!0}this.el.addEventListener("click",this.clickHandler)}getElement(){return this.el}destroy(){this.el.removeEventListener("click",this.clickHandler),this.created&&this.el.remove()}};async function xn(t,e={}){let n=e.baseUrl??(d()?window.location.origin:""),o=await $(`${n}/consenti/api/v1/consent/parental-consent-resolve`,{method:"POST",body:JSON.stringify({token:t})},e.authToken);return d()&&window.dispatchEvent(new CustomEvent("consenti:parentalConsentResolved",{detail:o,bubbles:!0})),o}function Sn(t){let e=(t?.dataLayerName??"dataLayer").replace(/[^a-zA-Z0-9_$]/g,"");return`<script>(function(){if(typeof navigator!=="undefined"&&navigator.globalPrivacyControl===true){window.${e}=window.${e}||[];if(typeof window.gtag!=="function"){window.gtag=function(){window.${e}.push(arguments)}}window.gtag("consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",functionality_storage:"granted",personalization_storage:"denied",security_storage:"granted",ads_data_redaction:"true",url_passthrough:"false"});window.__consentiGpcPreFrozen=true}})();<\/script>`}export{Be as BannerTrigger,ze as CategoryAction,W as CategoryScript,Oe as ConsentAction,q as ConsentScript,Te as ConsentiPlugin,Re as ConsentiProfile,Le as ConsentiSetup,Sn as buildSyncGpcSnippet,xn as resolveParentalConsent,_e as scanConsentScripts};
2
2
  //# sourceMappingURL=index.mjs.map