@duckduckgo/autoconsent 14.3.0 → 14.4.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.
Files changed (376) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/data/coverage.json +1443 -1683
  3. package/dist/addon-firefox/background.bundle.js +1 -0
  4. package/dist/addon-firefox/content.bundle.js +45 -33
  5. package/dist/addon-firefox/manifest.json +1 -1
  6. package/dist/addon-firefox/rules.json +1 -1
  7. package/dist/addon-mv3/background.bundle.js +1 -0
  8. package/dist/addon-mv3/content.bundle.js +45 -33
  9. package/dist/addon-mv3/manifest.json +1 -1
  10. package/dist/addon-mv3/popup.bundle.js +14 -0
  11. package/dist/addon-mv3/popup.html +14 -0
  12. package/dist/addon-mv3/rules.json +1 -1
  13. package/dist/autoconsent.cjs.js +45 -33
  14. package/dist/autoconsent.esm.js +45 -33
  15. package/dist/autoconsent.extra.cjs.js +45 -33
  16. package/dist/autoconsent.extra.esm.js +45 -33
  17. package/dist/autoconsent.playwright.js +46 -34
  18. package/lib/encoding.ts +65 -45
  19. package/lib/rules.ts +14 -14
  20. package/lib/types.ts +1 -0
  21. package/lib/utils.ts +1 -0
  22. package/lib/web.ts +2 -1
  23. package/package.json +1 -1
  24. package/rules/autoconsent/cookieyes.json +10 -4
  25. package/rules/autoconsent/ct-ultimate-gdpr.json +2 -2
  26. package/rules/compact-rules.json +1 -1
  27. package/rules/generated/auto_AU_codeweavers.com_clm.json +38 -0
  28. package/rules/generated/auto_AU_community.dyson.com_lek.json +38 -0
  29. package/rules/generated/auto_AU_drjoedispenza.com_ku0.json +38 -0
  30. package/rules/generated/auto_AU_earpros.com_3x3.json +38 -0
  31. package/rules/generated/auto_AU_fanatical.com_nth.json +38 -0
  32. package/rules/generated/auto_AU_gramophone.co.uk_3af.json +38 -0
  33. package/rules/generated/auto_AU_johnlewis.com_1rt.json +38 -0
  34. package/rules/generated/auto_AU_navman.com.au_zsn.json +38 -0
  35. package/rules/generated/auto_AU_pichunter.com_zhf.json +38 -0
  36. package/rules/generated/auto_AU_staff.flinders.edu.au_cpu.json +38 -0
  37. package/rules/generated/auto_AU_support.lenovo.com_bse.json +38 -0
  38. package/rules/generated/auto_AU_theabsolutesound.com_wcu.json +38 -0
  39. package/rules/generated/auto_AU_wikifeetx.com_lw4.json +38 -0
  40. package/rules/generated/auto_CA_123ink.ca_uhb.json +38 -0
  41. package/rules/generated/auto_CA_banfflakelouise.com_4eg.json +38 -0
  42. package/rules/generated/auto_CA_blsindia-canada.com_qqp.json +38 -0
  43. package/rules/generated/auto_CA_caainsurancecompany.ca_n0d.json +38 -0
  44. package/rules/generated/auto_CA_csagroup.org_3ho.json +38 -0
  45. package/rules/generated/auto_CA_f6s.com_yjw.json +38 -0
  46. package/rules/generated/auto_CA_fleshbot.com_m3j.json +38 -0
  47. package/rules/generated/auto_CA_fyidoctors.com_25j.json +38 -0
  48. package/rules/generated/auto_CA_golfavenue.ca_ero.json +38 -0
  49. package/rules/generated/auto_CA_ikmultimedia.com_v93.json +38 -0
  50. package/rules/generated/auto_CA_keepersecurity.com_06v.json +38 -0
  51. package/rules/generated/auto_CA_klm.ca_uvc.json +38 -0
  52. package/rules/generated/auto_CA_lectura-specs.com_hh2.json +38 -0
  53. package/rules/generated/auto_CA_merx.com_2nd.json +38 -0
  54. package/rules/generated/auto_CA_natureconservancy.ca_3pp.json +38 -0
  55. package/rules/generated/auto_CA_remitly.com_mm4.json +38 -0
  56. package/rules/generated/auto_CA_rentboard.ca_f02.json +38 -0
  57. package/rules/generated/auto_CA_rentfaster.ca_puj.json +38 -0
  58. package/rules/generated/auto_CA_rvdealers.ca_bvc.json +38 -0
  59. package/rules/generated/auto_CA_sceneplus.ca_5zu.json +38 -0
  60. package/rules/generated/auto_CA_scu.mb.ca_mqv.json +38 -0
  61. package/rules/generated/auto_CA_stclaircollege.ca_fj8.json +38 -0
  62. package/rules/generated/auto_CA_visa.ca_ldj.json +38 -0
  63. package/rules/generated/auto_CA_vrporngalaxy.com_nw8.json +38 -0
  64. package/rules/generated/auto_CA_westmount.org_l00.json +38 -0
  65. package/rules/generated/auto_GB_artsupplies.co.uk_1so.json +38 -0
  66. package/rules/generated/auto_GB_community.arubanetworks.com_cxu.json +38 -0
  67. package/rules/generated/auto_GB_francisandgaye.co.uk_m1d.json +38 -0
  68. package/rules/generated/auto_GB_fruugo.co.uk_686.json +38 -0
  69. package/rules/generated/auto_GB_homeswapper.co.uk_x3o.json +38 -0
  70. package/rules/generated/auto_GB_livejasmin.com_gdn.json +10 -0
  71. package/rules/generated/auto_GB_lovable.dev_4ul.json +38 -0
  72. package/rules/generated/auto_GB_online-pharmacy4u.co.uk_iag.json +38 -0
  73. package/rules/generated/auto_GB_partscentre.co.uk_0.json +14 -4
  74. package/rules/generated/auto_GB_powercuts.nationalgrid.co.uk_43h.json +38 -0
  75. package/rules/generated/auto_GB_reviewed.com_f1g.json +38 -0
  76. package/rules/generated/auto_GB_ruck.co.uk_1yo.json +38 -0
  77. package/rules/generated/auto_GB_smarkets.com_0.json +14 -4
  78. package/rules/generated/auto_GB_somersetft.nhs.uk_zno.json +38 -0
  79. package/rules/generated/auto_GB_stuartslondon.com_0.json +13 -3
  80. package/rules/generated/auto_GB_virginmedia.com_0.json +14 -4
  81. package/rules/generated/auto_GB_westwitteringestate.co.uk_hjv.json +38 -0
  82. package/rules/generated/auto_GB_wwws.airfrance.co.uk_0.json +1 -1
  83. package/rules/generated/auto_US_blinkforhome.com_bk2.json +38 -0
  84. package/rules/generated/auto_US_burpee.com_8gz.json +38 -0
  85. package/rules/generated/auto_US_coupons.businessinsider.com_6xd.json +38 -0
  86. package/rules/generated/auto_US_mycharisma.com_u6r.json +38 -0
  87. package/rules/generated/auto_US_mychart.wellstar.org_pwj.json +38 -0
  88. package/rules/generated/auto_US_tecadmin.net_4bn.json +38 -0
  89. package/rules/generated/auto_US_wilsoncombat.com_0.json +14 -4
  90. package/rules/rules.json +1 -1
  91. package/tests/ct-ultimate-gdpr.spec.ts +1 -1
  92. package/tests/generated/{auto_AU_iopscience.iop.org_hsw.spec.ts → auto_AU_codeweavers.com_clm.spec.ts} +1 -1
  93. package/tests/generated/auto_AU_community.dyson.com_lek.spec.ts +6 -0
  94. package/tests/generated/auto_AU_drjoedispenza.com_ku0.spec.ts +6 -0
  95. package/tests/generated/auto_AU_earpros.com_3x3.spec.ts +2 -0
  96. package/tests/generated/auto_AU_fanatical.com_nth.spec.ts +6 -0
  97. package/tests/generated/auto_AU_gramophone.co.uk_3af.spec.ts +6 -0
  98. package/tests/generated/{auto_AU_shure.com_28b.spec.ts → auto_AU_johnlewis.com_1rt.spec.ts} +1 -1
  99. package/tests/generated/{auto_GB_citylink.co.uk_0.spec.ts → auto_AU_navman.com.au_zsn.spec.ts} +2 -2
  100. package/tests/generated/auto_AU_pichunter.com_zhf.spec.ts +6 -0
  101. package/tests/generated/auto_AU_staff.flinders.edu.au_cpu.spec.ts +6 -0
  102. package/tests/generated/auto_AU_support.lenovo.com_bse.spec.ts +6 -0
  103. package/tests/generated/auto_AU_theabsolutesound.com_wcu.spec.ts +6 -0
  104. package/tests/generated/auto_AU_wikifeetx.com_lw4.spec.ts +2 -0
  105. package/tests/generated/auto_CA_123ink.ca_uhb.spec.ts +2 -0
  106. package/tests/generated/auto_CA_banfflakelouise.com_4eg.spec.ts +6 -0
  107. package/tests/generated/auto_CA_blsindia-canada.com_qqp.spec.ts +6 -0
  108. package/tests/generated/{auto_GB_rolcruise.co.uk_0.spec.ts → auto_CA_caainsurancecompany.ca_n0d.spec.ts} +2 -2
  109. package/tests/generated/auto_CA_csagroup.org_3ho.spec.ts +2 -0
  110. package/tests/generated/auto_CA_f6s.com_yjw.spec.ts +2 -0
  111. package/tests/generated/{auto_GB_zap-map.com_0.spec.ts → auto_CA_fleshbot.com_m3j.spec.ts} +1 -1
  112. package/tests/generated/auto_CA_fyidoctors.com_25j.spec.ts +2 -0
  113. package/tests/generated/{auto_CA_trekbikes.com_w0n.spec.ts → auto_CA_golfavenue.ca_ero.spec.ts} +1 -1
  114. package/tests/generated/auto_CA_ikmultimedia.com_v93.spec.ts +6 -0
  115. package/tests/generated/auto_CA_keepersecurity.com_06v.spec.ts +6 -0
  116. package/tests/generated/auto_CA_klm.ca_uvc.spec.ts +2 -0
  117. package/tests/generated/auto_CA_lectura-specs.com_hh2.spec.ts +6 -0
  118. package/tests/generated/auto_CA_merx.com_2nd.spec.ts +2 -0
  119. package/tests/generated/auto_CA_natureconservancy.ca_3pp.spec.ts +6 -0
  120. package/tests/generated/auto_CA_remitly.com_mm4.spec.ts +2 -0
  121. package/tests/generated/auto_CA_rentboard.ca_f02.spec.ts +2 -0
  122. package/tests/generated/auto_CA_rentfaster.ca_puj.spec.ts +6 -0
  123. package/tests/generated/auto_CA_rvdealers.ca_bvc.spec.ts +2 -0
  124. package/tests/generated/auto_CA_sceneplus.ca_5zu.spec.ts +2 -0
  125. package/tests/generated/auto_CA_scu.mb.ca_mqv.spec.ts +2 -0
  126. package/tests/generated/auto_CA_stclaircollege.ca_fj8.spec.ts +6 -0
  127. package/tests/generated/auto_CA_visa.ca_ldj.spec.ts +2 -0
  128. package/tests/generated/auto_CA_vrporngalaxy.com_nw8.spec.ts +6 -0
  129. package/tests/generated/auto_CA_westmount.org_l00.spec.ts +2 -0
  130. package/tests/generated/{auto_GB_blockchain.com_0.spec.ts → auto_GB_artsupplies.co.uk_1so.spec.ts} +1 -1
  131. package/tests/generated/auto_GB_community.arubanetworks.com_cxu.spec.ts +6 -0
  132. package/tests/generated/{auto_GB_bedandbreakfast.eu_0.spec.ts → auto_GB_francisandgaye.co.uk_m1d.spec.ts} +1 -1
  133. package/tests/generated/auto_GB_fruugo.co.uk_686.spec.ts +2 -0
  134. package/tests/generated/{auto_GB_boilerjuice.com_0.spec.ts → auto_GB_homeswapper.co.uk_x3o.spec.ts} +1 -1
  135. package/tests/generated/auto_GB_lovable.dev_4ul.spec.ts +2 -0
  136. package/tests/generated/auto_GB_online-pharmacy4u.co.uk_iag.spec.ts +6 -0
  137. package/tests/generated/{auto_GB_bestwestern.co.uk_0.spec.ts → auto_GB_partscentre.co.uk_0.spec.ts} +1 -1
  138. package/tests/generated/auto_GB_powercuts.nationalgrid.co.uk_43h.spec.ts +6 -0
  139. package/tests/generated/auto_GB_reviewed.com_f1g.spec.ts +2 -0
  140. package/tests/generated/{auto_GB_theros.org.uk_0.spec.ts → auto_GB_ruck.co.uk_1yo.spec.ts} +1 -1
  141. package/tests/generated/{auto_GB_yubico.com_0.spec.ts → auto_GB_smarkets.com_0.spec.ts} +1 -1
  142. package/tests/generated/{auto_GB_bannatyne.co.uk_0.spec.ts → auto_GB_somersetft.nhs.uk_zno.spec.ts} +1 -1
  143. package/tests/generated/auto_GB_virginmedia.com_0.spec.ts +1 -1
  144. package/tests/generated/{auto_GB_birminghamairport.co.uk_0.spec.ts → auto_GB_westwitteringestate.co.uk_hjv.spec.ts} +1 -1
  145. package/tests/generated/{auto_US_longevity.technology_ui9.spec.ts → auto_US_blinkforhome.com_bk2.spec.ts} +1 -1
  146. package/tests/generated/auto_US_burpee.com_8gz.spec.ts +2 -0
  147. package/tests/generated/auto_US_coupons.businessinsider.com_6xd.spec.ts +6 -0
  148. package/tests/generated/auto_US_mycharisma.com_u6r.spec.ts +2 -0
  149. package/tests/generated/auto_US_mychart.wellstar.org_pwj.spec.ts +6 -0
  150. package/tests/generated/auto_US_tecadmin.net_4bn.spec.ts +2 -0
  151. package/tests/generated/auto_US_wilsoncombat.com_0.spec.ts +5 -2
  152. package/rules/generated/auto_AU_iopscience.iop.org_hsw.json +0 -28
  153. package/rules/generated/auto_AU_shure.com_28b.json +0 -28
  154. package/rules/generated/auto_CA_trekbikes.com_w0n.json +0 -28
  155. package/rules/generated/auto_GB_abbavoyage.com_0.json +0 -28
  156. package/rules/generated/auto_GB_aber.ac.uk_0.json +0 -28
  157. package/rules/generated/auto_GB_airtattoo.com_0.json +0 -28
  158. package/rules/generated/auto_GB_bangor.ac.uk_0.json +0 -28
  159. package/rules/generated/auto_GB_bannatyne.co.uk_0.json +0 -28
  160. package/rules/generated/auto_GB_bedandbreakfast.eu_0.json +0 -28
  161. package/rules/generated/auto_GB_bestwestern.co.uk_0.json +0 -28
  162. package/rules/generated/auto_GB_birminghamairport.co.uk_0.json +0 -28
  163. package/rules/generated/auto_GB_blockchain.com_0.json +0 -28
  164. package/rules/generated/auto_GB_bluelightcard.co.uk_0.json +0 -28
  165. package/rules/generated/auto_GB_boilerjuice.com_0.json +0 -28
  166. package/rules/generated/auto_GB_bonmarche.co.uk_0.json +0 -28
  167. package/rules/generated/auto_GB_booker.co.uk_0.json +0 -28
  168. package/rules/generated/auto_GB_bradfords.co.uk_0.json +0 -28
  169. package/rules/generated/auto_GB_brandonhirestation.com_0.json +0 -28
  170. package/rules/generated/auto_GB_c2c-online.co.uk_0.json +0 -28
  171. package/rules/generated/auto_GB_casio.com_0.json +0 -28
  172. package/rules/generated/auto_GB_chemistdirect.co.uk_0.json +0 -28
  173. package/rules/generated/auto_GB_citylink.co.uk_0.json +0 -28
  174. package/rules/generated/auto_GB_classic-trader.com_0.json +0 -28
  175. package/rules/generated/auto_GB_cliftoncameras.co.uk_0.json +0 -28
  176. package/rules/generated/auto_GB_crownpaints.co.uk_0.json +0 -28
  177. package/rules/generated/auto_GB_design911.co.uk_0.json +0 -28
  178. package/rules/generated/auto_GB_discountdragon.co.uk_0.json +0 -28
  179. package/rules/generated/auto_GB_doorsuperstore.co.uk_0.json +0 -28
  180. package/rules/generated/auto_GB_drainagesuperstore.co.uk_0.json +0 -28
  181. package/rules/generated/auto_GB_eastmidlandsrailway.co.uk_0.json +0 -28
  182. package/rules/generated/auto_GB_elements.envato.com_0.json +0 -28
  183. package/rules/generated/auto_GB_ercol.com_0.json +0 -28
  184. package/rules/generated/auto_GB_eurail.com_0.json +0 -28
  185. package/rules/generated/auto_GB_eurochange.co.uk_0.json +0 -28
  186. package/rules/generated/auto_GB_farrow-ball.com_0.json +0 -28
  187. package/rules/generated/auto_GB_finisterre.com_0.json +0 -28
  188. package/rules/generated/auto_GB_firstfence.co.uk_i98.json +0 -28
  189. package/rules/generated/auto_GB_gog.com_0.json +0 -28
  190. package/rules/generated/auto_GB_greateranglia.co.uk_0.json +0 -28
  191. package/rules/generated/auto_GB_gshock.casio.com_0.json +0 -28
  192. package/rules/generated/auto_GB_healthcareers.nhs.uk_0.json +0 -28
  193. package/rules/generated/auto_GB_hltv.org_0.json +0 -28
  194. package/rules/generated/auto_GB_hyperdrug.co.uk_0.json +0 -28
  195. package/rules/generated/auto_GB_insulationsuperstore.co.uk_0.json +0 -28
  196. package/rules/generated/auto_GB_interrail.eu_0.json +0 -28
  197. package/rules/generated/auto_GB_irishrail.ie_0.json +0 -28
  198. package/rules/generated/auto_GB_irwinmitchell.com_0.json +0 -28
  199. package/rules/generated/auto_GB_islesofscilly-travel.co.uk_0.json +0 -28
  200. package/rules/generated/auto_GB_iwantgreatcare.org_0.json +0 -28
  201. package/rules/generated/auto_GB_jacksons-fencing.co.uk_0.json +0 -28
  202. package/rules/generated/auto_GB_jarrolds.co.uk_0.json +0 -28
  203. package/rules/generated/auto_GB_jigsaw-online.com_0.json +0 -28
  204. package/rules/generated/auto_GB_kent.ac.uk_0.json +0 -28
  205. package/rules/generated/auto_GB_kidneycareuk.org_0.json +0 -28
  206. package/rules/generated/auto_GB_lecreuset.co.uk_0.json +0 -28
  207. package/rules/generated/auto_GB_leedsbeckett.ac.uk_0.json +0 -28
  208. package/rules/generated/auto_GB_liveauctioneers.com_0.json +0 -28
  209. package/rules/generated/auto_GB_londonnorthwesternrailway.co.uk_0.json +0 -28
  210. package/rules/generated/auto_GB_love2shop.co.uk_0.json +0 -28
  211. package/rules/generated/auto_GB_ltmuseum.co.uk_0.json +0 -28
  212. package/rules/generated/auto_GB_lucyandyak.com_x3v.json +0 -28
  213. package/rules/generated/auto_GB_mandstravelmoney.com_0.json +0 -28
  214. package/rules/generated/auto_GB_medway.gov.uk_0.json +0 -28
  215. package/rules/generated/auto_GB_mg.co.uk_0.json +0 -28
  216. package/rules/generated/auto_GB_motorcyclespareparts.eu_0.json +0 -28
  217. package/rules/generated/auto_GB_musicstore.com_0.json +0 -28
  218. package/rules/generated/auto_GB_myenergi.com_0.json +0 -28
  219. package/rules/generated/auto_GB_nationalgallery.org.uk_0.json +0 -28
  220. package/rules/generated/auto_GB_ncl.ac.uk_0.json +0 -28
  221. package/rules/generated/auto_GB_newdealsonline.co.uk_0.json +0 -28
  222. package/rules/generated/auto_GB_northernrailway.co.uk_0.json +0 -28
  223. package/rules/generated/auto_GB_notcutts.co.uk_0.json +0 -28
  224. package/rules/generated/auto_GB_oaknorth.co.uk_0.json +0 -28
  225. package/rules/generated/auto_GB_overclockers.co.uk_0.json +0 -28
  226. package/rules/generated/auto_GB_pavers.co.uk_0.json +0 -28
  227. package/rules/generated/auto_GB_pharmacy2u.co.uk_0.json +0 -28
  228. package/rules/generated/auto_GB_pixelcut.ai_lfx.json +0 -28
  229. package/rules/generated/auto_GB_plymouth.ac.uk_0.json +0 -28
  230. package/rules/generated/auto_GB_poferries.com_0.json +0 -28
  231. package/rules/generated/auto_GB_puppies.co.uk_0.json +0 -28
  232. package/rules/generated/auto_GB_raf.mod.uk_0.json +0 -28
  233. package/rules/generated/auto_GB_rct.uk_0.json +0 -28
  234. package/rules/generated/auto_GB_robertsspaceindustries.com_0.json +0 -28
  235. package/rules/generated/auto_GB_rolcruise.co.uk_0.json +0 -28
  236. package/rules/generated/auto_GB_roofingsuperstore.co.uk_0.json +0 -28
  237. package/rules/generated/auto_GB_roughtrade.com_0.json +0 -28
  238. package/rules/generated/auto_GB_royalenfield.com_0.json +0 -28
  239. package/rules/generated/auto_GB_royalmint.com_0.json +0 -28
  240. package/rules/generated/auto_GB_sharkclean.co.uk_0.json +0 -28
  241. package/rules/generated/auto_GB_shu.ac.uk_0.json +0 -28
  242. package/rules/generated/auto_GB_slaters.co.uk_0.json +0 -28
  243. package/rules/generated/auto_GB_sockshop.co.uk_7pv.json +0 -28
  244. package/rules/generated/auto_GB_specializedconceptstore.co.uk_0.json +0 -28
  245. package/rules/generated/auto_GB_sram.com_0.json +0 -28
  246. package/rules/generated/auto_GB_staples.co.uk_0.json +0 -28
  247. package/rules/generated/auto_GB_steam-packet.com_0.json +0 -28
  248. package/rules/generated/auto_GB_superbikefactory.co.uk_0.json +0 -28
  249. package/rules/generated/auto_GB_teepublic.com_0.json +0 -28
  250. package/rules/generated/auto_GB_thefarmersdogpub.com_0.json +0 -28
  251. package/rules/generated/auto_GB_thegreenreaper.co.uk_0.json +0 -28
  252. package/rules/generated/auto_GB_themeforest.net_0.json +0 -28
  253. package/rules/generated/auto_GB_theros.org.uk_0.json +0 -28
  254. package/rules/generated/auto_GB_thingiverse.com_0.json +0 -28
  255. package/rules/generated/auto_GB_timeshighereducation.com_0.json +0 -28
  256. package/rules/generated/auto_GB_towbarexpress.co.uk_0.json +0 -28
  257. package/rules/generated/auto_GB_tritonshowers.co.uk_0.json +0 -28
  258. package/rules/generated/auto_GB_utilitabowl.com_0.json +0 -28
  259. package/rules/generated/auto_GB_veals.co.uk_0.json +0 -28
  260. package/rules/generated/auto_GB_visitpeakdistrict.com_0.json +0 -28
  261. package/rules/generated/auto_GB_water-garden.co.uk_0.json +0 -28
  262. package/rules/generated/auto_GB_weforum.org_0.json +0 -28
  263. package/rules/generated/auto_GB_west-somerset-railway.co.uk_0.json +0 -28
  264. package/rules/generated/auto_GB_westmidlandsrailway.co.uk_0.json +0 -28
  265. package/rules/generated/auto_GB_whatprice.co.uk_vey.json +0 -28
  266. package/rules/generated/auto_GB_worldathletics.org_0.json +0 -28
  267. package/rules/generated/auto_GB_yeovalley.co.uk_0.json +0 -28
  268. package/rules/generated/auto_GB_yubico.com_0.json +0 -28
  269. package/rules/generated/auto_GB_zap-map.com_0.json +0 -28
  270. package/rules/generated/auto_GB_zoomcorp.com_0cv.json +0 -28
  271. package/rules/generated/auto_US_longevity.technology_ui9.json +0 -28
  272. package/tests/generated/auto_GB_abbavoyage.com_0.spec.ts +0 -2
  273. package/tests/generated/auto_GB_aber.ac.uk_0.spec.ts +0 -2
  274. package/tests/generated/auto_GB_airtattoo.com_0.spec.ts +0 -2
  275. package/tests/generated/auto_GB_bangor.ac.uk_0.spec.ts +0 -2
  276. package/tests/generated/auto_GB_bluelightcard.co.uk_0.spec.ts +0 -6
  277. package/tests/generated/auto_GB_bonmarche.co.uk_0.spec.ts +0 -6
  278. package/tests/generated/auto_GB_booker.co.uk_0.spec.ts +0 -2
  279. package/tests/generated/auto_GB_bradfords.co.uk_0.spec.ts +0 -6
  280. package/tests/generated/auto_GB_brandonhirestation.com_0.spec.ts +0 -6
  281. package/tests/generated/auto_GB_c2c-online.co.uk_0.spec.ts +0 -6
  282. package/tests/generated/auto_GB_casio.com_0.spec.ts +0 -2
  283. package/tests/generated/auto_GB_chemistdirect.co.uk_0.spec.ts +0 -6
  284. package/tests/generated/auto_GB_classic-trader.com_0.spec.ts +0 -6
  285. package/tests/generated/auto_GB_cliftoncameras.co.uk_0.spec.ts +0 -6
  286. package/tests/generated/auto_GB_crownpaints.co.uk_0.spec.ts +0 -6
  287. package/tests/generated/auto_GB_design911.co.uk_0.spec.ts +0 -6
  288. package/tests/generated/auto_GB_discountdragon.co.uk_0.spec.ts +0 -6
  289. package/tests/generated/auto_GB_doorsuperstore.co.uk_0.spec.ts +0 -6
  290. package/tests/generated/auto_GB_drainagesuperstore.co.uk_0.spec.ts +0 -6
  291. package/tests/generated/auto_GB_eastmidlandsrailway.co.uk_0.spec.ts +0 -6
  292. package/tests/generated/auto_GB_elements.envato.com_0.spec.ts +0 -6
  293. package/tests/generated/auto_GB_ercol.com_0.spec.ts +0 -2
  294. package/tests/generated/auto_GB_eurail.com_0.spec.ts +0 -2
  295. package/tests/generated/auto_GB_eurochange.co.uk_0.spec.ts +0 -6
  296. package/tests/generated/auto_GB_farrow-ball.com_0.spec.ts +0 -6
  297. package/tests/generated/auto_GB_finisterre.com_0.spec.ts +0 -2
  298. package/tests/generated/auto_GB_firstfence.co.uk_i98.spec.ts +0 -6
  299. package/tests/generated/auto_GB_gog.com_0.spec.ts +0 -2
  300. package/tests/generated/auto_GB_greateranglia.co.uk_0.spec.ts +0 -6
  301. package/tests/generated/auto_GB_gshock.casio.com_0.spec.ts +0 -6
  302. package/tests/generated/auto_GB_healthcareers.nhs.uk_0.spec.ts +0 -6
  303. package/tests/generated/auto_GB_hltv.org_0.spec.ts +0 -2
  304. package/tests/generated/auto_GB_hyperdrug.co.uk_0.spec.ts +0 -2
  305. package/tests/generated/auto_GB_insulationsuperstore.co.uk_0.spec.ts +0 -6
  306. package/tests/generated/auto_GB_interrail.eu_0.spec.ts +0 -2
  307. package/tests/generated/auto_GB_irishrail.ie_0.spec.ts +0 -6
  308. package/tests/generated/auto_GB_irwinmitchell.com_0.spec.ts +0 -6
  309. package/tests/generated/auto_GB_islesofscilly-travel.co.uk_0.spec.ts +0 -6
  310. package/tests/generated/auto_GB_iwantgreatcare.org_0.spec.ts +0 -6
  311. package/tests/generated/auto_GB_jacksons-fencing.co.uk_0.spec.ts +0 -6
  312. package/tests/generated/auto_GB_jarrolds.co.uk_0.spec.ts +0 -6
  313. package/tests/generated/auto_GB_jigsaw-online.com_0.spec.ts +0 -6
  314. package/tests/generated/auto_GB_kent.ac.uk_0.spec.ts +0 -2
  315. package/tests/generated/auto_GB_kidneycareuk.org_0.spec.ts +0 -6
  316. package/tests/generated/auto_GB_lecreuset.co.uk_0.spec.ts +0 -6
  317. package/tests/generated/auto_GB_leedsbeckett.ac.uk_0.spec.ts +0 -6
  318. package/tests/generated/auto_GB_liveauctioneers.com_0.spec.ts +0 -6
  319. package/tests/generated/auto_GB_londonnorthwesternrailway.co.uk_0.spec.ts +0 -6
  320. package/tests/generated/auto_GB_love2shop.co.uk_0.spec.ts +0 -6
  321. package/tests/generated/auto_GB_ltmuseum.co.uk_0.spec.ts +0 -6
  322. package/tests/generated/auto_GB_lucyandyak.com_x3v.spec.ts +0 -2
  323. package/tests/generated/auto_GB_mandstravelmoney.com_0.spec.ts +0 -6
  324. package/tests/generated/auto_GB_medway.gov.uk_0.spec.ts +0 -2
  325. package/tests/generated/auto_GB_mg.co.uk_0.spec.ts +0 -2
  326. package/tests/generated/auto_GB_motorcyclespareparts.eu_0.spec.ts +0 -6
  327. package/tests/generated/auto_GB_musicstore.com_0.spec.ts +0 -6
  328. package/tests/generated/auto_GB_myenergi.com_0.spec.ts +0 -2
  329. package/tests/generated/auto_GB_nationalgallery.org.uk_0.spec.ts +0 -6
  330. package/tests/generated/auto_GB_ncl.ac.uk_0.spec.ts +0 -2
  331. package/tests/generated/auto_GB_newdealsonline.co.uk_0.spec.ts +0 -6
  332. package/tests/generated/auto_GB_northernrailway.co.uk_0.spec.ts +0 -6
  333. package/tests/generated/auto_GB_notcutts.co.uk_0.spec.ts +0 -6
  334. package/tests/generated/auto_GB_oaknorth.co.uk_0.spec.ts +0 -2
  335. package/tests/generated/auto_GB_overclockers.co.uk_0.spec.ts +0 -6
  336. package/tests/generated/auto_GB_pavers.co.uk_0.spec.ts +0 -2
  337. package/tests/generated/auto_GB_pharmacy2u.co.uk_0.spec.ts +0 -6
  338. package/tests/generated/auto_GB_pixelcut.ai_lfx.spec.ts +0 -2
  339. package/tests/generated/auto_GB_plymouth.ac.uk_0.spec.ts +0 -6
  340. package/tests/generated/auto_GB_poferries.com_0.spec.ts +0 -6
  341. package/tests/generated/auto_GB_puppies.co.uk_0.spec.ts +0 -2
  342. package/tests/generated/auto_GB_raf.mod.uk_0.spec.ts +0 -2
  343. package/tests/generated/auto_GB_rct.uk_0.spec.ts +0 -2
  344. package/tests/generated/auto_GB_robertsspaceindustries.com_0.spec.ts +0 -6
  345. package/tests/generated/auto_GB_roofingsuperstore.co.uk_0.spec.ts +0 -6
  346. package/tests/generated/auto_GB_roughtrade.com_0.spec.ts +0 -6
  347. package/tests/generated/auto_GB_royalenfield.com_0.spec.ts +0 -6
  348. package/tests/generated/auto_GB_royalmint.com_0.spec.ts +0 -2
  349. package/tests/generated/auto_GB_sharkclean.co.uk_0.spec.ts +0 -6
  350. package/tests/generated/auto_GB_shu.ac.uk_0.spec.ts +0 -2
  351. package/tests/generated/auto_GB_slaters.co.uk_0.spec.ts +0 -2
  352. package/tests/generated/auto_GB_sockshop.co.uk_7pv.spec.ts +0 -6
  353. package/tests/generated/auto_GB_specializedconceptstore.co.uk_0.spec.ts +0 -6
  354. package/tests/generated/auto_GB_sram.com_0.spec.ts +0 -2
  355. package/tests/generated/auto_GB_staples.co.uk_0.spec.ts +0 -2
  356. package/tests/generated/auto_GB_steam-packet.com_0.spec.ts +0 -6
  357. package/tests/generated/auto_GB_superbikefactory.co.uk_0.spec.ts +0 -6
  358. package/tests/generated/auto_GB_teepublic.com_0.spec.ts +0 -2
  359. package/tests/generated/auto_GB_thefarmersdogpub.com_0.spec.ts +0 -6
  360. package/tests/generated/auto_GB_thegreenreaper.co.uk_0.spec.ts +0 -6
  361. package/tests/generated/auto_GB_themeforest.net_0.spec.ts +0 -2
  362. package/tests/generated/auto_GB_thingiverse.com_0.spec.ts +0 -6
  363. package/tests/generated/auto_GB_timeshighereducation.com_0.spec.ts +0 -6
  364. package/tests/generated/auto_GB_towbarexpress.co.uk_0.spec.ts +0 -6
  365. package/tests/generated/auto_GB_tritonshowers.co.uk_0.spec.ts +0 -6
  366. package/tests/generated/auto_GB_utilitabowl.com_0.spec.ts +0 -6
  367. package/tests/generated/auto_GB_veals.co.uk_0.spec.ts +0 -2
  368. package/tests/generated/auto_GB_visitpeakdistrict.com_0.spec.ts +0 -6
  369. package/tests/generated/auto_GB_water-garden.co.uk_0.spec.ts +0 -6
  370. package/tests/generated/auto_GB_weforum.org_0.spec.ts +0 -2
  371. package/tests/generated/auto_GB_west-somerset-railway.co.uk_0.spec.ts +0 -6
  372. package/tests/generated/auto_GB_westmidlandsrailway.co.uk_0.spec.ts +0 -6
  373. package/tests/generated/auto_GB_whatprice.co.uk_vey.spec.ts +0 -6
  374. package/tests/generated/auto_GB_worldathletics.org_0.spec.ts +0 -6
  375. package/tests/generated/auto_GB_yeovalley.co.uk_0.spec.ts +0 -6
  376. package/tests/generated/auto_GB_zoomcorp.com_0cv.spec.ts +0 -6
@@ -1231,6 +1231,7 @@ function normalizeConfig(providedConfig) {
1231
1231
  disabledCmps: [],
1232
1232
  enablePrehide: true,
1233
1233
  enableCosmeticRules: true,
1234
+ enableGeneratedRules: true,
1234
1235
  enableHeuristicDetection: false,
1235
1236
  detectRetries: 20,
1236
1237
  isMainWorld: false,
@@ -3837,11 +3838,24 @@ function decodeRules(encoded) {
3837
3838
  if (encoded.v > 1) {
3838
3839
  throw new Error("Unsupported rule format.");
3839
3840
  }
3840
- function decodeRuleStep(step) {
3841
+ return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => new CompactedCMPRule(rule, encoded.s));
3842
+ }
3843
+ var CompactedCMPRule = class {
3844
+ constructor(rule, strings) {
3845
+ this.intermediate = false;
3846
+ this.optIn = [];
3847
+ this.r = rule;
3848
+ this.s = strings;
3849
+ if (this.r[10] && this.r[10].intermediate) {
3850
+ this.intermediate = this.r[10].intermediate;
3851
+ }
3852
+ }
3853
+ _decodeRuleStep(step) {
3841
3854
  const clonedStep = { ...step };
3855
+ const decodeRuleStep = this._decodeRuleStep.bind(this);
3842
3856
  for (const [longKey, shortKey] of compactedRuleSteps) {
3843
3857
  if (clonedStep[shortKey] !== void 0) {
3844
- clonedStep[longKey] = encoded.s[clonedStep[shortKey]];
3858
+ clonedStep[longKey] = this.s[clonedStep[shortKey]];
3845
3859
  delete clonedStep[shortKey];
3846
3860
  }
3847
3861
  }
@@ -3857,22 +3871,16 @@ function decodeRules(encoded) {
3857
3871
  }
3858
3872
  return { ...clonedStep };
3859
3873
  }
3860
- return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => {
3861
- const [
3862
- minimumRuleStepVersion,
3863
- name,
3864
- cosmetic,
3865
- urlPattern,
3866
- mainFrame,
3867
- prehideSelectors,
3868
- detectCmp,
3869
- detectPopup,
3870
- optOut,
3871
- test,
3872
- extra
3873
- ] = rule;
3874
- const optIn = [];
3874
+ get name() {
3875
+ return this.r[1];
3876
+ }
3877
+ get cosmetic() {
3878
+ return decodeNullableBoolean(this.r[2]);
3879
+ }
3880
+ get runContext() {
3875
3881
  const runContext = {};
3882
+ const urlPattern = this.r[3];
3883
+ const mainFrame = this.r[4];
3876
3884
  const runInMainFrame = decodeNullableBoolean(Math.floor(mainFrame / 10) % 10);
3877
3885
  const runInSubFrame = decodeNullableBoolean(mainFrame % 10);
3878
3886
  if (runInMainFrame !== void 0) {
@@ -3884,27 +3892,31 @@ function decodeRules(encoded) {
3884
3892
  if (urlPattern !== "") {
3885
3893
  runContext.urlPattern = urlPattern;
3886
3894
  }
3887
- return {
3888
- name,
3889
- cosmetic: decodeNullableBoolean(cosmetic),
3890
- runContext,
3891
- prehideSelectors: prehideSelectors.map((i) => encoded.s[i].toString()),
3892
- detectCmp: detectCmp.map(decodeRuleStep),
3893
- detectPopup: detectPopup.map(decodeRuleStep),
3894
- optOut: optOut.map(decodeRuleStep),
3895
- optIn,
3896
- test: test?.map(decodeRuleStep),
3897
- minimumRuleStepVersion: minimumRuleStepVersion || void 0,
3898
- ...extra
3899
- };
3900
- });
3901
- }
3895
+ return runContext;
3896
+ }
3897
+ get prehideSelectors() {
3898
+ return this.r[5].map((i) => this.s[i].toString());
3899
+ }
3900
+ get detectCmp() {
3901
+ return this.r[6].map(this._decodeRuleStep.bind(this));
3902
+ }
3903
+ get detectPopup() {
3904
+ return this.r[7].map(this._decodeRuleStep.bind(this));
3905
+ }
3906
+ get optOut() {
3907
+ return this.r[8].map(this._decodeRuleStep.bind(this));
3908
+ }
3909
+ get test() {
3910
+ return this.r[9].map(this._decodeRuleStep.bind(this));
3911
+ }
3912
+ };
3902
3913
 
3903
3914
  // lib/web.ts
3904
3915
  function filterCMPs(rules, config) {
3905
3916
  return rules.filter((cmp) => {
3906
3917
  return (!config.disabledCmps || !config.disabledCmps.includes(cmp.name)) && // CMP is not disabled
3907
- (config.enableCosmeticRules || !cmp.isCosmetic);
3918
+ (config.enableCosmeticRules || !cmp.isCosmetic) && // CMP is not cosmetic or cosmetic rules are enabled
3919
+ (config.enableGeneratedRules || !cmp.name.startsWith("auto_"));
3908
3920
  });
3909
3921
  }
3910
3922
  var _config;
@@ -682,6 +682,7 @@ function normalizeConfig(providedConfig) {
682
682
  disabledCmps: [],
683
683
  enablePrehide: true,
684
684
  enableCosmeticRules: true,
685
+ enableGeneratedRules: true,
685
686
  enableHeuristicDetection: false,
686
687
  detectRetries: 20,
687
688
  isMainWorld: false,
@@ -3775,11 +3776,24 @@ function decodeRules(encoded) {
3775
3776
  if (encoded.v > 1) {
3776
3777
  throw new Error("Unsupported rule format.");
3777
3778
  }
3778
- function decodeRuleStep(step) {
3779
+ return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => new CompactedCMPRule(rule, encoded.s));
3780
+ }
3781
+ var CompactedCMPRule = class {
3782
+ constructor(rule, strings) {
3783
+ this.intermediate = false;
3784
+ this.optIn = [];
3785
+ this.r = rule;
3786
+ this.s = strings;
3787
+ if (this.r[10] && this.r[10].intermediate) {
3788
+ this.intermediate = this.r[10].intermediate;
3789
+ }
3790
+ }
3791
+ _decodeRuleStep(step) {
3779
3792
  const clonedStep = { ...step };
3793
+ const decodeRuleStep = this._decodeRuleStep.bind(this);
3780
3794
  for (const [longKey, shortKey] of compactedRuleSteps) {
3781
3795
  if (clonedStep[shortKey] !== void 0) {
3782
- clonedStep[longKey] = encoded.s[clonedStep[shortKey]];
3796
+ clonedStep[longKey] = this.s[clonedStep[shortKey]];
3783
3797
  delete clonedStep[shortKey];
3784
3798
  }
3785
3799
  }
@@ -3795,22 +3809,16 @@ function decodeRules(encoded) {
3795
3809
  }
3796
3810
  return { ...clonedStep };
3797
3811
  }
3798
- return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => {
3799
- const [
3800
- minimumRuleStepVersion,
3801
- name,
3802
- cosmetic,
3803
- urlPattern,
3804
- mainFrame,
3805
- prehideSelectors,
3806
- detectCmp,
3807
- detectPopup,
3808
- optOut,
3809
- test,
3810
- extra
3811
- ] = rule;
3812
- const optIn = [];
3812
+ get name() {
3813
+ return this.r[1];
3814
+ }
3815
+ get cosmetic() {
3816
+ return decodeNullableBoolean(this.r[2]);
3817
+ }
3818
+ get runContext() {
3813
3819
  const runContext = {};
3820
+ const urlPattern = this.r[3];
3821
+ const mainFrame = this.r[4];
3814
3822
  const runInMainFrame = decodeNullableBoolean(Math.floor(mainFrame / 10) % 10);
3815
3823
  const runInSubFrame = decodeNullableBoolean(mainFrame % 10);
3816
3824
  if (runInMainFrame !== void 0) {
@@ -3822,27 +3830,31 @@ function decodeRules(encoded) {
3822
3830
  if (urlPattern !== "") {
3823
3831
  runContext.urlPattern = urlPattern;
3824
3832
  }
3825
- return {
3826
- name,
3827
- cosmetic: decodeNullableBoolean(cosmetic),
3828
- runContext,
3829
- prehideSelectors: prehideSelectors.map((i) => encoded.s[i].toString()),
3830
- detectCmp: detectCmp.map(decodeRuleStep),
3831
- detectPopup: detectPopup.map(decodeRuleStep),
3832
- optOut: optOut.map(decodeRuleStep),
3833
- optIn,
3834
- test: test?.map(decodeRuleStep),
3835
- minimumRuleStepVersion: minimumRuleStepVersion || void 0,
3836
- ...extra
3837
- };
3838
- });
3839
- }
3833
+ return runContext;
3834
+ }
3835
+ get prehideSelectors() {
3836
+ return this.r[5].map((i) => this.s[i].toString());
3837
+ }
3838
+ get detectCmp() {
3839
+ return this.r[6].map(this._decodeRuleStep.bind(this));
3840
+ }
3841
+ get detectPopup() {
3842
+ return this.r[7].map(this._decodeRuleStep.bind(this));
3843
+ }
3844
+ get optOut() {
3845
+ return this.r[8].map(this._decodeRuleStep.bind(this));
3846
+ }
3847
+ get test() {
3848
+ return this.r[9].map(this._decodeRuleStep.bind(this));
3849
+ }
3850
+ };
3840
3851
 
3841
3852
  // lib/web.ts
3842
3853
  function filterCMPs(rules, config) {
3843
3854
  return rules.filter((cmp) => {
3844
3855
  return (!config.disabledCmps || !config.disabledCmps.includes(cmp.name)) && // CMP is not disabled
3845
- (config.enableCosmeticRules || !cmp.isCosmetic);
3856
+ (config.enableCosmeticRules || !cmp.isCosmetic) && // CMP is not cosmetic or cosmetic rules are enabled
3857
+ (config.enableGeneratedRules || !cmp.name.startsWith("auto_"));
3846
3858
  });
3847
3859
  }
3848
3860
  var _config;
@@ -1231,6 +1231,7 @@ function normalizeConfig(providedConfig) {
1231
1231
  disabledCmps: [],
1232
1232
  enablePrehide: true,
1233
1233
  enableCosmeticRules: true,
1234
+ enableGeneratedRules: true,
1234
1235
  enableHeuristicDetection: false,
1235
1236
  detectRetries: 20,
1236
1237
  isMainWorld: false,
@@ -12700,11 +12701,24 @@ function decodeRules(encoded) {
12700
12701
  if (encoded.v > 1) {
12701
12702
  throw new Error("Unsupported rule format.");
12702
12703
  }
12703
- function decodeRuleStep(step) {
12704
+ return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => new CompactedCMPRule(rule, encoded.s));
12705
+ }
12706
+ var CompactedCMPRule = class {
12707
+ constructor(rule, strings) {
12708
+ this.intermediate = false;
12709
+ this.optIn = [];
12710
+ this.r = rule;
12711
+ this.s = strings;
12712
+ if (this.r[10] && this.r[10].intermediate) {
12713
+ this.intermediate = this.r[10].intermediate;
12714
+ }
12715
+ }
12716
+ _decodeRuleStep(step) {
12704
12717
  const clonedStep = { ...step };
12718
+ const decodeRuleStep = this._decodeRuleStep.bind(this);
12705
12719
  for (const [longKey, shortKey] of compactedRuleSteps) {
12706
12720
  if (clonedStep[shortKey] !== void 0) {
12707
- clonedStep[longKey] = encoded.s[clonedStep[shortKey]];
12721
+ clonedStep[longKey] = this.s[clonedStep[shortKey]];
12708
12722
  delete clonedStep[shortKey];
12709
12723
  }
12710
12724
  }
@@ -12720,22 +12734,16 @@ function decodeRules(encoded) {
12720
12734
  }
12721
12735
  return { ...clonedStep };
12722
12736
  }
12723
- return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => {
12724
- const [
12725
- minimumRuleStepVersion,
12726
- name,
12727
- cosmetic,
12728
- urlPattern,
12729
- mainFrame,
12730
- prehideSelectors,
12731
- detectCmp,
12732
- detectPopup,
12733
- optOut,
12734
- test,
12735
- extra
12736
- ] = rule;
12737
- const optIn = [];
12737
+ get name() {
12738
+ return this.r[1];
12739
+ }
12740
+ get cosmetic() {
12741
+ return decodeNullableBoolean(this.r[2]);
12742
+ }
12743
+ get runContext() {
12738
12744
  const runContext = {};
12745
+ const urlPattern = this.r[3];
12746
+ const mainFrame = this.r[4];
12739
12747
  const runInMainFrame = decodeNullableBoolean(Math.floor(mainFrame / 10) % 10);
12740
12748
  const runInSubFrame = decodeNullableBoolean(mainFrame % 10);
12741
12749
  if (runInMainFrame !== void 0) {
@@ -12747,27 +12755,31 @@ function decodeRules(encoded) {
12747
12755
  if (urlPattern !== "") {
12748
12756
  runContext.urlPattern = urlPattern;
12749
12757
  }
12750
- return {
12751
- name,
12752
- cosmetic: decodeNullableBoolean(cosmetic),
12753
- runContext,
12754
- prehideSelectors: prehideSelectors.map((i) => encoded.s[i].toString()),
12755
- detectCmp: detectCmp.map(decodeRuleStep),
12756
- detectPopup: detectPopup.map(decodeRuleStep),
12757
- optOut: optOut.map(decodeRuleStep),
12758
- optIn,
12759
- test: test?.map(decodeRuleStep),
12760
- minimumRuleStepVersion: minimumRuleStepVersion || void 0,
12761
- ...extra
12762
- };
12763
- });
12764
- }
12758
+ return runContext;
12759
+ }
12760
+ get prehideSelectors() {
12761
+ return this.r[5].map((i) => this.s[i].toString());
12762
+ }
12763
+ get detectCmp() {
12764
+ return this.r[6].map(this._decodeRuleStep.bind(this));
12765
+ }
12766
+ get detectPopup() {
12767
+ return this.r[7].map(this._decodeRuleStep.bind(this));
12768
+ }
12769
+ get optOut() {
12770
+ return this.r[8].map(this._decodeRuleStep.bind(this));
12771
+ }
12772
+ get test() {
12773
+ return this.r[9].map(this._decodeRuleStep.bind(this));
12774
+ }
12775
+ };
12765
12776
 
12766
12777
  // lib/web.ts
12767
12778
  function filterCMPs(rules, config) {
12768
12779
  return rules.filter((cmp) => {
12769
12780
  return (!config.disabledCmps || !config.disabledCmps.includes(cmp.name)) && // CMP is not disabled
12770
- (config.enableCosmeticRules || !cmp.isCosmetic);
12781
+ (config.enableCosmeticRules || !cmp.isCosmetic) && // CMP is not cosmetic or cosmetic rules are enabled
12782
+ (config.enableGeneratedRules || !cmp.name.startsWith("auto_"));
12771
12783
  });
12772
12784
  }
12773
12785
  var _config;
@@ -682,6 +682,7 @@ function normalizeConfig(providedConfig) {
682
682
  disabledCmps: [],
683
683
  enablePrehide: true,
684
684
  enableCosmeticRules: true,
685
+ enableGeneratedRules: true,
685
686
  enableHeuristicDetection: false,
686
687
  detectRetries: 20,
687
688
  isMainWorld: false,
@@ -12638,11 +12639,24 @@ function decodeRules(encoded) {
12638
12639
  if (encoded.v > 1) {
12639
12640
  throw new Error("Unsupported rule format.");
12640
12641
  }
12641
- function decodeRuleStep(step) {
12642
+ return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => new CompactedCMPRule(rule, encoded.s));
12643
+ }
12644
+ var CompactedCMPRule = class {
12645
+ constructor(rule, strings) {
12646
+ this.intermediate = false;
12647
+ this.optIn = [];
12648
+ this.r = rule;
12649
+ this.s = strings;
12650
+ if (this.r[10] && this.r[10].intermediate) {
12651
+ this.intermediate = this.r[10].intermediate;
12652
+ }
12653
+ }
12654
+ _decodeRuleStep(step) {
12642
12655
  const clonedStep = { ...step };
12656
+ const decodeRuleStep = this._decodeRuleStep.bind(this);
12643
12657
  for (const [longKey, shortKey] of compactedRuleSteps) {
12644
12658
  if (clonedStep[shortKey] !== void 0) {
12645
- clonedStep[longKey] = encoded.s[clonedStep[shortKey]];
12659
+ clonedStep[longKey] = this.s[clonedStep[shortKey]];
12646
12660
  delete clonedStep[shortKey];
12647
12661
  }
12648
12662
  }
@@ -12658,22 +12672,16 @@ function decodeRules(encoded) {
12658
12672
  }
12659
12673
  return { ...clonedStep };
12660
12674
  }
12661
- return encoded.r.filter((r) => r[0] <= SUPPORTED_RULE_STEP_VERSION).map((rule) => {
12662
- const [
12663
- minimumRuleStepVersion,
12664
- name,
12665
- cosmetic,
12666
- urlPattern,
12667
- mainFrame,
12668
- prehideSelectors,
12669
- detectCmp,
12670
- detectPopup,
12671
- optOut,
12672
- test,
12673
- extra
12674
- ] = rule;
12675
- const optIn = [];
12675
+ get name() {
12676
+ return this.r[1];
12677
+ }
12678
+ get cosmetic() {
12679
+ return decodeNullableBoolean(this.r[2]);
12680
+ }
12681
+ get runContext() {
12676
12682
  const runContext = {};
12683
+ const urlPattern = this.r[3];
12684
+ const mainFrame = this.r[4];
12677
12685
  const runInMainFrame = decodeNullableBoolean(Math.floor(mainFrame / 10) % 10);
12678
12686
  const runInSubFrame = decodeNullableBoolean(mainFrame % 10);
12679
12687
  if (runInMainFrame !== void 0) {
@@ -12685,27 +12693,31 @@ function decodeRules(encoded) {
12685
12693
  if (urlPattern !== "") {
12686
12694
  runContext.urlPattern = urlPattern;
12687
12695
  }
12688
- return {
12689
- name,
12690
- cosmetic: decodeNullableBoolean(cosmetic),
12691
- runContext,
12692
- prehideSelectors: prehideSelectors.map((i) => encoded.s[i].toString()),
12693
- detectCmp: detectCmp.map(decodeRuleStep),
12694
- detectPopup: detectPopup.map(decodeRuleStep),
12695
- optOut: optOut.map(decodeRuleStep),
12696
- optIn,
12697
- test: test?.map(decodeRuleStep),
12698
- minimumRuleStepVersion: minimumRuleStepVersion || void 0,
12699
- ...extra
12700
- };
12701
- });
12702
- }
12696
+ return runContext;
12697
+ }
12698
+ get prehideSelectors() {
12699
+ return this.r[5].map((i) => this.s[i].toString());
12700
+ }
12701
+ get detectCmp() {
12702
+ return this.r[6].map(this._decodeRuleStep.bind(this));
12703
+ }
12704
+ get detectPopup() {
12705
+ return this.r[7].map(this._decodeRuleStep.bind(this));
12706
+ }
12707
+ get optOut() {
12708
+ return this.r[8].map(this._decodeRuleStep.bind(this));
12709
+ }
12710
+ get test() {
12711
+ return this.r[9].map(this._decodeRuleStep.bind(this));
12712
+ }
12713
+ };
12703
12714
 
12704
12715
  // lib/web.ts
12705
12716
  function filterCMPs(rules, config) {
12706
12717
  return rules.filter((cmp) => {
12707
12718
  return (!config.disabledCmps || !config.disabledCmps.includes(cmp.name)) && // CMP is not disabled
12708
- (config.enableCosmeticRules || !cmp.isCosmetic);
12719
+ (config.enableCosmeticRules || !cmp.isCosmetic) && // CMP is not cosmetic or cosmetic rules are enabled
12720
+ (config.enableGeneratedRules || !cmp.name.startsWith("auto_"));
12709
12721
  });
12710
12722
  }
12711
12723
  var _config;