@browserless.io/browserless 2.31.1 → 2.32.0-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. package/build/routes/chrome/http/content.post.body.json +8 -8
  2. package/build/routes/chrome/http/pdf.post.body.json +8 -8
  3. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  4. package/build/routes/chrome/http/screenshot.post.body.json +8 -8
  5. package/build/routes/chromium/http/content.post.body.json +8 -8
  6. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  7. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  8. package/build/routes/chromium/http/screenshot.post.body.json +8 -8
  9. package/build/routes/edge/http/content.post.body.json +8 -8
  10. package/build/routes/edge/http/pdf.post.body.json +8 -8
  11. package/build/routes/edge/http/scrape.post.body.json +8 -8
  12. package/build/routes/edge/http/screenshot.post.body.json +8 -8
  13. package/build/routes/management/tests/management.spec.js +14 -0
  14. package/build/server.js +4 -5
  15. package/build/shared/utils/enjoi-resolver.d.ts +77 -0
  16. package/build/shared/utils/enjoi-resolver.js +399 -0
  17. package/docker/base/Dockerfile +2 -2
  18. package/extensions/ublocklite/README.md +4 -2
  19. package/extensions/ublocklite/_locales/ar/messages.json +34 -10
  20. package/extensions/ublocklite/_locales/az/messages.json +26 -2
  21. package/extensions/ublocklite/_locales/be/messages.json +26 -2
  22. package/extensions/ublocklite/_locales/bg/messages.json +26 -2
  23. package/extensions/ublocklite/_locales/bn/messages.json +26 -2
  24. package/extensions/ublocklite/_locales/br_FR/messages.json +26 -2
  25. package/extensions/ublocklite/_locales/bs/messages.json +26 -2
  26. package/extensions/ublocklite/_locales/ca/messages.json +26 -2
  27. package/extensions/ublocklite/_locales/cs/messages.json +26 -2
  28. package/extensions/ublocklite/_locales/cv/messages.json +26 -2
  29. package/extensions/ublocklite/_locales/cy/messages.json +37 -13
  30. package/extensions/ublocklite/_locales/da/messages.json +26 -2
  31. package/extensions/ublocklite/_locales/de/messages.json +26 -2
  32. package/extensions/ublocklite/_locales/el/messages.json +29 -5
  33. package/extensions/ublocklite/_locales/en/messages.json +26 -2
  34. package/extensions/ublocklite/_locales/en_GB/messages.json +26 -2
  35. package/extensions/ublocklite/_locales/eo/messages.json +26 -2
  36. package/extensions/ublocklite/_locales/es/messages.json +26 -2
  37. package/extensions/ublocklite/_locales/et/messages.json +26 -2
  38. package/extensions/ublocklite/_locales/eu/messages.json +26 -2
  39. package/extensions/ublocklite/_locales/fa/messages.json +26 -2
  40. package/extensions/ublocklite/_locales/fi/messages.json +26 -2
  41. package/extensions/ublocklite/_locales/fil/messages.json +68 -44
  42. package/extensions/ublocklite/_locales/fr/messages.json +26 -2
  43. package/extensions/ublocklite/_locales/fy/messages.json +26 -2
  44. package/extensions/ublocklite/_locales/gl/messages.json +27 -3
  45. package/extensions/ublocklite/_locales/gu/messages.json +26 -2
  46. package/extensions/ublocklite/_locales/he/messages.json +26 -2
  47. package/extensions/ublocklite/_locales/hi/messages.json +26 -2
  48. package/extensions/ublocklite/_locales/hr/messages.json +26 -2
  49. package/extensions/ublocklite/_locales/hu/messages.json +26 -2
  50. package/extensions/ublocklite/_locales/hy/messages.json +26 -2
  51. package/extensions/ublocklite/_locales/id/messages.json +37 -13
  52. package/extensions/ublocklite/_locales/it/messages.json +26 -2
  53. package/extensions/ublocklite/_locales/ja/messages.json +26 -2
  54. package/extensions/ublocklite/_locales/ka/messages.json +26 -2
  55. package/extensions/ublocklite/_locales/kk/messages.json +26 -2
  56. package/extensions/ublocklite/_locales/kn/messages.json +26 -2
  57. package/extensions/ublocklite/_locales/ko/messages.json +26 -2
  58. package/extensions/ublocklite/_locales/lt/messages.json +26 -2
  59. package/extensions/ublocklite/_locales/lv/messages.json +26 -2
  60. package/extensions/ublocklite/_locales/mk/messages.json +26 -2
  61. package/extensions/ublocklite/_locales/ml/messages.json +26 -2
  62. package/extensions/ublocklite/_locales/mr/messages.json +26 -2
  63. package/extensions/ublocklite/_locales/ms/messages.json +26 -2
  64. package/extensions/ublocklite/_locales/nb/messages.json +26 -2
  65. package/extensions/ublocklite/_locales/nl/messages.json +26 -2
  66. package/extensions/ublocklite/_locales/oc/messages.json +26 -2
  67. package/extensions/ublocklite/_locales/pa/messages.json +26 -2
  68. package/extensions/ublocklite/_locales/pl/messages.json +26 -2
  69. package/extensions/ublocklite/_locales/pt_BR/messages.json +26 -2
  70. package/extensions/ublocklite/_locales/pt_PT/messages.json +29 -5
  71. package/extensions/ublocklite/_locales/ro/messages.json +26 -2
  72. package/extensions/ublocklite/_locales/ru/messages.json +26 -2
  73. package/extensions/ublocklite/_locales/si/messages.json +26 -2
  74. package/extensions/ublocklite/_locales/sk/messages.json +26 -2
  75. package/extensions/ublocklite/_locales/sl/messages.json +26 -2
  76. package/extensions/ublocklite/_locales/so/messages.json +26 -2
  77. package/extensions/ublocklite/_locales/sq/messages.json +26 -2
  78. package/extensions/ublocklite/_locales/sr/messages.json +26 -2
  79. package/extensions/ublocklite/_locales/sv/messages.json +26 -2
  80. package/extensions/ublocklite/_locales/sw/messages.json +26 -2
  81. package/extensions/ublocklite/_locales/ta/messages.json +26 -2
  82. package/extensions/ublocklite/_locales/te/messages.json +26 -2
  83. package/extensions/ublocklite/_locales/th/messages.json +26 -2
  84. package/extensions/ublocklite/_locales/tr/messages.json +26 -2
  85. package/extensions/ublocklite/_locales/uk/messages.json +26 -2
  86. package/extensions/ublocklite/_locales/ur/messages.json +26 -2
  87. package/extensions/ublocklite/_locales/vi/messages.json +33 -9
  88. package/extensions/ublocklite/_locales/zh_CN/messages.json +33 -9
  89. package/extensions/ublocklite/_locales/zh_TW/messages.json +26 -2
  90. package/extensions/ublocklite/css/develop.css +59 -25
  91. package/extensions/ublocklite/css/line-hor-dashed.png +0 -0
  92. package/extensions/ublocklite/dashboard.html +25 -16
  93. package/extensions/ublocklite/js/admin.js +7 -8
  94. package/extensions/ublocklite/js/background.js +38 -19
  95. package/extensions/ublocklite/js/dashboard.js +3 -3
  96. package/extensions/ublocklite/js/develop.js +533 -798
  97. package/extensions/ublocklite/js/dnr-editor.js +180 -0
  98. package/extensions/ublocklite/js/dnr-parser.js +30 -10
  99. package/extensions/ublocklite/js/i18n.js +5 -0
  100. package/extensions/ublocklite/js/mode-editor.js +87 -0
  101. package/extensions/ublocklite/js/mode-manager.js +11 -48
  102. package/extensions/ublocklite/js/mode-parser.js +211 -0
  103. package/extensions/ublocklite/js/ro-dnr-editor.js +95 -0
  104. package/extensions/ublocklite/js/ruleset-manager.js +42 -16
  105. package/extensions/ublocklite/js/rw-dnr-editor.js +391 -0
  106. package/extensions/ublocklite/js/settings.js +7 -71
  107. package/extensions/ublocklite/lib/codemirror/cm6.bundle.ubol.min.js +1 -1
  108. package/extensions/ublocklite/lib/codemirror/codemirror.LICENSE +21 -0
  109. package/extensions/ublocklite/manifest.json +1 -1
  110. package/extensions/ublocklite/rulesets/generic-details.json +3 -24
  111. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +7 -18
  112. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +12 -6
  113. package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -2
  114. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +2 -1
  115. package/extensions/ublocklite/rulesets/main/annoyances-social.json +4 -2
  116. package/extensions/ublocklite/rulesets/main/block-lan.json +6 -0
  117. package/extensions/ublocklite/rulesets/main/chn-0.json +26 -64
  118. package/extensions/ublocklite/rulesets/main/cze-0.json +2 -1
  119. package/extensions/ublocklite/rulesets/main/deu-0.json +3 -1
  120. package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -0
  121. package/extensions/ublocklite/rulesets/main/easylist.json +23 -9
  122. package/extensions/ublocklite/rulesets/main/easyprivacy.json +40 -11
  123. package/extensions/ublocklite/rulesets/main/fin-0.json +11 -2
  124. package/extensions/ublocklite/rulesets/main/fra-0.json +22 -41
  125. package/extensions/ublocklite/rulesets/main/grc-0.json +1 -1
  126. package/extensions/ublocklite/rulesets/main/hun-0.json +9 -2
  127. package/extensions/ublocklite/rulesets/main/idn-0.json +8 -38
  128. package/extensions/ublocklite/rulesets/main/ind-0.json +35 -6
  129. package/extensions/ublocklite/rulesets/main/irn-0.json +1 -0
  130. package/extensions/ublocklite/rulesets/main/isr-0.json +11 -1
  131. package/extensions/ublocklite/rulesets/main/ita-0.json +1 -1
  132. package/extensions/ublocklite/rulesets/main/jpn-1.json +24 -18
  133. package/extensions/ublocklite/rulesets/main/kor-1.json +6 -4
  134. package/extensions/ublocklite/rulesets/main/nld-0.json +3 -2
  135. package/extensions/ublocklite/rulesets/main/nor-0.json +8 -2
  136. package/extensions/ublocklite/rulesets/main/pgl.json +10 -7
  137. package/extensions/ublocklite/rulesets/main/pol-0.json +5 -0
  138. package/extensions/ublocklite/rulesets/main/rus-0.json +30 -28
  139. package/extensions/ublocklite/rulesets/main/spa-1.json +18 -61
  140. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +7223 -999
  141. package/extensions/ublocklite/rulesets/main/swe-1.json +40 -28
  142. package/extensions/ublocklite/rulesets/main/tur-0.json +17 -38
  143. package/extensions/ublocklite/rulesets/main/ublock-badware.json +28 -63
  144. package/extensions/ublocklite/rulesets/main/ublock-filters.json +173 -28
  145. package/extensions/ublocklite/rulesets/main/ukr-0.json +8 -26
  146. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +339 -766
  147. package/extensions/ublocklite/rulesets/main/vie-1.json +33 -30
  148. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +4 -1
  149. package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +0 -3
  150. package/extensions/ublocklite/rulesets/modify-headers/rus-0.json +2 -1
  151. package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +1 -1
  152. package/extensions/ublocklite/rulesets/redirect/adguard-mobile.json +1 -1
  153. package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +1 -0
  154. package/extensions/ublocklite/rulesets/redirect/spa-1.json +3 -4
  155. package/extensions/ublocklite/rulesets/redirect/swe-1.json +2 -1
  156. package/extensions/ublocklite/rulesets/redirect/tur-0.json +1 -1
  157. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +15 -5
  158. package/extensions/ublocklite/rulesets/redirect/vie-1.json +2 -2
  159. package/extensions/ublocklite/rulesets/regex/adguard-mobile.json +13 -0
  160. package/extensions/ublocklite/rulesets/regex/chn-0.json +2 -3
  161. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  162. package/extensions/ublocklite/rulesets/regex/kor-1.json +1 -0
  163. package/extensions/ublocklite/rulesets/regex/nor-0.json +10 -0
  164. package/extensions/ublocklite/rulesets/regex/spa-0.json +0 -1
  165. package/extensions/ublocklite/rulesets/regex/spa-1.json +0 -13
  166. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +5 -6
  167. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +14 -6
  168. package/extensions/ublocklite/rulesets/regex/ukr-0.json +2 -2
  169. package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +10 -5
  170. package/extensions/ublocklite/rulesets/removeparam/rus-0.json +1 -1
  171. package/extensions/ublocklite/rulesets/removeparam/rus-1.json +3 -2
  172. package/extensions/ublocklite/rulesets/ruleset-details.json +246 -246
  173. package/extensions/ublocklite/rulesets/scripting/declarative/adguard-mobile.js +3 -3
  174. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-cookies.js +1 -1
  175. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-others.js +3 -3
  176. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-overlays.js +1 -1
  177. package/extensions/ublocklite/rulesets/scripting/declarative/chn-0.js +3 -3
  178. package/extensions/ublocklite/rulesets/scripting/declarative/easylist.js +3 -3
  179. package/extensions/ublocklite/rulesets/scripting/declarative/fin-0.js +3 -3
  180. package/extensions/ublocklite/rulesets/scripting/declarative/fra-0.js +3 -3
  181. package/extensions/ublocklite/rulesets/scripting/declarative/idn-0.js +3 -3
  182. package/extensions/ublocklite/rulesets/scripting/declarative/jpn-1.js +3 -3
  183. package/extensions/ublocklite/rulesets/scripting/declarative/kor-1.js +3 -3
  184. package/extensions/ublocklite/rulesets/scripting/declarative/rus-0.js +3 -3
  185. package/extensions/ublocklite/rulesets/scripting/declarative/spa-1.js +3 -3
  186. package/extensions/ublocklite/rulesets/scripting/declarative/swe-1.js +3 -3
  187. package/extensions/ublocklite/rulesets/scripting/declarative/tur-0.js +3 -3
  188. package/extensions/ublocklite/rulesets/scripting/declarative/ublock-filters.js +3 -3
  189. package/extensions/ublocklite/rulesets/scripting/declarative/ukr-0.js +3 -3
  190. package/extensions/ublocklite/rulesets/scripting/declarative/vie-1.js +1 -1
  191. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  192. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  193. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +3 -3
  194. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  195. package/extensions/ublocklite/rulesets/scripting/generic/fin-0.js +2 -2
  196. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
  197. package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +1 -1
  198. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
  199. package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +2 -2
  200. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
  201. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
  202. package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +2 -2
  203. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +2 -2
  204. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +2 -2
  205. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  206. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
  207. package/extensions/ublocklite/rulesets/scripting/generichigh/annoyances-cookies.css +0 -1
  208. package/extensions/ublocklite/rulesets/scripting/generichigh/annoyances-social.css +0 -1
  209. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +0 -4
  210. package/extensions/ublocklite/rulesets/scripting/generichigh/cze-0.css +0 -1
  211. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +5 -9
  212. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +11 -0
  213. package/extensions/ublocklite/rulesets/scripting/generichigh/kor-1.css +0 -2
  214. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  215. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +1 -1
  216. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  217. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  219. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  220. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
  221. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +3 -3
  222. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  223. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  224. package/extensions/ublocklite/rulesets/scripting/procedural/nor-0.js +3 -3
  225. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  226. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  227. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +1 -1
  228. package/extensions/ublocklite/rulesets/scripting/procedural/spa-0.js +3 -3
  229. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  230. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  231. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  232. package/extensions/ublocklite/rulesets/scripting/procedural/ukr-0.js +3 -3
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-current-script.js +2 -2
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +11 -2
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie.js +10 -1
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +12 -3
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie-reload.js +10 -1
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +12 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.remove-cookie.js +17 -7
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-cookie.js +10 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +1 -1
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-property-read.js +1 -1
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-attr.js +2 -2
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +1 -1
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-cookie.js +17 -7
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +1 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-cookie.js +12 -3
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-local-storage-item.js +2 -2
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-set-cookie.js +10 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-set-local-storage-item.js +2 -2
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-social.set-cookie.js +10 -1
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +2 -2
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-on-property-read.js +2 -2
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +1 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +3 -3
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +1 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +1 -1
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.json-prune-xhr-response.js +597 -0
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.remove-cookie.js +17 -7
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-cookie.js +10 -1
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.set-cookie.js +10 -1
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.abort-on-property-read.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.adjust-setTimeout.js +2 -2
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +2 -2
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-constant.js +1 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-cookie.js +10 -1
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-fetch.js +2 -2
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.remove-cookie.js +17 -7
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-constant.js +1 -1
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-cookie.js +10 -1
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.remove-cookie.js +17 -7
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +2 -2
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +1 -1
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setTimeout.js +1 -1
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +1 -1
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +2 -2
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +1 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-node-text.js +1 -1
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-constant.js +2 -2
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-cookie-reload.js +10 -1
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-cookie.js +10 -1
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +1 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +1 -1
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +1 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +1 -1
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-xhr.js +1 -1
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-cookie.js +19 -9
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +1 -1
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie-reload.js +11 -2
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +10 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.remove-cookie.js +17 -7
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +2 -2
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-stack-trace.js +1 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +2 -2
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setInterval.js +2 -2
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setTimeout.js +2 -2
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +2 -2
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +1 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +2 -2
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-xhr.js +1 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-attr.js +2 -2
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-class.js +2 -2
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-cookie-reload.js +10 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-cookie.js +12 -3
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-local-storage-item.js +1 -1
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.remove-cookie.js +17 -7
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.set-cookie.js +10 -1
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-current-script.js +2 -2
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +2 -2
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +1 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setInterval.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +2 -2
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-cookie.js +10 -1
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.abort-current-script.js +2 -2
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +2 -2
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +1 -1
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +2 -2
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +3 -3
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +3 -3
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +30 -7
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +3 -3
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +19 -2
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +3 -3
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +1 -1
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-refresh.js +1 -1
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +2 -2
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +2 -2
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +19 -9
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +12 -3
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +2 -2
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +2 -2
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie-reload.js +10 -1
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +13 -4
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +399 -0
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +2 -2
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +19 -2
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +19 -2
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-current-script.js +2 -2
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-on-property-read.js +1 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-on-property-write.js +1 -1
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.remove-class.js +1 -1
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.set-constant.js +2 -2
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +1 -1
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +2 -2
  369. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  370. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  371. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  372. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  373. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  374. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  375. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  376. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  377. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  378. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  380. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  381. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  382. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  383. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +1 -1
  384. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  385. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  386. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  387. package/extensions/ublocklite/rulesets/scripting/specific/ltu-0.js +3 -3
  388. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  389. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  390. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  391. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  392. package/extensions/ublocklite/rulesets/scripting/specific/spa-0.js +3 -3
  393. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  394. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  395. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  396. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +3 -3
  397. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  398. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  399. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  400. package/extensions/ublocklite/rulesets/scriptlet-details.json +157 -153
  401. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +1 -34
  402. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +198 -248
  403. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -0
  404. package/extensions/ublocklite/rulesets/strictblock/easylist.json +3 -2
  405. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +37 -1
  406. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +304 -62
  407. package/extensions/ublocklite/rulesets/strictblock/grc-0.json +1 -7
  408. package/extensions/ublocklite/rulesets/strictblock/idn-0.json +1 -0
  409. package/extensions/ublocklite/rulesets/strictblock/ita-0.json +1 -0
  410. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +159 -155
  411. package/extensions/ublocklite/rulesets/strictblock/kor-1.json +1 -0
  412. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  413. package/extensions/ublocklite/rulesets/strictblock/pgl.json +10 -7
  414. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +0 -11
  415. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +7223 -999
  416. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +0 -13
  417. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +569 -570
  418. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +1 -1
  419. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +0 -75
  420. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +339 -766
  421. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +3 -2
  422. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +13 -0
  423. package/extensions/ublocklite/ublock.zip +0 -0
  424. package/package.json +24 -19
  425. package/src/routes/management/tests/management.spec.ts +25 -0
  426. package/src/server.ts +4 -5
  427. package/src/shared/utils/enjoi-resolver.ts +565 -0
  428. package/static/docs/swagger.json +9 -9
  429. package/static/docs/swagger.min.json +9 -9
  430. package/static/function/client.js +86 -39
  431. package/static/function/index.html +86 -39
  432. /package/extensions/ublocklite/lib/codemirror/{LICENSE → codemirror-quickstart.LICENSE} +0 -0
@@ -0,0 +1,399 @@
1
+ /*******************************************************************************
2
+
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
+ Copyright (C) 2014-present Raymond Hill
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
18
+
19
+ Home: https://github.com/gorhill/uBlock
20
+
21
+ */
22
+
23
+ // ruleset: ublock-filters
24
+
25
+ // Important!
26
+ // Isolate from global scope
27
+
28
+ // Start of local scope
29
+ (function uBOL_trustedSetLocalStorageItem() {
30
+
31
+ /******************************************************************************/
32
+
33
+ function trustedSetLocalStorageItem(key = '', value = '') {
34
+ setLocalStorageItemFn('local', true, key, value);
35
+ }
36
+
37
+ function setLocalStorageItemFn(
38
+ which = 'local',
39
+ trusted = false,
40
+ key = '',
41
+ value = '',
42
+ ) {
43
+ if ( key === '' ) { return; }
44
+
45
+ // For increased compatibility with AdGuard
46
+ if ( value === 'emptyArr' ) {
47
+ value = '[]';
48
+ } else if ( value === 'emptyObj' ) {
49
+ value = '{}';
50
+ }
51
+
52
+ const trustedValues = [
53
+ '',
54
+ 'undefined', 'null',
55
+ '{}', '[]', '""',
56
+ '$remove$',
57
+ ...getSafeCookieValuesFn(),
58
+ ];
59
+
60
+ if ( trusted ) {
61
+ if ( value.includes('$now$') ) {
62
+ value = value.replaceAll('$now$', Date.now());
63
+ }
64
+ if ( value.includes('$currentDate$') ) {
65
+ value = value.replaceAll('$currentDate$', `${Date()}`);
66
+ }
67
+ if ( value.includes('$currentISODate$') ) {
68
+ value = value.replaceAll('$currentISODate$', (new Date()).toISOString());
69
+ }
70
+ } else {
71
+ const normalized = value.toLowerCase();
72
+ const match = /^("?)(.+)\1$/.exec(normalized);
73
+ const unquoted = match && match[2] || normalized;
74
+ if ( trustedValues.includes(unquoted) === false ) {
75
+ if ( /^-?\d+$/.test(unquoted) === false ) { return; }
76
+ const n = parseInt(unquoted, 10) || 0;
77
+ if ( n < -32767 || n > 32767 ) { return; }
78
+ }
79
+ }
80
+
81
+ try {
82
+ const storage = self[`${which}Storage`];
83
+ if ( value === '$remove$' ) {
84
+ const safe = safeSelf();
85
+ const pattern = safe.patternToRegex(key, undefined, true );
86
+ const toRemove = [];
87
+ for ( let i = 0, n = storage.length; i < n; i++ ) {
88
+ const key = storage.key(i);
89
+ if ( pattern.test(key) ) { toRemove.push(key); }
90
+ }
91
+ for ( const key of toRemove ) {
92
+ storage.removeItem(key);
93
+ }
94
+ } else {
95
+ storage.setItem(key, `${value}`);
96
+ }
97
+ } catch {
98
+ }
99
+ }
100
+
101
+ function getSafeCookieValuesFn() {
102
+ return [
103
+ 'accept', 'reject',
104
+ 'accepted', 'rejected', 'notaccepted',
105
+ 'allow', 'disallow', 'deny',
106
+ 'allowed', 'denied',
107
+ 'approved', 'disapproved',
108
+ 'checked', 'unchecked',
109
+ 'dismiss', 'dismissed',
110
+ 'enable', 'disable',
111
+ 'enabled', 'disabled',
112
+ 'essential', 'nonessential',
113
+ 'forbidden', 'forever',
114
+ 'hide', 'hidden',
115
+ 'necessary', 'required',
116
+ 'ok',
117
+ 'on', 'off',
118
+ 'true', 't', 'false', 'f',
119
+ 'yes', 'y', 'no', 'n',
120
+ 'all', 'none', 'functional',
121
+ 'granted', 'done',
122
+ 'decline', 'declined',
123
+ 'closed', 'next', 'mandatory',
124
+ 'disagree', 'agree',
125
+ ];
126
+ }
127
+
128
+ function safeSelf() {
129
+ if ( scriptletGlobals.safeSelf ) {
130
+ return scriptletGlobals.safeSelf;
131
+ }
132
+ const self = globalThis;
133
+ const safe = {
134
+ 'Array_from': Array.from,
135
+ 'Error': self.Error,
136
+ 'Function_toStringFn': self.Function.prototype.toString,
137
+ 'Function_toString': thisArg => safe.Function_toStringFn.call(thisArg),
138
+ 'Math_floor': Math.floor,
139
+ 'Math_max': Math.max,
140
+ 'Math_min': Math.min,
141
+ 'Math_random': Math.random,
142
+ 'Object': Object,
143
+ 'Object_defineProperty': Object.defineProperty.bind(Object),
144
+ 'Object_defineProperties': Object.defineProperties.bind(Object),
145
+ 'Object_fromEntries': Object.fromEntries.bind(Object),
146
+ 'Object_getOwnPropertyDescriptor': Object.getOwnPropertyDescriptor.bind(Object),
147
+ 'Object_hasOwn': Object.hasOwn.bind(Object),
148
+ 'RegExp': self.RegExp,
149
+ 'RegExp_test': self.RegExp.prototype.test,
150
+ 'RegExp_exec': self.RegExp.prototype.exec,
151
+ 'Request_clone': self.Request.prototype.clone,
152
+ 'String': self.String,
153
+ 'String_fromCharCode': String.fromCharCode,
154
+ 'String_split': String.prototype.split,
155
+ 'XMLHttpRequest': self.XMLHttpRequest,
156
+ 'addEventListener': self.EventTarget.prototype.addEventListener,
157
+ 'removeEventListener': self.EventTarget.prototype.removeEventListener,
158
+ 'fetch': self.fetch,
159
+ 'JSON': self.JSON,
160
+ 'JSON_parseFn': self.JSON.parse,
161
+ 'JSON_stringifyFn': self.JSON.stringify,
162
+ 'JSON_parse': (...args) => safe.JSON_parseFn.call(safe.JSON, ...args),
163
+ 'JSON_stringify': (...args) => safe.JSON_stringifyFn.call(safe.JSON, ...args),
164
+ 'log': console.log.bind(console),
165
+ // Properties
166
+ logLevel: 0,
167
+ // Methods
168
+ makeLogPrefix(...args) {
169
+ return this.sendToLogger && `[${args.join(' \u205D ')}]` || '';
170
+ },
171
+ uboLog(...args) {
172
+ if ( this.sendToLogger === undefined ) { return; }
173
+ if ( args === undefined || args[0] === '' ) { return; }
174
+ return this.sendToLogger('info', ...args);
175
+
176
+ },
177
+ uboErr(...args) {
178
+ if ( this.sendToLogger === undefined ) { return; }
179
+ if ( args === undefined || args[0] === '' ) { return; }
180
+ return this.sendToLogger('error', ...args);
181
+ },
182
+ escapeRegexChars(s) {
183
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
184
+ },
185
+ initPattern(pattern, options = {}) {
186
+ if ( pattern === '' ) {
187
+ return { matchAll: true, expect: true };
188
+ }
189
+ const expect = (options.canNegate !== true || pattern.startsWith('!') === false);
190
+ if ( expect === false ) {
191
+ pattern = pattern.slice(1);
192
+ }
193
+ const match = /^\/(.+)\/([gimsu]*)$/.exec(pattern);
194
+ if ( match !== null ) {
195
+ return {
196
+ re: new this.RegExp(
197
+ match[1],
198
+ match[2] || options.flags
199
+ ),
200
+ expect,
201
+ };
202
+ }
203
+ if ( options.flags !== undefined ) {
204
+ return {
205
+ re: new this.RegExp(this.escapeRegexChars(pattern),
206
+ options.flags
207
+ ),
208
+ expect,
209
+ };
210
+ }
211
+ return { pattern, expect };
212
+ },
213
+ testPattern(details, haystack) {
214
+ if ( details.matchAll ) { return true; }
215
+ if ( details.re ) {
216
+ return this.RegExp_test.call(details.re, haystack) === details.expect;
217
+ }
218
+ return haystack.includes(details.pattern) === details.expect;
219
+ },
220
+ patternToRegex(pattern, flags = undefined, verbatim = false) {
221
+ if ( pattern === '' ) { return /^/; }
222
+ const match = /^\/(.+)\/([gimsu]*)$/.exec(pattern);
223
+ if ( match === null ) {
224
+ const reStr = this.escapeRegexChars(pattern);
225
+ return new RegExp(verbatim ? `^${reStr}$` : reStr, flags);
226
+ }
227
+ try {
228
+ return new RegExp(match[1], match[2] || undefined);
229
+ }
230
+ catch {
231
+ }
232
+ return /^/;
233
+ },
234
+ getExtraArgs(args, offset = 0) {
235
+ const entries = args.slice(offset).reduce((out, v, i, a) => {
236
+ if ( (i & 1) === 0 ) {
237
+ const rawValue = a[i+1];
238
+ const value = /^\d+$/.test(rawValue)
239
+ ? parseInt(rawValue, 10)
240
+ : rawValue;
241
+ out.push([ a[i], value ]);
242
+ }
243
+ return out;
244
+ }, []);
245
+ return this.Object_fromEntries(entries);
246
+ },
247
+ onIdle(fn, options) {
248
+ if ( self.requestIdleCallback ) {
249
+ return self.requestIdleCallback(fn, options);
250
+ }
251
+ return self.requestAnimationFrame(fn);
252
+ },
253
+ offIdle(id) {
254
+ if ( self.requestIdleCallback ) {
255
+ return self.cancelIdleCallback(id);
256
+ }
257
+ return self.cancelAnimationFrame(id);
258
+ }
259
+ };
260
+ scriptletGlobals.safeSelf = safe;
261
+ if ( scriptletGlobals.bcSecret === undefined ) { return safe; }
262
+ // This is executed only when the logger is opened
263
+ safe.logLevel = scriptletGlobals.logLevel || 1;
264
+ let lastLogType = '';
265
+ let lastLogText = '';
266
+ let lastLogTime = 0;
267
+ safe.toLogText = (type, ...args) => {
268
+ if ( args.length === 0 ) { return; }
269
+ const text = `[${document.location.hostname || document.location.href}]${args.join(' ')}`;
270
+ if ( text === lastLogText && type === lastLogType ) {
271
+ if ( (Date.now() - lastLogTime) < 5000 ) { return; }
272
+ }
273
+ lastLogType = type;
274
+ lastLogText = text;
275
+ lastLogTime = Date.now();
276
+ return text;
277
+ };
278
+ try {
279
+ const bc = new self.BroadcastChannel(scriptletGlobals.bcSecret);
280
+ let bcBuffer = [];
281
+ safe.sendToLogger = (type, ...args) => {
282
+ const text = safe.toLogText(type, ...args);
283
+ if ( text === undefined ) { return; }
284
+ if ( bcBuffer === undefined ) {
285
+ return bc.postMessage({ what: 'messageToLogger', type, text });
286
+ }
287
+ bcBuffer.push({ type, text });
288
+ };
289
+ bc.onmessage = ev => {
290
+ const msg = ev.data;
291
+ switch ( msg ) {
292
+ case 'iamready!':
293
+ if ( bcBuffer === undefined ) { break; }
294
+ bcBuffer.forEach(({ type, text }) =>
295
+ bc.postMessage({ what: 'messageToLogger', type, text })
296
+ );
297
+ bcBuffer = undefined;
298
+ break;
299
+ case 'setScriptletLogLevelToOne':
300
+ safe.logLevel = 1;
301
+ break;
302
+ case 'setScriptletLogLevelToTwo':
303
+ safe.logLevel = 2;
304
+ break;
305
+ }
306
+ };
307
+ bc.postMessage('areyouready?');
308
+ } catch {
309
+ safe.sendToLogger = (type, ...args) => {
310
+ const text = safe.toLogText(type, ...args);
311
+ if ( text === undefined ) { return; }
312
+ safe.log(`uBO ${text}`);
313
+ };
314
+ }
315
+ return safe;
316
+ }
317
+
318
+ /******************************************************************************/
319
+
320
+ const scriptletGlobals = {}; // eslint-disable-line
321
+ const argsList = [["google_tg_rep","[\"n\",15500]"],["google_tg_rep_date","1900000000000"],["superberb_disable_date","$now$"]];
322
+ const hostnamesMap = new Map([["pvpoke-re.com",[0,1]],["fapeza.com",2]]);
323
+ const exceptionsMap = new Map([]);
324
+ const hasEntities = false;
325
+ const hasAncestors = false;
326
+
327
+ const collectArgIndices = (hn, map, out) => {
328
+ let argsIndices = map.get(hn);
329
+ if ( argsIndices === undefined ) { return; }
330
+ if ( typeof argsIndices !== 'number' ) {
331
+ for ( const argsIndex of argsIndices ) {
332
+ out.add(argsIndex);
333
+ }
334
+ } else {
335
+ out.add(argsIndices);
336
+ }
337
+ };
338
+
339
+ const indicesFromHostname = (hostname, suffix = '') => {
340
+ const hnParts = hostname.split('.');
341
+ const hnpartslen = hnParts.length;
342
+ if ( hnpartslen === 0 ) { return; }
343
+ for ( let i = 0; i < hnpartslen; i++ ) {
344
+ const hn = `${hnParts.slice(i).join('.')}${suffix}`;
345
+ collectArgIndices(hn, hostnamesMap, todoIndices);
346
+ collectArgIndices(hn, exceptionsMap, tonotdoIndices);
347
+ }
348
+ if ( hasEntities ) {
349
+ const n = hnpartslen - 1;
350
+ for ( let i = 0; i < n; i++ ) {
351
+ for ( let j = n; j > i; j-- ) {
352
+ const en = `${hnParts.slice(i,j).join('.')}.*${suffix}`;
353
+ collectArgIndices(en, hostnamesMap, todoIndices);
354
+ collectArgIndices(en, exceptionsMap, tonotdoIndices);
355
+ }
356
+ }
357
+ }
358
+ };
359
+
360
+ const entries = (( ) => {
361
+ const docloc = document.location;
362
+ const origins = [ docloc.origin ];
363
+ if ( docloc.ancestorOrigins ) {
364
+ origins.push(...docloc.ancestorOrigins);
365
+ }
366
+ return origins.map((origin, i) => {
367
+ const beg = origin.lastIndexOf('://');
368
+ if ( beg === -1 ) { return; }
369
+ const hn = origin.slice(beg+3)
370
+ const end = hn.indexOf(':');
371
+ return { hn: end === -1 ? hn : hn.slice(0, end), i };
372
+ }).filter(a => a !== undefined);
373
+ })();
374
+ if ( entries.length === 0 ) { return; }
375
+
376
+ const todoIndices = new Set();
377
+ const tonotdoIndices = new Set();
378
+
379
+ indicesFromHostname(entries[0].hn);
380
+ if ( hasAncestors ) {
381
+ for ( const entry of entries ) {
382
+ if ( entry.i === 0 ) { continue; }
383
+ indicesFromHostname(entry.hn, '>>');
384
+ }
385
+ }
386
+
387
+ // Apply scriplets
388
+ for ( const i of todoIndices ) {
389
+ if ( tonotdoIndices.has(i) ) { continue; }
390
+ try { trustedSetLocalStorageItem(...argsList[i]); }
391
+ catch { }
392
+ }
393
+
394
+ /******************************************************************************/
395
+
396
+ // End of local scope
397
+ })();
398
+
399
+ void 0;
@@ -435,8 +435,8 @@ function getRandomTokenFn() {
435
435
  /******************************************************************************/
436
436
 
437
437
  const scriptletGlobals = {}; // eslint-disable-line
438
- const argsList = [["Document.prototype.querySelectorAll","\"/^#/\"","prevent","/stackDepth:4.+nawNA/"],["Document.prototype.querySelector","\"/^#/\"","prevent","/stackDepth:4.+ inlineScript:2/"],["Document.prototype.getElementsByClassName","\"/^[A-Z]{6}$/\"","prevent","/stackDepth:4.+ inlineScript/"],["Document.prototype.getElementById","\"/^[A-Z]{6}$/\"","prevent","/stackDepth:4.+ inlineScript/"],["Element.prototype.insertAdjacentHTML","\"afterbegin\"","prevent","/\\/[A-Za-z]+\\.min\\.js\\?/"],["eval","\"/chp_?ad/\""],["eval","\"/chp_?ad/\"","prevent"],["HTMLScriptElement.prototype.setAttribute","\"data-sdk\"","abort"],["eval","\"adsBlocked\""],["Storage.prototype.setItem","searchCount"],["fetch","\"flashtalking\""],["DOMTokenList.prototype.add","\"-\""],["HTMLScriptElement.prototype.setAttribute","\"data-cfasync\"","abort"],["DOMTokenList.prototype.add","\"-\"","prevent","stack","/wp-content\\/uploads\\/[a-z]+\\/[a-z]+\\.js/"],["navigator.sendBeacon","\"data.bilibili.com/log/\"","prevent"]];
439
- const hostnamesMap = new Map([["japscan.lol",[0,1,2,3]],["pvpoke-re.com",4],["zegtrends.com",5],["tea-coffee.net",5],["spatsify.com",5],["newedutopics.com",5],["getviralreach.in",5],["edukaroo.com",5],["funkeypagali.com",5],["careersides.com",5],["nayisahara.com",5],["wikifilmia.com",5],["infinityskull.com",5],["viewmyknowledge.com",5],["iisfvirtual.in",5],["starxinvestor.com",5],["jkssbalerts.com",5],["acetack.com",5],["blog.carstopia.net",5],["blog.carsmania.net",5],["redfea.com",5],["pranarevitalize.com",5],["techyinfo.in",5],["fitnessholic.net",5],["moderngyan.com",5],["sattakingcharts.in",5],["freshbhojpuri.com",5],["bgmi32bitapk.in",5],["bankshiksha.in",5],["earn.mpscstudyhub.com",5],["earn.quotesopia.com",5],["money.quotesopia.com",5],["best-mobilegames.com",5],["learn.moderngyan.com",5],["bharatsarkarijobalert.com",5],["quotesopia.com",5],["creditsgoal.com",5],["ikramlar.online",5],["headlinerpost.com",5],["posterify.net",5],["whatgame.xyz",5],["mooonten.com",5],["msic.site",5],["fx-22.com",5],["gold-24.net",5],["forexrw7.com",5],["mtcremix.com",5],["advicefunda.com",5],["bestloanoffer.net",5],["computerpedia.in",5],["techconnection.in",5],["bollywoodchamp.in",5],["texw.online",5],["10-train.com",5],["110tutorials.com",5],["103.74.5.104",5],["185.193.17.214",5],["207hd.com",5],["247beatz.ng",5],["247footballnow.com",5],["24pdd.*",5],["27-sidefire-blog.com",5],["2best.club",5],["2the.space",5],["2ix2.com",5],["30kaiteki.com",5],["3dassetcollection.com",5],["3gpterbaru.com",5],["3dyasan.com",5],["3fnews.com",5],["3rabsports.com",5],["4drumkits.com",5],["4fans.gay",5],["4fingermusic.com",5],["4gousya.net",5],["4horlover.com",5],["4spaces.org",5],["519.best",5],["51sec.org",5],["80-talet.se",5],["9ketsuki.info",5],["a2zbookmark.com",5],["aboedman.com",5],["addtobucketlist.com",5],["adisann.com",5],["adminreboot.com",5],["adsurfle.com",5],["adsy.pw",5],["advertafrica.net",5],["adnan-tech.com",5],["africue.com",5],["aghasolution.com",5],["airportwebcams.net",5],["aitoolsfree.org",5],["aitohuman.org",5],["akihabarahitorigurasiseikatu.com",5],["akuebresources.com",5],["alanyapower.com",5],["albania.co.il",5],["albinofamily.com",5],["alexbacher.fr",5],["algodaodocescan.com.br",5],["allcalidad.app",5],["allcelebritywiki.com",5],["allcivilstandard.com",5],["alliptvlinks.com",5],["alliptvs.com",5],["almofed.com",5],["alphasource.site",5],["altcryp.com",5],["altselection.com",5],["altyazitube22.lat",5],["amaturehomeporn.com",5],["amnaymag.com",5],["amritadrino.com",5],["amtil.com.au",5],["analysis-chess.io.vn",5],["andani.net",5],["androidadult.com",5],["androidfacil.org",5],["angolopsicologia.com",5],["animalwebcams.net",5],["anime4mega.net",5],["anime4mega-descargas.net",5],["anime7.download",5],["anime-torrent.com",5],["animecenterbr.com",5],["animesonlineshd.com",5],["animetwixtor.com",5],["animexin.vip",5],["anmup.com.np",5],["anodee.com",5],["anonyviet.com",5],["anothergraphic.org",5],["aoseugosto.com",5],["aozoraapps.net",5],["apenasmaisumyaoi.com",5],["apkdink.com",5],["apostoliclive.com",5],["appdoze.*",5],["applediagram.com",5],["aprenderquechua.com",5],["arabstd.com",5],["arti-flora.nl",5],["articlebase.pk",5],["articlesmania.me",5],["ascalonscans.com",5],["asiansexdiarys.com",5],["askcerebrum.com",5],["askushowto.com",5],["aspirapolveremigliori.it",5],["assignmentdon.com",5],["astroages.com",5],["astrumscans.xyz",5],["atemporal.cloud",5],["atgstudy.com",5],["atlantisscan.com",5],["atleticalive.it",5],["audiobookexchangeplace.com",5],["audiotools.*",5],["audiotrip.org",5],["autocadcommand.com",5],["autodime.com",5],["autoindustry.ro",5],["automat.systems",5],["automothink.com",5],["autosport.*",5],["avitter.net",5],["awpd24.com",5],["ayatoon.com",5],["ayuka.link",5],["azamericasat.net",5],["azdly.com",5],["azores.co.il",5],["azrom.net",5],["babehubonlyfansly.com",5],["backyardpapa.com",5],["baithak.news",5],["baixedetudo.com.br",5],["balkanteka.net",5],["bandstand.ph",5],["batman.city",5],["bcanepaltu.com",5],["bcanotesnepal.com",5],["bcsnoticias.mx",5],["bdix.app",5],["bdokan.com",5],["bdsomadhan.com",5],["bdstarshop.com",5],["beaddiagrams.com",5],["bearchasingart.com",5],["beatree.cn",5],["bedavahesap.org",5],["beisbolinvernal.com",5],["bengalxpress.in",5],["beasttips.com",5],["berlin-teltow.de",5],["beruhmtemedien.com",5],["bestofarea.com",5],["bettingexchange.it",5],["bi-girl.net",5],["bibliotecadecorte.com",5],["bibliotecahermetica.com.br",5],["bidersnotu.com",5],["bif24.pl",5],["biftutech.com",5],["bigdata-social.com",5],["bimshares.com",5],["bishalghale.com.np",5],["bitcotasks.com",5],["bitlikutu.com",5],["bittukitech.in",5],["bitview.cloud",5],["bitzite.com",5],["blog.motionisland.com",5],["blog24.me",5],["blogk.com",5],["blogue.tech",5],["bloooog.it",5],["bloxyscripts.com",5],["bluebuddies.com",5],["bluecoreinside.com",5],["blurayufr.cam",5],["bogowieslowianscy.pl",5],["bookpraiser.com",5],["booksbybunny.com",5],["boredgiant.com",5],["botinnifit.com",5],["boundlessnecromancer.com",5],["boxaoffrir.com",5],["boxingvideo.org",5],["boxofficebusiness.in",5],["boyfuck.me",5],["boystube.link",5],["braziliannr.com",5],["brevi.eu",5],["brian70.tw",5],["bright-b.com",5],["brightpets.org",5],["broadbottomvillage.co.uk",5],["brokensilenze.net",5],["brulosophy.com",5],["brushednickel.biz",5],["bshifast.live",5],["bsmaurya.com",5],["bugswave.com",5],["businesstrend.jp",5],["buzzpit.net",5],["byswiizen.fr",5],["cafenau.com",5],["calculascendant.com",5],["calmarkcovers.com",5],["calvyn.com",5],["camcam.cc",5],["camnang24h.net",5],["canadanouvelles.com",5],["canaltdt.es",5],["canzoni-per-bambini.it",5],["captionpost.com",5],["carryflix.icu",5],["cashkar.in",5],["casperhd.com",5],["catatanonline.com",5],["catmovie.website",5],["cavalierstream.fr",5],["celebritablog.com",5],["celemusic.com",5],["celestialtributesonline.com",5],["cembarut.com.tr",5],["certificateland.com",5],["cg-method.com",5],["chachocool.com",5],["chakrirkhabar247.in",5],["championpeoples.com",5],["chanjaeblog.jp",5],["change-ta-vie-coaching.com",5],["charlottepilgrimagetour.com",5],["charpatra.com",5],["chart.services",5],["chatgbt.one",5],["chatgptfree.ai",5],["cheatermad.com",5],["check-imei.info",5],["cheese-cake.net",5],["chelsea24news.pl",5],["chevalmag.com",5],["chieflyoffer.com",5],["chihouban.com",5],["chikonori.com",5],["chineseanime.org",5],["christiantrendy.com",5],["cienagamagdalena.com",5],["cimbusinessevents.com.au",5],["cinema-sketch.com",5],["cinepiroca.com",5],["cizzyscripts.com",5],["claimclicks.com",5],["claydscap.com",5],["clockskin.us",5],["cloud9obits.com",5],["cocorip.net",5],["code-source.net",5],["codeandkey.com",5],["codeastro.com",5],["codeitworld.com",5],["codemystery.com",5],["coderblog.in",5],["codewebit.top",5],["coin-profits.xyz",5],["coinadpro.club",5],["coinbaby8.com",5],["coingraph.us",5],["cola16.app",5],["coleccionmovie.com",5],["colliersnews.com",5],["comeletspray.com",5],["cometogliere.com",5],["comoinstalar.me",5],["compota-soft.work",5],["conoscereilrischioclinico.it",5],["consigliatodanoi.it",5],["constructionmethodology.com",5],["constructionplacement.org",5],["cookni.net",5],["correction-livre-scolaire.fr",5],["coursesdaddy.com",5],["cpscan.xyz",5],["crackcodes.in",5],["crackthemes.com",5],["crackwatch.eu",5],["craigretailers.co.uk",5],["crazyashwin.com",5],["crazydeals.live",5],["creebhills.com",5],["creepyscans.com",5],["cricket12.com",5],["crn.pl",5],["cronachesalerno.it",5],["crunchytech.net",5],["cryptonor.xyz",5],["cryptonworld.space",5],["cryptotech.fun",5],["cryptowidgets.net",5],["crystalcomics.com",5],["cta-fansite.com",5],["cuckoldsex.net",5],["culture-informatique.net",5],["cykf.net",5],["cyprus.co.il",5],["daemon-hentai.com",5],["daij1n.info",5],["dailykpop.net",5],["dailytechupdates.in",5],["dailytips247.com",5],["dailyweb.pl",5],["davewigstone.com",5],["davidsonbuilders.com",5],["dabangbastar.com",5],["day4news.com",5],["daybuy.tw",5],["deathonnews.com",5],["dejongeturken.com",5],["delvein.tech",5],["demonictl.com",5],["demonyslowianskie.pl",5],["demooh.com",5],["depressionhurts.us",5],["derusblog.com",5],["descargaranimes.com",5],["descargaseriestv.com",5],["design4months.com",5],["desirenovel.com",5],["desktopsolution.org",5],["destakenewsgospel.com",5],["destinationsjourney.com",5],["detikbangka.com",5],["deutschpersischtv.com",5],["dev-dark-blog.pantheonsite.io",5],["devopslanka.com",5],["dewfuneralhomenews.com",5],["dhankasamaj.com",5],["diamondfansub.com",5],["diarioeducacion.com",5],["diencobacninh.com",5],["digitalseoninja.com",5],["dignityobituary.com",5],["dinheirocursosdownload.com",5],["diplomaexamcorner.com",5],["dipprofit.com",5],["dir-tech.com",5],["diskizone.com",5],["diversanews.com",5],["diyprojectslab.com",5],["djqunjab.in",5],["djsofchhattisgarh.in",5],["djstar.in",5],["dma-upd.org",5],["dobleaccion.xyz",5],["dobletecno.com",5],["domainregistrationtips.info",5],["dominican-republic.co.il",5],["donghuaworld.com",5],["donlego.com",5],["doublemindtech.com",5],["doumura.com",5],["downloadbatch.me",5],["downloader.is",5],["downloads.sayrodigital.net",5],["downloads.wegomovies.com",5],["downloadtanku.org",5],["dpscomputing.com",5],["drake-scans.com",5],["drakecomic.com",5],["dramafren.com",5],["dramaviki.com",5],["drzna.com",5],["dubaitime.net",5],["dumovies.com",5],["dvd-flix.com",5],["dvdgayonline.com",5],["e-food.jp",5],["e-kakoh.com",5],["earlymemorials.com",5],["earninginwork.com",5],["easyjapanesee.com",5],["easytodoit.com",5],["ecommercewebsite.store",5],["eczpastpapers.net",5],["editions-actu.org",5],["editorsadda.com",5],["edivaldobrito.com.br",5],["edjerba.com",5],["edukamer.info",5],["egram.com.ng",5],["einewelteinezukunft.de",5],["elcriticodelatele.com",5],["elcultura.pl",5],["elearning-cpge.com",5],["eleceedmanhwa.me",5],["electricalstudent.com",5],["embraceinnerchaos.com",5],["emperorscan.com",5],["empleo.com.uy",5],["encuentratutarea.com",5],["encurtareidog.top",5],["eng-news.com",5],["english-dubbed.com",5],["english-topics.com",5],["english101.co.za",5],["enryumanga.com",5],["ensenchat.com",5],["entenpost.com",5],["epsilonakdemy.com",5],["eramuslim.com",5],["erreguete.gal",5],["ervik.as",5],["esportsmonk.com",5],["esportsnext.com",5],["et-invest.de",5],["eternalhonoring.com",5],["ethiopia.co.il",5],["evdeingilizcem.com",5],["eventiavversinews.*",5],["everydayhomeandgarden.com",5],["evlenmekisteyenbayanlar.net",5],["ewybory.eu",5],["exam-results.in",5],["exeking.top",5],["expertskeys.com",5],["eymockup.com",5],["ezmanga.net",5],["faaduindia.com",5],["fapfapgames.com",5],["fapkingsxxx.com",5],["faqwiki.us",5],["farolilloteam.es",5],["fattelodasolo.it",5],["fchopin.net",5],["felicetommasino.com",5],["femisoku.net",5],["ferdroid.net",5],["fessesdenfer.com",5],["feyorra.top",5],["fhedits.in",5],["fhmemorial.com",5],["fibwatch.store",5],["filmypoints.in",5],["finalnews24.com",5],["financeandinsurance.xyz",5],["financeyogi.net",5],["financid.com",5],["finclub.in",5],["findheman.com",5],["findnewjobz.com",5],["fine-wings.com",5],["firescans.xyz",5],["fitnesshealtharticles.com",5],["fitnessscenz.com",5],["flashssh.net",5],["fleamerica.com",5],["flexamens.com",5],["flixhub.*",5],["flordeloto.site",5],["flowsnet.com",5],["folkmord.se",5],["foodgustoso.it",5],["foodiesjoy.com",5],["footeuses.com",5],["footyload.com",5],["footymercato.com",5],["forex-yours.com",5],["forexcracked.com",5],["former-railroad-worker.com",5],["foxaholic.com",5],["francaisfacile.net",5],["free.7hd.club",5],["freebiesmockup.com",5],["freecoursesonline.me",5],["freedom3d.art",5],["freefiremaxofficial.com",5],["freefireupdate.com",5],["freegetcoins.com",5],["freelancerartistry.com",5],["freemedicalbooks.org",5],["freemockups.org",5],["freemovies-download.com",5],["freeoseocheck.com",5],["freepasses.org",5],["freescorespiano.com",5],["freetarotonline.com",5],["freetubetv.net",5],["freevstplugins.*",5],["freewoodworking.ca",5],["fresherbaba.com",5],["freshersgold.com",5],["friedrichshainblog.de",5],["frpgods.com",5],["ftuapps.*",5],["fumettologica.it",5],["funeral-memorial.com",5],["funeralmemorialnews.com",5],["funeralobitsmemorial.com",5],["funztv.com",5],["futbolenlatelevision.com",5],["gabrielcoding.com",5],["gadgetspidy.com",5],["gadgetxplore.com",5],["gahag.net",5],["galaxytranslations10.com",5],["galaxytranslations97.com",5],["galinhasamurai.com",5],["game5s.com",5],["gameblog.jp",5],["gamefi-mag.com",5],["gamenv.net",5],["gamers-haven.org",5],["gamerxyt.com",5],["games-manuals.com",5],["gamevcore.com",5],["gaminglariat.com",5],["gamingsearchjournal.com",5],["ganzoscan.com",5],["gatagata.net",5],["gaypornhdfree.com",5],["gazetazachodnia.eu",5],["gdrivemovies.xyz",5],["geekering.com",5],["gemiadamlari.org",5],["gentiluomodigitale.it",5],["gesund-vital.online",5],["getsuicidegirlsfree.com",5],["getworkation.com",5],["ghostsfreaks.com",5],["girlydrop.com",5],["gisvacancy.com",5],["giuseppegravante.com",5],["gkbooks.in",5],["gkgsca.com",5],["gksansar.com",5],["glo-n.online",5],["globelempire.com",5],["gnusocial.jp",5],["goegoe.net",5],["gogetadoslinks.*",5],["gogetapast.com.br",5],["gogifox.com",5],["gogueducation.com",5],["gokerja.net",5],["gokushiteki.com",5],["golf.rapidmice.com",5],["gomov.bio",5],["goodriviu.com",5],["googlearth.selva.name",5],["gorating.in",5],["gotocam.net",5],["grafikos.cz",5],["grasta.net",5],["grazymag.com",5],["greasygaming.com",5],["greattopten.com",5],["grootnovels.com",5],["gsdn.live",5],["gsmfreezone.com",5],["gsmmessages.com",5],["gtavi.pl",5],["gurbetseli.net",5],["gvnvh.net",5],["gwiazdatalkie.com",5],["habuteru.com",5],["hackingwala.com",5],["hackmodsapk.com",5],["hadakanonude.com",5],["hairjob.wpx.jp",5],["happy-otalife.com",5],["haqem.com",5],["harbigol.com",5],["harley.top",5],["haryanaalert.*",5],["haveyaseenjapan.com",5],["haxnode.net",5],["hdhub4one.pics",5],["hbnews24.com",5],["healthbeautybee.com",5],["healthcheckup.com",5],["healthfatal.com",5],["heartofvicksburg.com",5],["heartrainbowblog.com",5],["hechos.net",5],["hellenism.net",5],["heutewelt.com",5],["hhesse.de",5],["highdefdiscnews.com",5],["hilaw.vn",5],["hindi.trade",5],["hindimatrashabd.com",5],["hindinest.com",5],["hindishri.com",5],["hiphopa.net",5],["hipsteralcolico.altervista.org",5],["historichorizons.com",5],["hivetoon.com",5],["hobbykafe.com",5],["hockeyfantasytools.com",5],["hoegel-textildruck.de",5],["hojii.net",5],["hoofoot.net",5],["hookupnovel.com",5],["hopsion-consulting.com",5],["hostingreviews24.com",5],["hotspringsofbc.ca",5],["howtoblogformoney.net",5],["hub2tv.com",5],["hungarianhardstyle.hu",5],["hyderone.com",5],["hyogo.ie-t.net",5],["hypelifemagazine.com",5],["hypesol.com",5],["ideatechy.com",5],["idesign.wiki",5],["idevfast.com",5],["idevice.me",5],["idpvn.com",5],["iggtech.com",5],["ignoustudhelp.in",5],["ikarianews.gr",5],["ilbassoadige.it",5],["ilbolerodiravel.org",5],["imperiofilmes.co",5],["indiasmagazine.com",5],["individualogist.com",5],["inertz.org",5],["infamous-scans.com",5],["infocycles.com",5],["infodani.net",5],["infojabarloker.com",5],["infokita17.com",5],["informatudo.com.br",5],["infrafandub.com",5],["infulo.com",5],["inlovingmemoriesnews.com",5],["inprogrammer.com",5],["inra.bg",5],["insideeducation.co.za",5],["insidememorial.com",5],["insider-gaming.com",5],["insurancepost.xyz",5],["intelligence-console.com",5],["interculturalita.it",5],["inventionsdaily.com",5],["iptvxtreamcodes.com",5],["isabihowto.com.ng",5],["italiadascoprire.net",5],["itdmusic.*",5],["itmaniatv.com",5],["itopmusic.com",5],["itopmusics.com",5],["itopmusicx.com",5],["itz-fast.com",5],["iumkit.net",5],["iwb.jp",5],["jackofalltradesmasterofsome.com",5],["jaktsidan.se",5],["japannihon.com",5],["javboys.*",5],["javcock.com",5],["javgay.com",5],["jcutrer.com",5],["jk-market.com",5],["jobsbd.xyz",5],["jobsibe.com",5],["jobslampung.net",5],["josemo.com",5],["jra.jpn.org",5],["jrlinks.in",5],["jungyun.net",5],["juninhoscripts.com.br",5],["juventusfc.hu",5],["kacengeng.com",5],["kacikcelebrytow.com",5],["kagohara.net",5],["kakashiyt.com",5],["kakiagune.com",5],["kali.wiki",5],["kana-mari-shokudo.com",5],["kanaeblog.net",5],["kandisvarlden.com",5],["karaoke4download.com",5],["kattannonser.se",5],["kawaguchimaeda.com",5],["kaystls.site",5],["kenkou-maintenance.com",5],["kenta2222.com",5],["keroseed.*",5],["kgs-invest.com",5],["kh-pokemon-mc.com",5],["khabarbyte.com",5],["khabardinbhar.net",5],["khohieu.com",5],["kickcharm.com",5],["kinisuru.com",5],["kireicosplay.com",5],["kits4beats.com",5],["kllproject.lv",5],["know-how-tree.com",5],["knowstuff.in",5],["kobitacocktail.com",5],["kodaika.com",5],["kodewebsite.com",5],["kodibeginner.com",5],["kokosovoulje.com",5],["kolcars.shop",5],["kompiko.pl",5],["koreanbeauty.club",5],["korogashi-san.org",5],["korsrt.eu.org",5],["kotanopan.com",5],["koume-in-huistenbosch.net",5],["krx18.com",5],["kukni.to",5],["kupiiline.com",5],["kurosuen.live",5],["labstory.in",5],["lacrima.jp",5],["ladkibahin.com",5],["ladypopularblog.com",5],["lamorgues.com",5],["lampungkerja.com",5],["lapaginadealberto.com",5],["lascelebrite.com",5],["latinlucha.es",5],["law101.org.za",5],["lawweekcolorado.com",5],["lawyercontact.us",5],["learnedclub.com",5],["learnmany.in",5],["learnchannel-tv.com",5],["learnodo-newtonic.com",5],["learnospot.com",5],["lebois-racing.com",5],["lectormh.com",5],["leechyscripts.net",5],["leeapk.com",5],["legendaryrttextures.com",5],["lendrive.web.id",5],["lespartisanes.com",5],["letrasgratis.com.ar",5],["levismodding.co.uk",5],["lgcnews.com",5],["lglbmm.com",5],["lheritierblog.com",5],["librasol.com.br",5],["ligaset.com",5],["limontorrent.com",5],["limontorrents.com",5],["linkskibe.com",5],["linkvoom.com",5],["linkz.*",5],["linux-talks.com",5],["linuxexplain.com",5],["lionsfan.net",5],["literarysomnia.com",5],["littlepandatranslations.com",5],["livefootballempire.com",5],["lk21org.com",5],["lmtos.com",5],["loanpapa.in",5],["locurainformaticadigital.com",5],["logofootball.net",5],["lookism.me",5],["lotus-tours.com.hk",5],["lovingsiren.com",5],["ltpcalculator.in",5],["luchaonline.com",5],["luciferdonghua.in",5],["lucrebem.com.br",5],["lustesthd.cloud",5],["lustesthd.lat",5],["lycee-maroc.com",5],["m4u.*",5],["macrocreator.com",5],["madevarquitectos.com",5],["magesypro.*",5],["maisondeas.com",5],["maketoss.com",5],["makeupguide.net",5],["makotoichikawa.net",5],["malluporno.com",5],["mamtamusic.in",5],["mangcapquangvnpt.com",5],["manhastro.com",5],["mantrazscan.com",5],["maps4study.com.br",5],["marimo-info.net",5],["marketedgeofficial.com",5],["marketing-business-revenus-internet.fr",5],["marketrevolution.eu",5],["masashi-blog418.com",5],["mastakongo.info",5],["masterpctutoriales.com",5],["maths101.co.za",5],["matomeiru.com",5],["matshortener.xyz",5],["mcrypto.*",5],["mdn.lol",5],["medeberiya1.com",5],["mediascelebres.com",5],["medytour.com",5],["meilblog.com",5],["memorialnotice.com",5],["mentalhealthcoaching.org",5],["meteoregioneabruzzo.it",5],["mewingzone.com",5],["mhscans.com",5],["michiganrugcleaning.cleaning",5],["midis.com.ar",5],["midlandstraveller.com",5],["minddesignclub.org",5],["minecraftwild.com",5],["minhasdelicias.com",5],["mitaku.net",5],["mitsmits.com",5],["mixmods.com.br",5],["mm-scans.org",5],["mmfenix.com",5],["mmoovvfr.cloudfree.jp",5],["mmorpgplay.com.br",5],["mockupcity.com",5],["mockupgratis.com",5],["modele-facture.com",5],["modyster.com",5],["monaco.co.il",5],["morinaga-office.net",5],["mosttechs.com",5],["moto-station.com",5],["motofan-r.com",5],["movieping.com",5],["movies4u.*",5],["moviesnipipay.me",5],["mrfreemium.blogspot.com",5],["mscdroidlabs.es",5],["msonglyrics.com",5],["mtech4you.com",5],["multimovies.tech",5],["mummumtime.com",5],["mundovideoshd.com",5],["murtonroofing.com",5],["musicforchoir.com",5],["musictip.net",5],["mxcity.mx",5],["mxpacgroup.com",5],["my-ford-focus.de",5],["myglamwish.com",5],["myicloud.info",5],["mylinkat.com",5],["mylivewallpapers.com",5],["mypace.sasapurin.com",5],["myqqjd.com",5],["mytectutor.com",5],["myunity.dev",5],["myviptuto.com",5],["nagpurupdates.com",5],["naijagists.com",5],["naijdate.com",5],["najboljicajevi.com",5],["nakiny.com",5],["nameart.in",5],["nartag.com",5],["naturalmentesalute.org",5],["naturomicsworld.com",5],["naveedplace.com",5],["navinsamachar.com",5],["neet.wasa6.com",5],["negative.tboys.ro",5],["neifredomar.com",5],["nekoscans.com",5],["nemumemo.com",5],["nepaljobvacancy.com",5],["neservicee.com",5],["netsentertainment.net",5],["neuna.net",5],["newbookmarkingsite.com",5],["newfreelancespot.com",5],["newlifefuneralhomes.com",5],["news-geinou100.com",5],["newscard24.com",5],["newstechone.com",5],["nghetruyenma.net",5],["nhvnovels.com",5],["nichetechy.com",5],["nin10news.com",5],["nicetube.one",5],["ninjanovel.com",5],["nishankhatri.*",5],["niteshyadav.in",5],["nknews.jp",5],["nkreport.jp",5],["noanyi.com",5],["nobodycancool.com",5],["noblessetranslations.com",5],["nocfsb.com",5],["nocsummer.com.br",5],["nodenspace.com",5],["noikiiki.info",5],["notandor.cn",5],["note1s.com",5],["notesformsc.org",5],["noteshacker.com",5],["novel-gate.com",5],["novelbob.com",5],["novelread.co",5],["nsfwr34.com",5],["nswdownload.com",5],["nswrom.com",5],["ntucgm.com",5],["nudeslegion.com",5],["nukedfans.com",5],["nukedpacks.site",5],["nulledmug.com",5],["nvimfreak.com",5],["nyangames.altervista.org",5],["nylonstockingsex.net",5],["oatuu.org",5],["oberschwaben-tipps.de",5],["obituary-deathnews.com",5],["obituaryupdates.com",5],["odekake-spots.com",5],["officialpanda.com",5],["ofppt.net",5],["ofwork.net",5],["okblaz.me",5],["olamovies.store",5],["onehack.us",5],["onestringlab.com",5],["onlinetechsamadhan.com",5],["onlinetntextbooks.com",5],["onneddy.com",5],["onyxfeed.com",5],["openstartup.tm",5],["opiniones-empresas.com",5],["oracleerpappsguide.com",5],["orenoraresne.com",5],["oromedicine.com",5],["orunk.com",5],["osteusfilmestuga.online",5],["otakuliah.com",5],["oteknologi.com",5],["otokukensaku.jp",5],["ottrelease247.com",5],["ovnihoje.com",5],["pabryyt.one",5],["palofw-lab.com",5],["paminy.com",5],["pandaatlanta.com",5],["pandanote.info",5],["pantube.top",5],["paolo9785.com",5],["papafoot.click",5],["papahd.club",5],["paris-tabi.com",5],["parisporn.org",5],["parking-map.info",5],["pasatiemposparaimprimir.com",5],["pasokau.com",5],["passionatecarbloggers.com",5],["passportaction.com",5],["pc-guru.it",5],["pc-hobby.com",5],["pc-spiele-wiese.de",5],["pcgamedownload.net",5],["pcgameszone.com",5],["pdfstandards.net",5],["pepar.net",5],["personefamose.it",5],["petitestef.com",5],["pflege-info.net",5],["phoenix-manga.com",5],["phonefirmware.com",5],["physics101.co.za",5],["picgiraffe.com",5],["pilsner.nu",5],["piratemods.com",5],["piximfix.com",5],["plantatreenow.com",5],["plc4free.com",5],["pliroforiki-edu.gr",5],["poapan.xyz",5],["poco.rcccn.in",5],["pogga.org",5],["pokeca-chart.com",5],["pondit.xyz",5],["ponsel4g.com",5],["poplinks.*",5],["porlalibreportal.com",5],["pornfeel.com",5],["porninblack.com",5],["portaldoaz.org",5],["portaldosreceptores.org",5],["portalyaoi.com",5],["postazap.com",5],["posturecorrectorshop-online.com",5],["practicalkida.com",5],["prague-blog.co.il",5],["praveeneditz.com",5],["premierftp.com",5],["prensa.click",5],["prensaesports.com",5],["pressemedie.dk",5],["pressurewasherpumpdiagram.com",5],["pricemint.in",5],["primemovies.pl",5],["prismmarketingco.com",5],["proapkdown.com",5],["projuktirkotha.com",5],["promiblogs.de",5],["promimedien.com",5],["promisingapps.com",5],["protestia.com",5],["psicotestuned.info",5],["psychology-spot.com",5],["publicdomainq.net",5],["publicdomainr.net",5],["publicidadtulua.com",5],["pupuweb.com",5],["putlog.net",5],["pynck.com",5],["quatvn.club",5],["questionprimordiale.fr",5],["quicktelecast.com",5],["radiantsong.com",5],["rabo.no",5],["ragnarokscanlation.*",5],["rahim-soft.com",5],["rail-log.net",5],["railwebcams.net",5],["raishin.xyz",5],["ralli.ee",5],["ranjeet.best",5],["ranourano.xyz",5],["raulmalea.ro",5],["rbs.ta36.com",5],["rbscripts.net",5],["rctechsworld.in",5],["readfast.in",5],["readhunters.xyz",5],["realfreelancer.com",5],["realtormontreal.ca",5],["receptyonline.cz",5],["recipenp.com",5],["redbubbletools.com",5],["redfaucet.site",5],["reeell.com",5],["renierassociatigroup.com",5],["reportbangla.com",5],["reprezentacija.rs",5],["retire49.com",5],["retrotv.org",5],["reviewmedium.com",5],["revistaapolice.com.br",5],["rgmovies.*",5],["ribbelmonster.de",5],["rightdark-scan.com",5],["rinconpsicologia.com",5],["ritacandida.com",5],["riwayat-word.com",5],["rlshort.com",5],["rocdacier.com",5],["rollingglobe.online",5],["romaierioggi.it",5],["romaniasoft.ro",5],["roms4ever.com",5],["romviet.com",[5,8]],["roshy.tv",5],["roznamasiasat.com",5],["rubyskitchenrecipes.uk",5],["ruyamanga.com",5],["rv-ecommerce.com",5],["ryanmoore.marketing",5],["ryansharich.com",5],["s1os.icu",5],["s4msecurity.com",5],["s920221683.online.de",5],["sabishiidesu.com",5],["saekita.com",5],["samanarthishabd.in",5],["samovies.net",5],["samrudhiglobal.com",5],["samurai.wordoco.com",5],["sanmiguellive.com",5],["santhoshrcf.com",5],["sararun.net",5],["sarkariresult.social",5],["satcesc.com",5],["savegame.pro",5],["sawwiz.com",5],["scansatlanticos.com",5],["schadeck.eu",5],["sezia.com",5],["schildempire.com",5],["scholarshiplist.org",5],["sciencebe21.in",5],["scontianastro.com",5],["scrap-blog.com",5],["scripcheck.great-site.net",5],["scriptsomg.com",5],["searchmovie.wp.xdomain.jp",5],["searchnsucceed.in",5],["seasons-dlove.net",5],["seirsanduk.com",5],["seogroup.bookmarking.info",5],["seoworld.in",5],["seriu.jp",5],["setsuyakutoushi.com",5],["serieshdpormega.com",5],["server-tutorials.net",5],["serverbd247.com",5],["serverxfans.com",5],["shadagetech.com",5],["shanurdu.com",5],["sharphindi.in",5],["sheikhmovies.*",5],["shimauma-log.com",5],["shittokuadult.net",5],["shlly.com",5],["shogaisha-shuro.com",5],["shogaisha-techo.com",5],["shopkensaku.com",5],["shorttrick.in",5],["showflix.*",5],["showrovblog.com",5],["shrinklinker.com",5],["shrinkus.tk",5],["shrivardhantech.in",5],["sieradmu.com",5],["siimanga.cyou",5],["siirtolayhaber.com",5],["sim-kichi.monster",5],["sivackidrum.net",5],["sk8therapy.fr",5],["skardu.pk",5],["skidrowreloaded.com",5],["slawoslaw.pl",5],["slowianietworza.pl",5],["smallseotools.ai",5],["smartinhome.pl",5],["snowman-information.com",5],["socebd.com",5],["sociallyindian.com",5],["softcobra.com",5],["softrop.com",5],["sohohindi.com",5],["sosuroda.pl",5],["south-park-tv.biz",5],["soziologie-politik.de",5],["sp500-up.com",5],["space-faucet.com",5],["spacestation-online.com",5],["spardhanews.com",5],["speak-english.net",5],["speculationis.com",5],["spinoff.link",5],["spiritparting.com",5],["sport-97.com",5],["sportsblend.net",5],["ssdownloader.online",5],["stablediffusionxl.com",5],["stadelahly.net",5],["stahnivideo.cz",5],["starsgtech.in",5],["start-to-run.be",5],["startupjobsportal.com",5],["stbemuiptvn.com",5],["ster-blog.xyz",5],["stimotion.pl",5],["stireazilei.eu",5],["stock-rom.com",5],["streamseeds24.com",5],["strefa.biz",5],["studybullet.com",5],["sufanblog.com",5],["sukuyou.com",5],["sullacollina.it",5],["sumirekeiba.com",5],["sundberg.ws",5],["suneelkevat.com",5],["super-ethanol.com",5],["superpackpormega.com",5],["surgicaltechie.com",5],["suvvehicle.com",5],["swietaslowianskie.pl",5],["symboleslowianskie.pl",5],["sysguides.com",5],["swordalada.org",5],["system32.ink",5],["ta3arof.net",5],["taariikh.net",5],["tabonitobrasil.tv",5],["taisha-diet.com",5],["talentstareducation.com",5],["tamil-lyrics.com",5],["tamilanzone.com",5],["tamilhit.tech",5],["tamilnaadi.com",5],["tamilultra.team",5],["tamilultratv.co.in",5],["tatsublog.com",5],["tbazzar.com",5],["teachersupdates.net",5],["team-octavi.com",5],["team-rcv.xyz",5],["teamkong.tk",5],["teamupinternational.com",5],["techacrobat.com",5],["techastuces.com",5],["techbytesblog.com",5],["techdriod.com",5],["techedubyte.com",5],["techforu.in",5],["techiepirates.com",5],["techiestalk.in",5],["techkeshri.com",5],["techlog.ta-yan.ai",5],["technewslive.org",5],["technewsrooms.com",5],["technicalviral.com",5],["technorj.com",5],["technorozen.com",5],["techoreview.com",5],["techprakash.com",5],["techsbucket.com",5],["techstwo.com",5],["techyhigher.com",5],["techyrick.com",5],["tecnomd.com",5],["tecnoscann.com",5],["tedenglish.site",5],["tehnotone.com",5],["telephone-soudan.com",5],["teluguhitsandflops.com",5],["temporeale.info",5],["tenbaiquest.com",5],["tespedia.com",5],["testious.com",5],["thangdangblog.com",5],["thaript.com",5],["the-mystery.org",5],["theberserkmanga.com",5],["thebigblogs.com",5],["thedilyblog.com",5],["thegnomishgazette.com",5],["theconomy.me",5],["thegamearcade.com",5],["theinternettaughtme.com",5],["thejoblives.com",5],["thelastgamestandingexp.com",5],["theliveupdate.com",5],["thenewsglobe.net",5],["theprofoundreport.com",5],["thermoprzepisy.pl",5],["thesarkariresult.net",5],["thesextube.net",5],["thesleak.com",5],["thesportsupa.com",5],["thewambugu.com",5],["theworldobits.com",5],["thiagorossi.com.br",5],["throwsmallstone.com",5],["tiny-sparklies.com",5],["titfuckvideos.com",5],["tirumalatirupatiyatra.in",5],["tnstudycorner.in",5],["today-obits.com",5],["todays-obits.com",5],["toeflgratis.com",5],["tokoasrimotedanpayet.my.id",5],["toorco.com",5],["top10trends.net",5],["topbiography.co.in",5],["topfaucet.us",5],["topsworldnews.com",5],["toptenknowledge.com",5],["torrentdofilmeshd.net",5],["torrentgame.org",5],["totally.top",5],["towerofgod.top",5],["tr3fit.xyz",5],["transgirlslive.com",5],["trendflatt.com",5],["trendohunts.com",5],["trgtkls.org",5],["trilog3.net",5],["trovapromozioni.it",5],["trucosonline.com",5],["tsubasatr.org",5],["tukangsapu.net",5],["tuktukcinma.com",5],["tunabagel.net",5],["turkeymenus.com",5],["turkishseriestv.net",5],["tutorialesdecalidad.com",5],["tutorialsduniya.com",5],["tuxnews.it",5],["twobluescans.com",5],["tw.xn--h9jepie9n6a5394exeq51z.com",5],["u-idol.com",5],["uciteljica.net",5],["udemyking.com",5],["uiuxsource.com",5],["ukigmoch.com",5],["ultimate-catch.eu",5],["umabomber.com",5],["underground.tboys.ro",5],["unityassets4free.com",5],["uozzart.com",5],["uploadbank.com",5],["uprwssp.org",5],["uqozy.com",5],["usahealthandlifestyle.com",5],["userupload.*",5],["ustimz.com",5],["ustvgo.live",5],["utaitebu.com",5],["utilidades.ecuadjsradiocorp.com",5],["uur-tech.net",5],["vamsivfx.com",5],["varnascan.com",5],["vedetta.org",5],["veganab.co",5],["vegas411.com",5],["venus-and-mars.com",5],["veryfuntime.com",5],["vibezhub.com.ng",5],["viciante.com.br",5],["videodidixx.com",5],["videosgays.net",5],["villettt.kitchen",5],["violablu.net",5],["virabux.com",5],["viralxns.com",5],["virtual-youtuber.jp",5],["visorsmr.com",5],["visortecno.com",5],["vitadacelebrita.com",5],["vivrebordeaux.fr",5],["vmorecloud.com",5],["vnuki.net",5],["voiceloves.com",5],["voidtruth.com",5],["voiranime1.fr",5],["vstplugin.net",5],["warungkomik.com",5],["webacademix.com",5],["webcamfuengirola.com",5],["webcras.com",5],["webhostingoffer.org",5],["websiteglowgh.com",5],["weebee.me",5],["welcometojapan.jp",5],["whats-new.cyou",5],["wheelofgold.com",5],["wholenotism.com",5],["wikijankari.com",5],["wikipooster.com",5],["wikitechy.com",5],["windbreaker.me",5],["windowsaplicaciones.com",5],["wirtualnelegionowo.pl",5],["wirtualnynowydwor.pl",5],["workxvacation.jp",5],["worldgyan18.com",5],["worldtop2.com",5],["worldwidestandard.net",5],["worthitorwoke.com",5],["wp.solar",5],["wpteq.org",5],["writeprofit.org",5],["wvt24.top",5],["xiaomitools.com",5],["xn--algododoce-j5a.com",5],["xn--kckzb2722b.com",5],["xn--n8jwbyc5ezgnfpeyd3i0a3ow693bw65a.com",5],["xn--nbkw38mlu2a.com",5],["xprime4u.*",5],["xpressarticles.com",5],["yakisurume.com",5],["yakyufan-asobiba.com",5],["yamsoti.com",5],["yaspage.com",5],["yawm.online",5],["yazilidayim.net",5],["ycongnghe.com",5],["yestech.xyz",5],["ynk-blog.com",5],["yoshare.net",5],["youlife24.com",5],["youmedemblik.nl",5],["youpit.xyz",5],["your-local-pest-control.com",5],["yourdesignmagazine.com",5],["yuatools.com",5],["yuki0918kw.com",5],["yumekomik.com",5],["yunakhaber.com",5],["yuramanga.my.id",5],["yurudori.com",5],["zecchino-doro.it",5],["zerogptai.org",5],["zien.pl",5],["ziminvestors.com",5],["ziontutorial.com",5],["zippyshare.cloud",5],["zippysharecue.com",5],["znanemediablog.com",5],["zyromod.com",5],["kiemlua.com",5],["link1s.com",5],["bloggingguidance.com",5],["onroid.com",5],["mathcrave.com",5],["intro-hd.net",5],["richtoscan.com",5],["tainguyenmienphi.com",5],["questloops.com",5],["wvt.free.nf",5],["appnee.com",5],["nxbrew.net",6],["tresdaos.com",6],["cinema.com.my",7],["allcelebspics.com",8],["alttyab.net",8],["an1me.*",8],["androjungle.com",8],["arkadmin.fr",8],["azoranov.com",8],["barranquillaestereo.com",8],["brasilsimulatormods.com",8],["cambrevenements.com",8],["cartoonstvonline.com",8],["comparili.net",8],["diaobe.net",8],["filegajah.com",8],["filmestorrent.tv",8],["franceprefecture.fr",8],["freecricket.net",8],["gcpainters.com",8],["germanvibes.org",8],["getmaths.co.uk",8],["gewinnspiele-markt.com",8],["hamzag.com",8],["hannibalfm.net",8],["hornyconfessions.com",8],["ilcamminodiluce.it",8],["joguinhosgratis.com",8],["joziporn.com",8],["justpaste.top",8],["mctechsolutions.in",8],["medibok.se",8],["megafire.net",8],["mirrorpoi.my.id",8],["mockuphunts.com",8],["mortaltech.com",8],["multivideodownloader.com",8],["nauci-engleski.com",8],["nauci-njemacki.com",8],["nekopoi.my.id",8],["nuketree.com",8],["pa1n.xyz",8],["papafoot.*",8],["playertv.net",8],["programsolve.com",8],["radio-deejay.com",8],["ranaaclanhungary.com",8],["rasoi.me",8],["riprendiamocicatania.com",8],["rsrlink.in",8],["seriesperu.com",8],["shmapp.ca",8],["sub2unlocker.com",8],["skillmineopportunities.com",8],["teczpert.com",8],["totalsportek.app",8],["tromcap.com",8],["tv0800.com",8],["tv3monde.com",8],["ustrendynews.com",8],["watchnow.fun",8],["weashare.com",8],["yelitzonpc.com",8],["ymknow.xyz",8],["shomareh-yab.ir",9],["cimanow.cc",10],["freex2line.online",10],["evaki.fun",11],["sportshub.to",11],["sportnews.to",11],["bebasbokep.online",12],["asianboy.fans",13],["bilibili.com",14]]);
438
+ const argsList = [["Document.prototype.querySelectorAll","\"/^#/\"","prevent","/stackDepth:4.+nawNA/"],["Document.prototype.querySelector","\"/^#/\"","prevent","/stackDepth:4.+ inlineScript:2/"],["Element.prototype.insertAdjacentHTML","\"afterbegin\"","prevent","/\\/[A-Za-z]+\\.min\\.js\\?/"],["eval","\"/chp_?ad/\""],["eval","\"/chp_?ad/\"","prevent"],["HTMLScriptElement.prototype.setAttribute","\"data-sdk\"","abort"],["eval","\"adsBlocked\""],["Storage.prototype.setItem","searchCount"],["fetch","\"flashtalking\""],["DOMTokenList.prototype.add","\"-\""],["HTMLScriptElement.prototype.setAttribute","\"data-cfasync\"","abort"],["DOMTokenList.prototype.add","\"-\"","prevent","stack","/wp-content\\/uploads\\/[a-z]+\\/[a-z]+\\.js/"],["navigator.sendBeacon","\"data.bilibili.com/log/\"","prevent"]];
439
+ const hostnamesMap = new Map([["japscan.lol",[0,1]],["pvpoke-re.com",2],["zegtrends.com",3],["tea-coffee.net",3],["spatsify.com",3],["newedutopics.com",3],["getviralreach.in",3],["edukaroo.com",3],["funkeypagali.com",3],["careersides.com",3],["nayisahara.com",3],["wikifilmia.com",3],["infinityskull.com",3],["viewmyknowledge.com",3],["iisfvirtual.in",3],["starxinvestor.com",3],["jkssbalerts.com",3],["blog.carstopia.net",3],["blog.carsmania.net",3],["redfea.com",3],["pranarevitalize.com",3],["techyinfo.in",3],["fitnessholic.net",3],["moderngyan.com",3],["sattakingcharts.in",3],["freshbhojpuri.com",3],["bgmi32bitapk.in",3],["bankshiksha.in",3],["earn.mpscstudyhub.com",3],["earn.quotesopia.com",3],["money.quotesopia.com",3],["best-mobilegames.com",3],["learn.moderngyan.com",3],["bharatsarkarijobalert.com",3],["quotesopia.com",3],["creditsgoal.com",3],["ikramlar.online",3],["headlinerpost.com",3],["posterify.net",3],["whatgame.xyz",3],["mooonten.com",3],["msic.site",3],["fx-22.com",3],["gold-24.net",3],["forexrw7.com",3],["mtcremix.com",3],["advicefunda.com",3],["bestloanoffer.net",3],["computerpedia.in",3],["techconnection.in",3],["bollywoodchamp.in",3],["texw.online",3],["m4u.*",3],["macrocreator.com",3],["madevarquitectos.com",3],["magesypro.*",3],["maisondeas.com",3],["maketoss.com",3],["makeupguide.net",3],["makotoichikawa.net",3],["malluporno.com",3],["mamtamusic.in",3],["mangcapquangvnpt.com",3],["manhastro.com",3],["mantrazscan.com",3],["maps4study.com.br",3],["marimo-info.net",3],["marketedgeofficial.com",3],["marketing-business-revenus-internet.fr",3],["marketrevolution.eu",3],["masashi-blog418.com",3],["mastakongo.info",3],["masterpctutoriales.com",3],["maths101.co.za",3],["matomeiru.com",3],["matshortener.xyz",3],["mcrypto.*",3],["mdn.lol",3],["medeberiya1.com",3],["mediascelebres.com",3],["medytour.com",3],["meilblog.com",3],["memorialnotice.com",3],["mentalhealthcoaching.org",3],["meteoregioneabruzzo.it",3],["mewingzone.com",3],["mhscans.com",3],["michiganrugcleaning.cleaning",3],["midis.com.ar",3],["midlandstraveller.com",3],["minddesignclub.org",3],["minecraftwild.com",3],["minhasdelicias.com",3],["mitaku.net",3],["mitsmits.com",3],["mixmods.com.br",3],["mm-scans.org",3],["mmfenix.com",3],["mmoovvfr.cloudfree.jp",3],["mmorpgplay.com.br",3],["mockupcity.com",3],["mockupgratis.com",3],["modele-facture.com",3],["modyster.com",3],["monaco.co.il",3],["morinaga-office.net",3],["mosttechs.com",3],["moto-station.com",3],["motofan-r.com",3],["movieping.com",3],["movies4u.*",3],["moviesnipipay.me",3],["mrfreemium.blogspot.com",3],["mscdroidlabs.es",3],["msonglyrics.com",3],["mtech4you.com",3],["multimovies.tech",3],["mummumtime.com",3],["mundovideoshd.com",3],["murtonroofing.com",3],["musicforchoir.com",3],["musictip.net",3],["mxcity.mx",3],["mxpacgroup.com",3],["my-ford-focus.de",3],["myglamwish.com",3],["myicloud.info",3],["mylinkat.com",3],["mylivewallpapers.com",3],["mypace.sasapurin.com",3],["myqqjd.com",3],["mytectutor.com",3],["myunity.dev",3],["myviptuto.com",3],["nagpurupdates.com",3],["naijagists.com",3],["naijdate.com",3],["najboljicajevi.com",3],["nakiny.com",3],["nameart.in",3],["nartag.com",3],["naturalmentesalute.org",3],["naturomicsworld.com",3],["naveedplace.com",3],["navinsamachar.com",3],["neet.wasa6.com",3],["negative.tboys.ro",3],["neifredomar.com",3],["nekoscans.com",3],["nemumemo.com",3],["nepaljobvacancy.com",3],["neservicee.com",3],["netsentertainment.net",3],["neuna.net",3],["newbookmarkingsite.com",3],["newfreelancespot.com",3],["newlifefuneralhomes.com",3],["news-geinou100.com",3],["newscard24.com",3],["newstechone.com",3],["nghetruyenma.net",3],["nhvnovels.com",3],["nichetechy.com",3],["nin10news.com",3],["nicetube.one",3],["ninjanovel.com",3],["nishankhatri.*",3],["niteshyadav.in",3],["nknews.jp",3],["nkreport.jp",3],["noanyi.com",3],["nobodycancool.com",3],["noblessetranslations.com",3],["nocfsb.com",3],["nocsummer.com.br",3],["nodenspace.com",3],["noikiiki.info",3],["notandor.cn",3],["note1s.com",3],["notesformsc.org",3],["noteshacker.com",3],["novel-gate.com",3],["novelbob.com",3],["novelread.co",3],["nsfwr34.com",3],["nswdownload.com",3],["nswrom.com",3],["ntucgm.com",3],["nudeslegion.com",3],["nukedfans.com",3],["nukedpacks.site",3],["nulledmug.com",3],["nvimfreak.com",3],["nyangames.altervista.org",3],["nylonstockingsex.net",3],["oatuu.org",3],["oberschwaben-tipps.de",3],["obituary-deathnews.com",3],["obituaryupdates.com",3],["odekake-spots.com",3],["officialpanda.com",3],["ofppt.net",3],["ofwork.net",3],["okblaz.me",3],["olamovies.store",3],["onehack.us",3],["onestringlab.com",3],["onlinetechsamadhan.com",3],["onlinetntextbooks.com",3],["onneddy.com",3],["onyxfeed.com",3],["openstartup.tm",3],["opiniones-empresas.com",3],["oracleerpappsguide.com",3],["orenoraresne.com",3],["oromedicine.com",3],["orunk.com",3],["osteusfilmestuga.online",3],["otakuliah.com",3],["oteknologi.com",3],["otokukensaku.jp",3],["ottrelease247.com",3],["ovnihoje.com",3],["pabryyt.one",3],["palofw-lab.com",3],["paminy.com",3],["pandaatlanta.com",3],["pandanote.info",3],["pantube.top",3],["paolo9785.com",3],["papafoot.click",3],["papahd.club",3],["paris-tabi.com",3],["parisporn.org",3],["parking-map.info",3],["pasatiemposparaimprimir.com",3],["pasokau.com",3],["passionatecarbloggers.com",3],["passportaction.com",3],["pc-guru.it",3],["pc-hobby.com",3],["pc-spiele-wiese.de",3],["pcgamedownload.net",3],["pcgameszone.com",3],["pdfstandards.net",3],["pepar.net",3],["personefamose.it",3],["petitestef.com",3],["pflege-info.net",3],["phoenix-manga.com",3],["phonefirmware.com",3],["physics101.co.za",3],["picgiraffe.com",3],["pilsner.nu",3],["piratemods.com",3],["pitiurl.com",3],["piximfix.com",3],["plantatreenow.com",3],["plc4free.com",3],["pliroforiki-edu.gr",3],["poapan.xyz",3],["poco.rcccn.in",3],["pogga.org",3],["pokeca-chart.com",3],["pondit.xyz",3],["ponsel4g.com",3],["poplinks.*",3],["porlalibreportal.com",3],["pornfeel.com",3],["porninblack.com",3],["portaldoaz.org",3],["portaldosreceptores.org",3],["portalyaoi.com",3],["postazap.com",3],["posturecorrectorshop-online.com",3],["practicalkida.com",3],["prague-blog.co.il",3],["praveeneditz.com",3],["premierftp.com",3],["prensa.click",3],["prensaesports.com",3],["pressemedie.dk",3],["pressurewasherpumpdiagram.com",3],["pricemint.in",3],["primemovies.pl",3],["prismmarketingco.com",3],["proapkdown.com",3],["projuktirkotha.com",3],["promiblogs.de",3],["promimedien.com",3],["promisingapps.com",3],["protestia.com",3],["psicotestuned.info",3],["psychology-spot.com",3],["publicdomainq.net",3],["publicdomainr.net",3],["publicidadtulua.com",3],["pupuweb.com",3],["putlog.net",3],["pynck.com",3],["quatvn.club",3],["questionprimordiale.fr",3],["quicktelecast.com",3],["radiantsong.com",3],["rabo.no",3],["ragnarokscanlation.*",3],["rahim-soft.com",3],["rail-log.net",3],["railwebcams.net",3],["raishin.xyz",3],["ralli.ee",3],["ranjeet.best",3],["ranourano.xyz",3],["raulmalea.ro",3],["rbs.ta36.com",3],["rbscripts.net",3],["rctechsworld.in",3],["readfast.in",3],["readhunters.xyz",3],["realfreelancer.com",3],["realtormontreal.ca",3],["receptyonline.cz",3],["recipenp.com",3],["redbubbletools.com",3],["redfaucet.site",3],["reeell.com",3],["renierassociatigroup.com",3],["reportbangla.com",3],["reprezentacija.rs",3],["retire49.com",3],["retrotv.org",3],["reviewmedium.com",3],["revistaapolice.com.br",3],["rgmovies.*",3],["ribbelmonster.de",3],["rightdark-scan.com",3],["rinconpsicologia.com",3],["ritacandida.com",3],["riwayat-word.com",3],["rlshort.com",3],["rocdacier.com",3],["rollingglobe.online",3],["romaierioggi.it",3],["romaniasoft.ro",3],["roms4ever.com",3],["romviet.com",[3,6]],["roshy.tv",3],["roznamasiasat.com",3],["rubyskitchenrecipes.uk",3],["ruyamanga.com",3],["rv-ecommerce.com",3],["ryanmoore.marketing",3],["ryansharich.com",3],["s1os.icu",3],["s4msecurity.com",3],["s920221683.online.de",3],["sabishiidesu.com",3],["saekita.com",3],["samanarthishabd.in",3],["samovies.net",3],["samrudhiglobal.com",3],["samurai.wordoco.com",3],["sanmiguellive.com",3],["santhoshrcf.com",3],["sararun.net",3],["sarkariresult.social",3],["satcesc.com",3],["savegame.pro",3],["sawwiz.com",3],["scansatlanticos.com",3],["schadeck.eu",3],["sezia.com",3],["schildempire.com",3],["scholarshiplist.org",3],["sciencebe21.in",3],["scontianastro.com",3],["scrap-blog.com",3],["scripcheck.great-site.net",3],["scriptsomg.com",3],["searchmovie.wp.xdomain.jp",3],["searchnsucceed.in",3],["seasons-dlove.net",3],["seirsanduk.com",3],["seogroup.bookmarking.info",3],["seoworld.in",3],["seriu.jp",3],["setsuyakutoushi.com",3],["serieshdpormega.com",3],["server-tutorials.net",3],["serverbd247.com",3],["serverxfans.com",3],["shadagetech.com",3],["shanurdu.com",3],["sharphindi.in",3],["sheikhmovies.*",3],["shimauma-log.com",3],["shittokuadult.net",3],["shlly.com",3],["shogaisha-shuro.com",3],["shogaisha-techo.com",3],["shopkensaku.com",3],["shorttrick.in",3],["showflix.*",3],["showrovblog.com",3],["shrinklinker.com",3],["shrinkus.tk",3],["shrivardhantech.in",3],["sieradmu.com",3],["siimanga.cyou",3],["siirtolayhaber.com",3],["sim-kichi.monster",3],["sivackidrum.net",3],["sk8therapy.fr",3],["skardu.pk",3],["skidrowreloaded.com",3],["slawoslaw.pl",3],["slowianietworza.pl",3],["smallseotools.ai",3],["smartinhome.pl",3],["snowman-information.com",3],["socebd.com",3],["sociallyindian.com",3],["softcobra.com",3],["softrop.com",3],["sohohindi.com",3],["sosuroda.pl",3],["south-park-tv.biz",3],["soziologie-politik.de",3],["sp500-up.com",3],["space-faucet.com",3],["spacestation-online.com",3],["spardhanews.com",3],["speak-english.net",3],["speculationis.com",3],["spinoff.link",3],["spiritparting.com",3],["sport-97.com",3],["sportsblend.net",3],["ssdownloader.online",3],["stablediffusionxl.com",3],["stadelahly.net",3],["stahnivideo.cz",3],["starsgtech.in",3],["start-to-run.be",3],["startupjobsportal.com",3],["stbemuiptvn.com",3],["ster-blog.xyz",3],["stimotion.pl",3],["stireazilei.eu",3],["stock-rom.com",3],["streamseeds24.com",3],["strefa.biz",3],["studybullet.com",3],["sufanblog.com",3],["sukuyou.com",3],["sullacollina.it",3],["sumirekeiba.com",3],["sundberg.ws",3],["suneelkevat.com",3],["super-ethanol.com",3],["superpackpormega.com",3],["surgicaltechie.com",3],["suvvehicle.com",3],["swietaslowianskie.pl",3],["symboleslowianskie.pl",3],["sysguides.com",3],["swordalada.org",3],["system32.ink",3],["ta3arof.net",3],["taariikh.net",3],["tabonitobrasil.tv",3],["taisha-diet.com",3],["talentstareducation.com",3],["tamil-lyrics.com",3],["tamilanzone.com",3],["tamilhit.tech",3],["tamilnaadi.com",3],["tamilultra.team",3],["tamilultratv.co.in",3],["tatsublog.com",3],["tbazzar.com",3],["teachersupdates.net",3],["team-octavi.com",3],["team-rcv.xyz",3],["teamkong.tk",3],["teamupinternational.com",3],["techacrobat.com",3],["techastuces.com",3],["techbytesblog.com",3],["techdriod.com",3],["techedubyte.com",3],["techforu.in",3],["techiepirates.com",3],["techiestalk.in",3],["techkeshri.com",3],["techlog.ta-yan.ai",3],["technewslive.org",3],["technewsrooms.com",3],["technicalviral.com",3],["technorj.com",3],["technorozen.com",3],["techoreview.com",3],["techprakash.com",3],["techsbucket.com",3],["techstwo.com",3],["techyhigher.com",3],["techyrick.com",3],["tecnomd.com",3],["tecnoscann.com",3],["tedenglish.site",3],["tehnotone.com",3],["telephone-soudan.com",3],["teluguhitsandflops.com",3],["temporeale.info",3],["tenbaiquest.com",3],["tespedia.com",3],["testious.com",3],["thangdangblog.com",3],["thaript.com",3],["the-mystery.org",3],["theberserkmanga.com",3],["thebigblogs.com",3],["thedilyblog.com",3],["thegnomishgazette.com",3],["theconomy.me",3],["thegamearcade.com",3],["theinternettaughtme.com",3],["thejoblives.com",3],["thelastgamestandingexp.com",3],["theliveupdate.com",3],["thenewsglobe.net",3],["theprofoundreport.com",3],["thermoprzepisy.pl",3],["thesarkariresult.net",3],["thesextube.net",3],["thesleak.com",3],["thesportsupa.com",3],["thewambugu.com",3],["theworldobits.com",3],["thiagorossi.com.br",3],["throwsmallstone.com",3],["tiny-sparklies.com",3],["titfuckvideos.com",3],["tirumalatirupatiyatra.in",3],["tnstudycorner.in",3],["today-obits.com",3],["todays-obits.com",3],["toeflgratis.com",3],["tokoasrimotedanpayet.my.id",3],["toorco.com",3],["top10trends.net",3],["topbiography.co.in",3],["topfaucet.us",3],["topsworldnews.com",3],["toptenknowledge.com",3],["torrentdofilmeshd.net",3],["torrentgame.org",3],["totally.top",3],["towerofgod.top",3],["tr3fit.xyz",3],["transgirlslive.com",3],["trendflatt.com",3],["trendohunts.com",3],["trgtkls.org",3],["trilog3.net",3],["trovapromozioni.it",3],["trucosonline.com",3],["tsubasatr.org",3],["tukangsapu.net",3],["tuktukcinma.com",3],["tunabagel.net",3],["turkeymenus.com",3],["turkishseriestv.net",3],["tutorialesdecalidad.com",3],["tutorialsduniya.com",3],["tuxnews.it",3],["twobluescans.com",3],["tw.xn--h9jepie9n6a5394exeq51z.com",3],["u-idol.com",3],["uciteljica.net",3],["udemyking.com",3],["uiuxsource.com",3],["ukigmoch.com",3],["ultimate-catch.eu",3],["umabomber.com",3],["underground.tboys.ro",3],["unityassets4free.com",3],["uozzart.com",3],["uploadbank.com",3],["uprwssp.org",3],["uqozy.com",3],["usahealthandlifestyle.com",3],["userupload.*",3],["ustimz.com",3],["ustvgo.live",3],["utaitebu.com",3],["utilidades.ecuadjsradiocorp.com",3],["uur-tech.net",3],["vamsivfx.com",3],["varnascan.com",3],["vedetta.org",3],["veganab.co",3],["vegas411.com",3],["venus-and-mars.com",3],["veryfuntime.com",3],["vibezhub.com.ng",3],["viciante.com.br",3],["videodidixx.com",3],["videosgays.net",3],["villettt.kitchen",3],["violablu.net",3],["virabux.com",3],["viralxns.com",3],["virtual-youtuber.jp",3],["visorsmr.com",3],["visortecno.com",3],["vitadacelebrita.com",3],["vivrebordeaux.fr",3],["vmorecloud.com",3],["vnuki.net",3],["voiceloves.com",3],["voidtruth.com",3],["voiranime1.fr",3],["vstplugin.net",3],["warungkomik.com",3],["webacademix.com",3],["webcamfuengirola.com",3],["webcras.com",3],["webhostingoffer.org",3],["websiteglowgh.com",3],["weebee.me",3],["welcometojapan.jp",3],["whats-new.cyou",3],["wheelofgold.com",3],["wholenotism.com",3],["wikijankari.com",3],["wikisharing.com",3],["wikipooster.com",3],["wikitechy.com",3],["windbreaker.me",3],["windowsaplicaciones.com",3],["wirtualnelegionowo.pl",3],["wirtualnynowydwor.pl",3],["workxvacation.jp",3],["worldgyan18.com",3],["worldtop2.com",3],["worldwidestandard.net",3],["worthitorwoke.com",3],["wp.solar",3],["wpteq.org",3],["writeprofit.org",3],["wvt24.top",3],["xiaomitools.com",3],["xn--algododoce-j5a.com",3],["xn--kckzb2722b.com",3],["xn--n8jwbyc5ezgnfpeyd3i0a3ow693bw65a.com",3],["xn--nbkw38mlu2a.com",3],["xprime4u.*",3],["xpressarticles.com",3],["xvipp.com",3],["yakisurume.com",3],["yakyufan-asobiba.com",3],["yamsoti.com",3],["yaspage.com",3],["yawm.online",3],["yazilidayim.net",3],["ycongnghe.com",3],["yestech.xyz",3],["ynk-blog.com",3],["yoshare.net",3],["youlife24.com",3],["youmedemblik.nl",3],["youpit.xyz",3],["your-local-pest-control.com",3],["yourdesignmagazine.com",3],["yuatools.com",3],["yuki0918kw.com",3],["yumekomik.com",3],["yunakhaber.com",3],["yuramanga.my.id",3],["yurudori.com",3],["zecchino-doro.it",3],["zerogptai.org",3],["zien.pl",3],["ziminvestors.com",3],["ziontutorial.com",3],["zippyshare.cloud",3],["zippysharecue.com",3],["znanemediablog.com",3],["zyromod.com",3],["kiemlua.com",3],["link1s.com",3],["bloggingguidance.com",3],["onroid.com",3],["mathcrave.com",3],["intro-hd.net",3],["richtoscan.com",3],["tainguyenmienphi.com",3],["questloops.com",3],["wvt.free.nf",3],["appnee.com",3],["nxbrew.net",4],["tresdaos.com",4],["cinema.com.my",5],["allcelebspics.com",6],["alttyab.net",6],["an1me.*",6],["androjungle.com",6],["arkadmin.fr",6],["azoranov.com",6],["barranquillaestereo.com",6],["brasilsimulatormods.com",6],["cambrevenements.com",6],["cartoonstvonline.com",6],["comparili.net",6],["diaobe.net",6],["filegajah.com",6],["filmestorrent.tv",6],["franceprefecture.fr",6],["freecricket.net",6],["gcpainters.com",6],["germanvibes.org",6],["getmaths.co.uk",6],["gewinnspiele-markt.com",6],["hamzag.com",6],["hannibalfm.net",6],["hornyconfessions.com",6],["ilcamminodiluce.it",6],["joguinhosgratis.com",6],["joziporn.com",6],["justpaste.top",6],["mctechsolutions.in",6],["medibok.se",6],["megafire.net",6],["mirrorpoi.my.id",6],["mockuphunts.com",6],["mortaltech.com",6],["multivideodownloader.com",6],["nauci-engleski.com",6],["nauci-njemacki.com",6],["nekopoi.my.id",6],["nuketree.com",6],["pa1n.xyz",6],["papafoot.*",6],["playertv.net",6],["programsolve.com",6],["radio-deejay.com",6],["ranaaclanhungary.com",6],["rasoi.me",6],["riprendiamocicatania.com",6],["rsrlink.in",6],["seriesperu.com",6],["shmapp.ca",6],["sub2unlocker.com",6],["skillmineopportunities.com",6],["teczpert.com",6],["totalsportek.app",6],["tromcap.com",6],["tv0800.com",6],["tv3monde.com",6],["ustrendynews.com",6],["watchnow.fun",6],["weashare.com",6],["yelitzonpc.com",6],["ymknow.xyz",6],["shomareh-yab.ir",7],["cimanow.cc",8],["freex2line.online",8],["evaki.fun",9],["sportshub.to",9],["sportnews.to",9],["bebasbokep.online",10],["asianboy.fans",11],["bilibili.com",12]]);
440
440
  const exceptionsMap = new Map([]);
441
441
  const hasEntities = true;
442
442
  const hasAncestors = false;
@@ -127,6 +127,10 @@ class JSONPath {
127
127
  const r = this.#compile(query, 0);
128
128
  if ( r === undefined ) { return; }
129
129
  if ( r.i !== query.length ) {
130
+ if ( query.startsWith('+=', r.i) ) {
131
+ r.modify = '+';
132
+ r.i += 1;
133
+ }
130
134
  if ( query.startsWith('=', r.i) === false ) { return; }
131
135
  try { r.rval = JSON.parse(query.slice(r.i+1)); }
132
136
  catch { return; }
@@ -142,7 +146,7 @@ class JSONPath {
142
146
  }
143
147
  apply(root) {
144
148
  if ( this.valid === false ) { return 0; }
145
- const { rval } = this.#compiled;
149
+ const { modify, rval } = this.#compiled;
146
150
  this.#root = root;
147
151
  const paths = this.#evaluate(this.#compiled.steps, []);
148
152
  const n = paths.length;
@@ -150,7 +154,11 @@ class JSONPath {
150
154
  while ( i-- ) {
151
155
  const { obj, key } = this.#resolvePath(paths[i]);
152
156
  if ( rval !== undefined ) {
153
- obj[key] = rval;
157
+ if ( modify === '+' ) {
158
+ this.#modifyVal(obj, key, rval);
159
+ } else {
160
+ obj[key] = rval;
161
+ }
154
162
  } else if ( Array.isArray(obj) && typeof key === 'number' ) {
155
163
  obj.splice(key, 1);
156
164
  } else {
@@ -478,6 +486,15 @@ class JSONPath {
478
486
  }
479
487
  if ( outcome ) { return k; }
480
488
  }
489
+ #modifyVal(obj, key, rval) {
490
+ const lval = obj[key];
491
+ if ( rval instanceof Object === false ) { return; }
492
+ if ( lval instanceof Object === false ) { return; }
493
+ if ( Array.isArray(lval) ) { return; }
494
+ for ( const [ k, v ] of Object.entries(rval) ) {
495
+ lval[k] = v;
496
+ }
497
+ }
481
498
  }
482
499
 
483
500
  function jsonlEditFn(jsonp, text = '') {