@ghostery/adblocker
Advanced tools
| /*! | ||
| * Copyright (c) 2017-present Ghostery GmbH. All rights reserved. | ||
| * | ||
| * This Source Code Form is subject to the terms of the Mozilla Public | ||
| * License, v. 2.0. If a copy of the MPL was not distributed with this | ||
| * file, You can obtain one at https://mozilla.org/MPL/2.0/. | ||
| */ | ||
| import Config from '../config.js'; | ||
| import Preprocessor from '../preprocessor.js'; | ||
| import FilterEngine from './engine.js'; | ||
| import { ICategory } from './metadata/categories.js'; | ||
| import { IOrganization } from './metadata/organizations.js'; | ||
| import { IPattern } from './metadata/patterns.js'; | ||
| export type HashFunc = (arr: Uint8Array, beg: number, end: number) => number | string | bigint; | ||
| export type MergeOptions = { | ||
| skipResources?: boolean; | ||
| overrideConfig?: Partial<Config>; | ||
| useBinaryMerge?: boolean; | ||
| hashFunc?: HashFunc; | ||
| }; | ||
| type MetadataCollection = { | ||
| organizations: Record<string, IOrganization>; | ||
| categories: Record<string, ICategory>; | ||
| patterns: Record<string, IPattern>; | ||
| }; | ||
| export declare function mergeMetadata<T extends typeof FilterEngine>(engines: InstanceType<T>[]): MetadataCollection; | ||
| export declare function mergeLists<T extends typeof FilterEngine>(engines: InstanceType<T>[]): Map<string, string>; | ||
| export declare function mergePreprocessors<T extends typeof FilterEngine>(engines: InstanceType<T>[]): Preprocessor[]; | ||
| /** | ||
| * Legacy semantic merge implementation, moved out of `FilterEngine.merge` so it | ||
| * can live next to byte-level merging during the transition. | ||
| */ | ||
| export declare function legacyMerge<T extends typeof FilterEngine>(self: T, engines: InstanceType<T>[], { skipResources, overrideConfig }?: MergeOptions): InstanceType<T>; | ||
| export declare function binaryMerge<T extends typeof FilterEngine>(self: T, engines: InstanceType<T>[], { skipResources, overrideConfig, hashFunc }?: MergeOptions): InstanceType<T>; | ||
| export {}; | ||
| //# sourceMappingURL=merger.d.ts.map |
| {"version":3,"file":"merger.d.ts","sourceRoot":"","sources":["../../../src/engine/merger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,cAAc,CAAC;AAGlC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAO9C,OAAO,YAAY,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/F,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAGjC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,YAAY,EACzD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,kBAAkB,CA4BpB;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,YAAY,EACtD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,YAAY,EAC9D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,YAAY,EAAE,CAyBhB;AAWD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,YAAY,EACvD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,EAAE,aAAqB,EAAE,cAAmB,EAAE,GAAE,YAAiB,GAChE,YAAY,CAAC,CAAC,CAAC,CAyDjB;AA4GD,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,YAAY,EACvD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,EAAE,aAAqB,EAAE,cAAmB,EAAE,QAAQ,EAAE,GAAE,YAAiB,GAC1E,YAAY,CAAC,CAAC,CAAC,CA8HjB"} |
| "use strict"; | ||
| /*! | ||
| * Copyright (c) 2017-present Ghostery GmbH. All rights reserved. | ||
| * | ||
| * This Source Code Form is subject to the terms of the Mozilla Public | ||
| * License, v. 2.0. If a copy of the MPL was not distributed with this | ||
| * file, You can obtain one at https://mozilla.org/MPL/2.0/. | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.mergeMetadata = mergeMetadata; | ||
| exports.mergeLists = mergeLists; | ||
| exports.mergePreprocessors = mergePreprocessors; | ||
| exports.legacyMerge = legacyMerge; | ||
| exports.binaryMerge = binaryMerge; | ||
| const config_js_1 = __importDefault(require("../config.js")); | ||
| const preprocessor_js_1 = __importDefault(require("../preprocessor.js")); | ||
| const resources_js_1 = __importDefault(require("../resources.js")); | ||
| const cosmetic_js_1 = __importDefault(require("./bucket/cosmetic.js")); | ||
| const filters_js_1 = __importDefault(require("./bucket/filters.js")); | ||
| const html_js_1 = __importDefault(require("./bucket/html.js")); | ||
| const network_js_1 = __importDefault(require("./bucket/network.js")); | ||
| const preprocessor_js_2 = __importDefault(require("./bucket/preprocessor.js")); | ||
| const metadata_js_1 = require("./metadata.js"); | ||
| const optimizer_js_1 = require("./optimizer.js"); | ||
| const reverse_index_js_1 = __importDefault(require("./reverse-index.js")); | ||
| function mergeMetadata(engines) { | ||
| const metadata = { | ||
| organizations: {}, | ||
| categories: {}, | ||
| patterns: {}, | ||
| }; | ||
| for (const engine of engines) { | ||
| if (engine.metadata !== undefined) { | ||
| for (const organization of engine.metadata.organizations.getValues()) { | ||
| if (metadata.organizations[organization.key] === undefined) { | ||
| metadata.organizations[organization.key] = organization; | ||
| } | ||
| } | ||
| for (const category of engine.metadata.categories.getValues()) { | ||
| if (metadata.categories[category.key] === undefined) { | ||
| metadata.categories[category.key] = category; | ||
| } | ||
| } | ||
| for (const pattern of engine.metadata.patterns.getValues()) { | ||
| if (metadata.patterns[pattern.key] === undefined) { | ||
| metadata.patterns[pattern.key] = pattern; | ||
| } | ||
| } | ||
| } | ||
| } | ||
| return metadata; | ||
| } | ||
| function mergeLists(engines) { | ||
| const lists = new Map(); | ||
| for (const engine of engines) { | ||
| for (const [key, value] of engine.lists) { | ||
| if (lists.has(key)) { | ||
| continue; | ||
| } | ||
| lists.set(key, value); | ||
| } | ||
| } | ||
| return lists; | ||
| } | ||
| function mergePreprocessors(engines) { | ||
| const preprocessors = []; | ||
| for (const engine of engines) { | ||
| for (const preprocessor of engine.preprocessors.preprocessors) { | ||
| const local = preprocessors.find((local) => local.condition === preprocessor.condition); | ||
| if (local === undefined) { | ||
| preprocessors.push(new preprocessor_js_1.default({ | ||
| condition: preprocessor.condition, | ||
| filterIDs: new Set(preprocessor.filterIDs), | ||
| })); | ||
| continue; | ||
| } | ||
| for (const filterID of preprocessor.filterIDs) { | ||
| local.filterIDs.add(filterID); | ||
| } | ||
| } | ||
| } | ||
| return preprocessors; | ||
| } | ||
| function hasMetadata(metadata) { | ||
| return (Object.keys(metadata.categories).length + | ||
| Object.keys(metadata.organizations).length + | ||
| Object.keys(metadata.patterns).length !== | ||
| 0); | ||
| } | ||
| /** | ||
| * Legacy semantic merge implementation, moved out of `FilterEngine.merge` so it | ||
| * can live next to byte-level merging during the transition. | ||
| */ | ||
| function legacyMerge(self, engines, { skipResources = false, overrideConfig = {} } = {}) { | ||
| if (!engines || engines.length < 2) { | ||
| throw new Error('merging engines requires at least two engines'); | ||
| } | ||
| for (const engine of engines) { | ||
| if (engine.config.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`compression of all merged engines must match with the first one: "${engines[0].config.enableCompression}" but got: "${engine.config.enableCompression}"`); | ||
| } | ||
| } | ||
| const networkFilters = new Map(); | ||
| const cosmeticFilters = new Map(); | ||
| const metadata = mergeMetadata(engines); | ||
| const lists = mergeLists(engines); | ||
| const preprocessors = mergePreprocessors(engines); | ||
| for (const engine of engines) { | ||
| const filters = engine.getFilters(); | ||
| for (const networkFilter of filters.networkFilters) { | ||
| networkFilters.set(networkFilter.getId(), networkFilter); | ||
| } | ||
| for (const cosmeticFilter of filters.cosmeticFilters) { | ||
| cosmeticFilters.set(cosmeticFilter.getId(), cosmeticFilter); | ||
| } | ||
| } | ||
| const engine = new self({ | ||
| networkFilters: Array.from(networkFilters.values()), | ||
| cosmeticFilters: Array.from(cosmeticFilters.values()), | ||
| preprocessors, | ||
| lists, | ||
| config: new config_js_1.default({ ...engines[0].config, ...overrideConfig }), | ||
| }); | ||
| if (hasMetadata(metadata)) { | ||
| engine.metadata = new metadata_js_1.Metadata(metadata); | ||
| } | ||
| if (skipResources !== true) { | ||
| for (const engine of engines.slice(1)) { | ||
| if (engine.resources.checksum !== engines[0].resources.checksum) { | ||
| throw new Error(`resource checksum of all merged engines must match with the first one: "${engines[0].resources.checksum}" but got: "${engine.resources.checksum}"`); | ||
| } | ||
| } | ||
| engine.resources = resources_js_1.default.copy(engines[0].resources); | ||
| } | ||
| return engine; | ||
| } | ||
| function mergeNetworkFilterBucket(sources, config, hashFunc) { | ||
| const bucket = new network_js_1.default({ config }); | ||
| const optimize = config.enableOptimizations ? optimizer_js_1.optimizeNetwork : optimizer_js_1.noopOptimizeNetwork; | ||
| bucket.index = reverse_index_js_1.default.merge(sources.map((source) => source.index), config, optimize, { hashFunc }); | ||
| bucket.badFilters = filters_js_1.default.merge(sources.map((source) => source.badFilters), { hashFunc }); | ||
| return bucket; | ||
| } | ||
| function mergeCosmeticFilterBucket(sources, config, hashFunc) { | ||
| const bucket = new cosmetic_js_1.default({ config }); | ||
| bucket.genericRules = filters_js_1.default.merge(sources.map((source) => source.genericRules), { hashFunc }); | ||
| bucket.classesIndex = reverse_index_js_1.default.merge(sources.map((source) => source.classesIndex), config, optimizer_js_1.noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.hostnameIndex = reverse_index_js_1.default.merge(sources.map((source) => source.hostnameIndex), config, optimizer_js_1.noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.hrefsIndex = reverse_index_js_1.default.merge(sources.map((source) => source.hrefsIndex), config, optimizer_js_1.noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.idsIndex = reverse_index_js_1.default.merge(sources.map((source) => source.idsIndex), config, optimizer_js_1.noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.unhideIndex = reverse_index_js_1.default.merge(sources.map((source) => source.unhideIndex), config, optimizer_js_1.noopOptimizeCosmetic, { hashFunc }); | ||
| return bucket; | ||
| } | ||
| function mergeHTMLBucket(sources, config, hashFunc) { | ||
| const bucket = new html_js_1.default({ config }); | ||
| const optimize = config.enableOptimizations ? optimizer_js_1.optimizeNetwork : optimizer_js_1.noopOptimizeNetwork; | ||
| if (config.loadNetworkFilters === true) { | ||
| bucket.networkIndex = reverse_index_js_1.default.merge(sources.map((source) => source.networkIndex), config, optimize, { | ||
| hashFunc, | ||
| }); | ||
| bucket.exceptionsIndex = reverse_index_js_1.default.merge(sources.map((source) => source.exceptionsIndex), config, optimize, { hashFunc }); | ||
| } | ||
| if (config.loadCosmeticFilters === true) { | ||
| bucket.cosmeticIndex = reverse_index_js_1.default.merge(sources.map((source) => source.cosmeticIndex), config, optimizer_js_1.noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.unhideIndex = reverse_index_js_1.default.merge(sources.map((source) => source.unhideIndex), config, optimizer_js_1.noopOptimizeCosmetic, { hashFunc }); | ||
| } | ||
| return bucket; | ||
| } | ||
| function binaryMerge(self, engines, { skipResources = false, overrideConfig = {}, hashFunc } = {}) { | ||
| if (!engines || engines.length < 2) { | ||
| throw new Error('merging engines requires at least two engines'); | ||
| } | ||
| for (const engine of engines) { | ||
| if (engine.config.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`compression of all merged engines must match with the first one: "${engines[0].config.enableCompression}" but got: "${engine.config.enableCompression}"`); | ||
| } | ||
| if (engine.config.debug === true) { | ||
| throw new Error('merging engines with binaryMerge method is not allowed with debug mode strictly!'); | ||
| } | ||
| } | ||
| if (overrideConfig.debug === true) { | ||
| throw new Error(`the resulting engine cannot have debug or compression when merging engines with binaryMerge method!`); | ||
| } | ||
| if (typeof overrideConfig.enableCompression === 'boolean' && | ||
| overrideConfig.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`the resulting engine should have same compression config when merging engines!`); | ||
| } | ||
| const metadata = mergeMetadata(engines); | ||
| const lists = mergeLists(engines); | ||
| const config = new config_js_1.default({ ...engines[0].config, ...overrideConfig }); | ||
| const engine = new self({ | ||
| config, | ||
| lists, | ||
| }); | ||
| // Bucket skipping follows target config loading flags. Do not skip buckets | ||
| // for loadExtendedSelectors, enableInMemoryCache, or enableOptimizations: | ||
| // those tune matching/injection/cache/optimizer behavior, not whole bucket | ||
| // loading. | ||
| engine.preprocessors = new preprocessor_js_2.default({ | ||
| preprocessors: config.loadPreprocessors === true ? mergePreprocessors(engines) : [], | ||
| }); | ||
| if (config.loadNetworkFilters === true) { | ||
| engine.importants = mergeNetworkFilterBucket(engines.map((source) => source.importants), config, hashFunc); | ||
| engine.redirects = mergeNetworkFilterBucket(engines.map((source) => source.redirects), config, hashFunc); | ||
| engine.removeparams = mergeNetworkFilterBucket(engines.map((source) => source.removeparams), config, hashFunc); | ||
| engine.filters = mergeNetworkFilterBucket(engines.map((source) => source.filters), config, hashFunc); | ||
| engine.exceptions = | ||
| config.loadExceptionFilters === true | ||
| ? mergeNetworkFilterBucket(engines.map((source) => source.exceptions), config, hashFunc) | ||
| : new network_js_1.default({ config }); | ||
| engine.csp = | ||
| config.loadCSPFilters === true | ||
| ? mergeNetworkFilterBucket(engines.map((source) => source.csp), config, hashFunc) | ||
| : new network_js_1.default({ config }); | ||
| engine.hideExceptions = mergeNetworkFilterBucket(engines.map((source) => source.hideExceptions), config, hashFunc); | ||
| } | ||
| if (config.loadCosmeticFilters === true) { | ||
| engine.cosmetics = mergeCosmeticFilterBucket(engines.map((source) => source.cosmetics), config, hashFunc); | ||
| } | ||
| if (config.enableHtmlFiltering === true) { | ||
| engine.htmlFilters = mergeHTMLBucket(engines.map((source) => source.htmlFilters), config, hashFunc); | ||
| } | ||
| if (hasMetadata(metadata)) { | ||
| engine.metadata = new metadata_js_1.Metadata(metadata); | ||
| } | ||
| if (skipResources !== true) { | ||
| for (const engine of engines.slice(1)) { | ||
| if (engine.resources.checksum !== engines[0].resources.checksum) { | ||
| throw new Error(`resource checksum of all merged engines must match with the first one: "${engines[0].resources.checksum}" but got: "${engine.resources.checksum}"`); | ||
| } | ||
| } | ||
| engine.resources = resources_js_1.default.copy(engines[0].resources); | ||
| } | ||
| return engine; | ||
| } | ||
| //# sourceMappingURL=merger.js.map |
| {"version":3,"file":"merger.js","sourceRoot":"","sources":["../../../src/engine/merger.ts"],"names":[],"mappings":"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"} |
| /*! | ||
| * Copyright (c) 2017-present Ghostery GmbH. All rights reserved. | ||
| * | ||
| * This Source Code Form is subject to the terms of the Mozilla Public | ||
| * License, v. 2.0. If a copy of the MPL was not distributed with this | ||
| * file, You can obtain one at https://mozilla.org/MPL/2.0/. | ||
| */ | ||
| import Config from '../config.js'; | ||
| import Preprocessor from '../preprocessor.js'; | ||
| import FilterEngine from './engine.js'; | ||
| import { ICategory } from './metadata/categories.js'; | ||
| import { IOrganization } from './metadata/organizations.js'; | ||
| import { IPattern } from './metadata/patterns.js'; | ||
| export type HashFunc = (arr: Uint8Array, beg: number, end: number) => number | string | bigint; | ||
| export type MergeOptions = { | ||
| skipResources?: boolean; | ||
| overrideConfig?: Partial<Config>; | ||
| useBinaryMerge?: boolean; | ||
| hashFunc?: HashFunc; | ||
| }; | ||
| type MetadataCollection = { | ||
| organizations: Record<string, IOrganization>; | ||
| categories: Record<string, ICategory>; | ||
| patterns: Record<string, IPattern>; | ||
| }; | ||
| export declare function mergeMetadata<T extends typeof FilterEngine>(engines: InstanceType<T>[]): MetadataCollection; | ||
| export declare function mergeLists<T extends typeof FilterEngine>(engines: InstanceType<T>[]): Map<string, string>; | ||
| export declare function mergePreprocessors<T extends typeof FilterEngine>(engines: InstanceType<T>[]): Preprocessor[]; | ||
| /** | ||
| * Legacy semantic merge implementation, moved out of `FilterEngine.merge` so it | ||
| * can live next to byte-level merging during the transition. | ||
| */ | ||
| export declare function legacyMerge<T extends typeof FilterEngine>(self: T, engines: InstanceType<T>[], { skipResources, overrideConfig }?: MergeOptions): InstanceType<T>; | ||
| export declare function binaryMerge<T extends typeof FilterEngine>(self: T, engines: InstanceType<T>[], { skipResources, overrideConfig, hashFunc }?: MergeOptions): InstanceType<T>; | ||
| export {}; | ||
| //# sourceMappingURL=merger.d.ts.map |
| {"version":3,"file":"merger.d.ts","sourceRoot":"","sources":["../../../src/engine/merger.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,cAAc,CAAC;AAGlC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAO9C,OAAO,YAAY,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,MAAM,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/F,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAGjC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,YAAY,EACzD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,kBAAkB,CA4BpB;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,OAAO,YAAY,EACtD,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAcrB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,OAAO,YAAY,EAC9D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACzB,YAAY,EAAE,CAyBhB;AAWD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,YAAY,EACvD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,EAAE,aAAqB,EAAE,cAAmB,EAAE,GAAE,YAAiB,GAChE,YAAY,CAAC,CAAC,CAAC,CAyDjB;AA4GD,wBAAgB,WAAW,CAAC,CAAC,SAAS,OAAO,YAAY,EACvD,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,EAAE,aAAqB,EAAE,cAAmB,EAAE,QAAQ,EAAE,GAAE,YAAiB,GAC1E,YAAY,CAAC,CAAC,CAAC,CA8HjB"} |
| /*! | ||
| * Copyright (c) 2017-present Ghostery GmbH. All rights reserved. | ||
| * | ||
| * This Source Code Form is subject to the terms of the Mozilla Public | ||
| * License, v. 2.0. If a copy of the MPL was not distributed with this | ||
| * file, You can obtain one at https://mozilla.org/MPL/2.0/. | ||
| */ | ||
| import Config from '../config.js'; | ||
| import Preprocessor from '../preprocessor.js'; | ||
| import Resources from '../resources.js'; | ||
| import CosmeticFilterBucket from './bucket/cosmetic.js'; | ||
| import FiltersContainer from './bucket/filters.js'; | ||
| import HTMLBucket from './bucket/html.js'; | ||
| import NetworkFilterBucket from './bucket/network.js'; | ||
| import PreprocessorBucket from './bucket/preprocessor.js'; | ||
| import { Metadata } from './metadata.js'; | ||
| import { noopOptimizeCosmetic, noopOptimizeNetwork, optimizeNetwork } from './optimizer.js'; | ||
| import ReverseIndex from './reverse-index.js'; | ||
| export function mergeMetadata(engines) { | ||
| const metadata = { | ||
| organizations: {}, | ||
| categories: {}, | ||
| patterns: {}, | ||
| }; | ||
| for (const engine of engines) { | ||
| if (engine.metadata !== undefined) { | ||
| for (const organization of engine.metadata.organizations.getValues()) { | ||
| if (metadata.organizations[organization.key] === undefined) { | ||
| metadata.organizations[organization.key] = organization; | ||
| } | ||
| } | ||
| for (const category of engine.metadata.categories.getValues()) { | ||
| if (metadata.categories[category.key] === undefined) { | ||
| metadata.categories[category.key] = category; | ||
| } | ||
| } | ||
| for (const pattern of engine.metadata.patterns.getValues()) { | ||
| if (metadata.patterns[pattern.key] === undefined) { | ||
| metadata.patterns[pattern.key] = pattern; | ||
| } | ||
| } | ||
| } | ||
| } | ||
| return metadata; | ||
| } | ||
| export function mergeLists(engines) { | ||
| const lists = new Map(); | ||
| for (const engine of engines) { | ||
| for (const [key, value] of engine.lists) { | ||
| if (lists.has(key)) { | ||
| continue; | ||
| } | ||
| lists.set(key, value); | ||
| } | ||
| } | ||
| return lists; | ||
| } | ||
| export function mergePreprocessors(engines) { | ||
| const preprocessors = []; | ||
| for (const engine of engines) { | ||
| for (const preprocessor of engine.preprocessors.preprocessors) { | ||
| const local = preprocessors.find((local) => local.condition === preprocessor.condition); | ||
| if (local === undefined) { | ||
| preprocessors.push(new Preprocessor({ | ||
| condition: preprocessor.condition, | ||
| filterIDs: new Set(preprocessor.filterIDs), | ||
| })); | ||
| continue; | ||
| } | ||
| for (const filterID of preprocessor.filterIDs) { | ||
| local.filterIDs.add(filterID); | ||
| } | ||
| } | ||
| } | ||
| return preprocessors; | ||
| } | ||
| function hasMetadata(metadata) { | ||
| return (Object.keys(metadata.categories).length + | ||
| Object.keys(metadata.organizations).length + | ||
| Object.keys(metadata.patterns).length !== | ||
| 0); | ||
| } | ||
| /** | ||
| * Legacy semantic merge implementation, moved out of `FilterEngine.merge` so it | ||
| * can live next to byte-level merging during the transition. | ||
| */ | ||
| export function legacyMerge(self, engines, { skipResources = false, overrideConfig = {} } = {}) { | ||
| if (!engines || engines.length < 2) { | ||
| throw new Error('merging engines requires at least two engines'); | ||
| } | ||
| for (const engine of engines) { | ||
| if (engine.config.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`compression of all merged engines must match with the first one: "${engines[0].config.enableCompression}" but got: "${engine.config.enableCompression}"`); | ||
| } | ||
| } | ||
| const networkFilters = new Map(); | ||
| const cosmeticFilters = new Map(); | ||
| const metadata = mergeMetadata(engines); | ||
| const lists = mergeLists(engines); | ||
| const preprocessors = mergePreprocessors(engines); | ||
| for (const engine of engines) { | ||
| const filters = engine.getFilters(); | ||
| for (const networkFilter of filters.networkFilters) { | ||
| networkFilters.set(networkFilter.getId(), networkFilter); | ||
| } | ||
| for (const cosmeticFilter of filters.cosmeticFilters) { | ||
| cosmeticFilters.set(cosmeticFilter.getId(), cosmeticFilter); | ||
| } | ||
| } | ||
| const engine = new self({ | ||
| networkFilters: Array.from(networkFilters.values()), | ||
| cosmeticFilters: Array.from(cosmeticFilters.values()), | ||
| preprocessors, | ||
| lists, | ||
| config: new Config({ ...engines[0].config, ...overrideConfig }), | ||
| }); | ||
| if (hasMetadata(metadata)) { | ||
| engine.metadata = new Metadata(metadata); | ||
| } | ||
| if (skipResources !== true) { | ||
| for (const engine of engines.slice(1)) { | ||
| if (engine.resources.checksum !== engines[0].resources.checksum) { | ||
| throw new Error(`resource checksum of all merged engines must match with the first one: "${engines[0].resources.checksum}" but got: "${engine.resources.checksum}"`); | ||
| } | ||
| } | ||
| engine.resources = Resources.copy(engines[0].resources); | ||
| } | ||
| return engine; | ||
| } | ||
| function mergeNetworkFilterBucket(sources, config, hashFunc) { | ||
| const bucket = new NetworkFilterBucket({ config }); | ||
| const optimize = config.enableOptimizations ? optimizeNetwork : noopOptimizeNetwork; | ||
| bucket.index = ReverseIndex.merge(sources.map((source) => source.index), config, optimize, { hashFunc }); | ||
| bucket.badFilters = FiltersContainer.merge(sources.map((source) => source.badFilters), { hashFunc }); | ||
| return bucket; | ||
| } | ||
| function mergeCosmeticFilterBucket(sources, config, hashFunc) { | ||
| const bucket = new CosmeticFilterBucket({ config }); | ||
| bucket.genericRules = FiltersContainer.merge(sources.map((source) => source.genericRules), { hashFunc }); | ||
| bucket.classesIndex = ReverseIndex.merge(sources.map((source) => source.classesIndex), config, noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.hostnameIndex = ReverseIndex.merge(sources.map((source) => source.hostnameIndex), config, noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.hrefsIndex = ReverseIndex.merge(sources.map((source) => source.hrefsIndex), config, noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.idsIndex = ReverseIndex.merge(sources.map((source) => source.idsIndex), config, noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.unhideIndex = ReverseIndex.merge(sources.map((source) => source.unhideIndex), config, noopOptimizeCosmetic, { hashFunc }); | ||
| return bucket; | ||
| } | ||
| function mergeHTMLBucket(sources, config, hashFunc) { | ||
| const bucket = new HTMLBucket({ config }); | ||
| const optimize = config.enableOptimizations ? optimizeNetwork : noopOptimizeNetwork; | ||
| if (config.loadNetworkFilters === true) { | ||
| bucket.networkIndex = ReverseIndex.merge(sources.map((source) => source.networkIndex), config, optimize, { | ||
| hashFunc, | ||
| }); | ||
| bucket.exceptionsIndex = ReverseIndex.merge(sources.map((source) => source.exceptionsIndex), config, optimize, { hashFunc }); | ||
| } | ||
| if (config.loadCosmeticFilters === true) { | ||
| bucket.cosmeticIndex = ReverseIndex.merge(sources.map((source) => source.cosmeticIndex), config, noopOptimizeCosmetic, { hashFunc }); | ||
| bucket.unhideIndex = ReverseIndex.merge(sources.map((source) => source.unhideIndex), config, noopOptimizeCosmetic, { hashFunc }); | ||
| } | ||
| return bucket; | ||
| } | ||
| export function binaryMerge(self, engines, { skipResources = false, overrideConfig = {}, hashFunc } = {}) { | ||
| if (!engines || engines.length < 2) { | ||
| throw new Error('merging engines requires at least two engines'); | ||
| } | ||
| for (const engine of engines) { | ||
| if (engine.config.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`compression of all merged engines must match with the first one: "${engines[0].config.enableCompression}" but got: "${engine.config.enableCompression}"`); | ||
| } | ||
| if (engine.config.debug === true) { | ||
| throw new Error('merging engines with binaryMerge method is not allowed with debug mode strictly!'); | ||
| } | ||
| } | ||
| if (overrideConfig.debug === true) { | ||
| throw new Error(`the resulting engine cannot have debug or compression when merging engines with binaryMerge method!`); | ||
| } | ||
| if (typeof overrideConfig.enableCompression === 'boolean' && | ||
| overrideConfig.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`the resulting engine should have same compression config when merging engines!`); | ||
| } | ||
| const metadata = mergeMetadata(engines); | ||
| const lists = mergeLists(engines); | ||
| const config = new Config({ ...engines[0].config, ...overrideConfig }); | ||
| const engine = new self({ | ||
| config, | ||
| lists, | ||
| }); | ||
| // Bucket skipping follows target config loading flags. Do not skip buckets | ||
| // for loadExtendedSelectors, enableInMemoryCache, or enableOptimizations: | ||
| // those tune matching/injection/cache/optimizer behavior, not whole bucket | ||
| // loading. | ||
| engine.preprocessors = new PreprocessorBucket({ | ||
| preprocessors: config.loadPreprocessors === true ? mergePreprocessors(engines) : [], | ||
| }); | ||
| if (config.loadNetworkFilters === true) { | ||
| engine.importants = mergeNetworkFilterBucket(engines.map((source) => source.importants), config, hashFunc); | ||
| engine.redirects = mergeNetworkFilterBucket(engines.map((source) => source.redirects), config, hashFunc); | ||
| engine.removeparams = mergeNetworkFilterBucket(engines.map((source) => source.removeparams), config, hashFunc); | ||
| engine.filters = mergeNetworkFilterBucket(engines.map((source) => source.filters), config, hashFunc); | ||
| engine.exceptions = | ||
| config.loadExceptionFilters === true | ||
| ? mergeNetworkFilterBucket(engines.map((source) => source.exceptions), config, hashFunc) | ||
| : new NetworkFilterBucket({ config }); | ||
| engine.csp = | ||
| config.loadCSPFilters === true | ||
| ? mergeNetworkFilterBucket(engines.map((source) => source.csp), config, hashFunc) | ||
| : new NetworkFilterBucket({ config }); | ||
| engine.hideExceptions = mergeNetworkFilterBucket(engines.map((source) => source.hideExceptions), config, hashFunc); | ||
| } | ||
| if (config.loadCosmeticFilters === true) { | ||
| engine.cosmetics = mergeCosmeticFilterBucket(engines.map((source) => source.cosmetics), config, hashFunc); | ||
| } | ||
| if (config.enableHtmlFiltering === true) { | ||
| engine.htmlFilters = mergeHTMLBucket(engines.map((source) => source.htmlFilters), config, hashFunc); | ||
| } | ||
| if (hasMetadata(metadata)) { | ||
| engine.metadata = new Metadata(metadata); | ||
| } | ||
| if (skipResources !== true) { | ||
| for (const engine of engines.slice(1)) { | ||
| if (engine.resources.checksum !== engines[0].resources.checksum) { | ||
| throw new Error(`resource checksum of all merged engines must match with the first one: "${engines[0].resources.checksum}" but got: "${engine.resources.checksum}"`); | ||
| } | ||
| } | ||
| engine.resources = Resources.copy(engines[0].resources); | ||
| } | ||
| return engine; | ||
| } | ||
| //# sourceMappingURL=merger.js.map |
| {"version":3,"file":"merger.js","sourceRoot":"","sources":["../../../src/engine/merger.ts"],"names":[],"mappings":"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"} |
@@ -22,5 +22,7 @@ "use strict"; | ||
| ".online", | ||
| "images.", | ||
| ".co.uk", | ||
| ".space", | ||
| "a8clk.", | ||
| "stats.", | ||
| ".cyou", | ||
@@ -35,9 +37,8 @@ ".qpon", | ||
| ".net", | ||
| ".pro", | ||
| ".xyz", | ||
| "www.", | ||
| ".jp", | ||
| "a8.", | ||
| "app", | ||
| "cdn", | ||
| "pro", | ||
| "web", | ||
@@ -48,3 +49,5 @@ ".b", | ||
| ".m", | ||
| ".n", | ||
| ".p", | ||
| ".s", | ||
| "a1", | ||
@@ -75,2 +78,3 @@ "a2", | ||
| "be", | ||
| "bi", | ||
| "bl", | ||
@@ -97,3 +101,2 @@ "bo", | ||
| "ds", | ||
| "du", | ||
| "dy", | ||
@@ -113,3 +116,5 @@ "e-", | ||
| "et", | ||
| "eu", | ||
| "ev", | ||
| "ew", | ||
| "ex", | ||
@@ -127,3 +132,2 @@ "ey", | ||
| "gl", | ||
| "gn", | ||
| "go", | ||
@@ -155,9 +159,9 @@ "gr", | ||
| "jo", | ||
| "ju", | ||
| "kr", | ||
| "ks", | ||
| "la", | ||
| "ld", | ||
| "le", | ||
| "li", | ||
| "ll", | ||
| "lo", | ||
| "lu", | ||
| "ly", | ||
@@ -169,5 +173,2 @@ "ma", | ||
| "my", | ||
| "nd", | ||
| "ne", | ||
| "nl", | ||
| "no", | ||
@@ -182,7 +183,3 @@ "ob", | ||
| "or", | ||
| "os", | ||
| "ot", | ||
| "ou", | ||
| "ow", | ||
| "pe", | ||
| "ph", | ||
@@ -196,3 +193,2 @@ "pl", | ||
| "ru", | ||
| "ry", | ||
| "s-", | ||
@@ -209,5 +205,5 @@ "sc", | ||
| "st", | ||
| "su", | ||
| "sw", | ||
| "sy", | ||
| "t-", | ||
| "ta", | ||
@@ -217,3 +213,2 @@ "te", | ||
| "ti", | ||
| "tm", | ||
| "tn", | ||
@@ -223,2 +218,3 @@ "to", | ||
| "ts", | ||
| "tt", | ||
| "tu", | ||
@@ -229,2 +225,5 @@ "tv", | ||
| "ub", | ||
| "uc", | ||
| "ud", | ||
| "uk", | ||
| "ul", | ||
@@ -242,3 +241,4 @@ "um", | ||
| "wh", | ||
| "ws", | ||
| "wn", | ||
| "yo", | ||
| "-", | ||
@@ -245,0 +245,0 @@ ".", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"network-hostname.js","sourceRoot":"","sources":["../../../src/codebooks/network-hostname.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,kBAAe;IACb,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} | ||
| {"version":3,"file":"network-hostname.js","sourceRoot":"","sources":["../../../src/codebooks/network-hostname.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,kBAAe;IACb,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} |
@@ -25,2 +25,3 @@ "use strict"; | ||
| "prebid-ads.js", | ||
| "analytics.js", | ||
| "nobab2.js:10", | ||
@@ -48,3 +49,2 @@ "noopmp3-0.1s", | ||
| "bea", | ||
| "_a", | ||
| ":5", | ||
@@ -54,3 +54,2 @@ ".0", | ||
| "ch", | ||
| "ic", | ||
| "in", | ||
@@ -62,2 +61,3 @@ "le", | ||
| "re", | ||
| "se", | ||
| "st", | ||
@@ -64,0 +64,0 @@ "_", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"network-redirect.js","sourceRoot":"","sources":["../../../src/codebooks/network-redirect.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,kBAAe;IACb,mCAAmC;IACnC,kCAAkC;IAClC,6BAA6B;IAC7B,0BAA0B;IAC1B,yBAAyB;IACzB,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} | ||
| {"version":3,"file":"network-redirect.js","sourceRoot":"","sources":["../../../src/codebooks/network-redirect.ts"],"names":[],"mappings":";;AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,kBAAe;IACb,mCAAmC;IACnC,kCAAkC;IAClC,6BAA6B;IAC7B,0BAA0B;IAC1B,yBAAyB;IACzB,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,cAAc;IACd,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} |
@@ -71,3 +71,2 @@ "use strict"; | ||
| ".c", | ||
| ".h", | ||
| ".m", | ||
@@ -114,3 +113,2 @@ ".n", | ||
| "do", | ||
| "ds", | ||
| "e-", | ||
@@ -168,2 +166,3 @@ "eb", | ||
| "mp", | ||
| "my", | ||
| "nd", | ||
@@ -199,2 +198,3 @@ "ne", | ||
| "st", | ||
| "su", | ||
| "sw", | ||
@@ -201,0 +201,0 @@ "sy", |
@@ -11,2 +11,3 @@ /*! | ||
| import IFilter from '../../filters/interface.js'; | ||
| import { type HashFunc } from '../merger.js'; | ||
| /** | ||
@@ -19,4 +20,9 @@ * Generic filters container (for both CosmeticFilter and NetworkFilter | ||
| export default class FiltersContainer<T extends IFilter> { | ||
| static merge<T extends IFilter>(sources: FiltersContainer<T>[], opts?: { | ||
| hashFunc?: HashFunc | undefined; | ||
| }): FiltersContainer<T>; | ||
| static deserialize<T extends IFilter>(buffer: StaticDataView, deserialize: (view: StaticDataView) => T, config: Config): FiltersContainer<T>; | ||
| filters: Uint8Array; | ||
| offsets: Uint32Array; | ||
| private numberOfFilters; | ||
| private readonly deserialize; | ||
@@ -23,0 +29,0 @@ private readonly config; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAe,MAAM,oBAAoB,CAAC;AACjE,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAOjD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB,CAAC,CAAC,SAAS,OAAO;WACvC,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAAC,CAAC,CAAC;IAOf,OAAO,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAG1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,EACV,MAAM,EACN,WAAW,EACX,OAAO,GACR,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;KACd;IAUD;;OAEG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAmEtE,iBAAiB,IAAI,MAAM;IAI3B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAIvC,UAAU,IAAI,CAAC,EAAE;CAgBzB"} | ||
| {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAyC,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAU7C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB,CAAC,CAAC,SAAS,OAAO;WACvC,KAAK,CAAC,CAAC,SAAS,OAAO,EACnC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KACjC,GACA,gBAAgB,CAAC,CAAC,CAAC;WA0FR,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAAC,CAAC,CAAC;IAoBf,OAAO,EAAE,UAAU,CAAC;IAGpB,OAAO,EAAE,WAAW,CAAC;IAE5B,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAG1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,EACV,MAAM,EACN,WAAW,EACX,OAAO,GACR,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;KACd;IAYD;;OAEG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAsEtE,iBAAiB,IAAI,MAAM;IAI3B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAWvC,UAAU,IAAI,CAAC,EAAE;CAezB"} |
@@ -9,8 +9,15 @@ "use strict"; | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const crc32_js_1 = __importDefault(require("../../crc32.js")); | ||
| const data_view_js_1 = require("../../data-view.js"); | ||
| // Empty filters is 4 bytes because we need at least one 32 bits number to keep | ||
| // track of the number of filters in the container. If there is no filter then | ||
| // the number will be 0. | ||
| const EMPTY_FILTERS = new Uint8Array(4); | ||
| // Serialized containers use this layout: | ||
| // [number of filters][N + 1 offsets][serialized filter bytes] | ||
| // Offsets are relative to the start of the serialized filter bytes. The table | ||
| // is required by #merge so serialized filter ranges can be hashed/copied | ||
| // without deserializing every source filter first. Offsets are encoded as | ||
| // regular uint32 values instead of a Uint32Array view so containers can be read | ||
| // from any parent-buffer offset. | ||
| /** | ||
@@ -23,5 +30,84 @@ * Generic filters container (for both CosmeticFilter and NetworkFilter | ||
| class FiltersContainer { | ||
| static merge(sources, opts) { | ||
| if (sources.length < 2) { | ||
| throw new Error('FiltersContainer.merge requires at least two source containers.'); | ||
| } | ||
| const firstSource = sources[0]; | ||
| let numberOfFilters = 0; | ||
| for (const source of sources) { | ||
| if (source.config.debug === true) { | ||
| // Filters-container merging deduplicates serialized filter bytes | ||
| // directly. Debug builds embed non-semantic data such as `rawLine` and | ||
| // domain debug parts in those bytes, so equivalent filters could hash | ||
| // differently. Supporting this would require deserializing filters and | ||
| // rebuilding semantic IDs, which defeats the purpose of this fast path. | ||
| throw new Error('FiltersContainer.merge requires debug=false for every source.'); | ||
| } | ||
| if (source.config.enableCompression !== firstSource.config.enableCompression) { | ||
| throw new Error('FiltersContainer.merge requires matching compression settings.'); | ||
| } | ||
| numberOfFilters += source.numberOfFilters; | ||
| } | ||
| // Fast exit if there are no filters to merge. | ||
| if (numberOfFilters === 0) { | ||
| return new FiltersContainer({ | ||
| config: firstSource.config, | ||
| deserialize: firstSource.deserialize, | ||
| filters: [], | ||
| }); | ||
| } | ||
| // See reverse-index.ts for additional notes regarding hash function. | ||
| const hashFunc = typeof opts?.hashFunc === 'function' ? opts.hashFunc : crc32_js_1.default; | ||
| const filtersByHash = new Map(); | ||
| // Recover serialized filter ranges from the offset table. The container | ||
| // stores N + 1 offsets for N filters; two consecutive offsets give the byte | ||
| // range of one filter relative to the start of the filters section. | ||
| for (const source of sources) { | ||
| if (source.numberOfFilters === 0) { | ||
| continue; | ||
| } | ||
| for (let i = 0, filterIndex, filterIndexEnd; i < source.numberOfFilters; i += 1) { | ||
| filterIndex = source.offsets[i]; | ||
| filterIndexEnd = source.offsets[i + 1]; | ||
| filtersByHash.set(hashFunc(source.filters, filterIndex, filterIndexEnd), source.filters.subarray(filterIndex, filterIndexEnd)); | ||
| } | ||
| } | ||
| // Rebuild a compact filters container from the deduplicated serialized | ||
| // filters. | ||
| let filtersIndexSize = 0; | ||
| for (const filter of filtersByHash.values()) { | ||
| filtersIndexSize += filter.byteLength; | ||
| } | ||
| const view = data_view_js_1.StaticDataView.allocate(filtersIndexSize, firstSource.config); | ||
| const offsets = new Uint32Array(filtersByHash.size + 1); | ||
| let index = 0; | ||
| for (const filter of filtersByHash.values()) { | ||
| offsets[index++] = view.pos; | ||
| view.buffer.set(filter, view.pos); | ||
| view.setPos(view.pos + filter.byteLength); | ||
| } | ||
| offsets[index] = view.getPos(); | ||
| const container = new FiltersContainer({ | ||
| config: firstSource.config, | ||
| deserialize: firstSource.deserialize, | ||
| filters: [], | ||
| }); | ||
| container.filters = view.subarray(); | ||
| container.offsets = offsets; | ||
| container.numberOfFilters = filtersByHash.size; | ||
| return container; | ||
| } | ||
| static deserialize(buffer, deserialize, config) { | ||
| const container = new FiltersContainer({ deserialize, config, filters: [] }); | ||
| container.filters = buffer.getBytes(); | ||
| const numberOfFilters = buffer.getUint32(); | ||
| container.numberOfFilters = numberOfFilters; | ||
| if (numberOfFilters !== 0) { | ||
| container.offsets = new Uint32Array(numberOfFilters + 1); | ||
| for (let i = 0; i < container.offsets.length; i += 1) { | ||
| container.offsets[i] = buffer.getUint32(); | ||
| } | ||
| const filtersIndexSize = container.offsets[numberOfFilters]; | ||
| container.filters = buffer.buffer.subarray(buffer.pos, buffer.pos + filtersIndexSize); | ||
| buffer.setPos(buffer.pos + filtersIndexSize); | ||
| } | ||
| return container; | ||
@@ -31,3 +117,5 @@ } | ||
| this.deserialize = deserialize; | ||
| this.filters = EMPTY_FILTERS; | ||
| this.filters = data_view_js_1.EMPTY_UINT8_ARRAY; | ||
| this.offsets = data_view_js_1.EMPTY_UINT32_ARRAY; | ||
| this.numberOfFilters = 0; | ||
| this.config = config; | ||
@@ -42,7 +130,2 @@ if (filters.length !== 0) { | ||
| update(newFilters, removedFilters) { | ||
| // Estimate size of the buffer we will need to store filters. This avoids | ||
| // having to allocate a big chunk of memory up-front if it's not needed. | ||
| // We start with the current size of `this.filters` then update it with | ||
| // removed/added filters. | ||
| let bufferSizeEstimation = this.filters.byteLength; | ||
| let selected = []; | ||
@@ -66,5 +149,2 @@ const compression = this.config.enableCompression; | ||
| } | ||
| else { | ||
| bufferSizeEstimation -= filter.getSerializedSize(compression); | ||
| } | ||
| } | ||
@@ -78,3 +158,2 @@ } | ||
| for (const filter of newFilters) { | ||
| bufferSizeEstimation += filter.getSerializedSize(compression); | ||
| selected.push(filter); | ||
@@ -86,8 +165,7 @@ } | ||
| if (selected.length === 0) { | ||
| this.filters = EMPTY_FILTERS; | ||
| this.filters = data_view_js_1.EMPTY_UINT8_ARRAY; | ||
| this.offsets = data_view_js_1.EMPTY_UINT32_ARRAY; | ||
| this.numberOfFilters = 0; | ||
| } | ||
| else if (storedFiltersAdded === true || storedFiltersRemoved === true) { | ||
| // Store filters in their compact form | ||
| const buffer = data_view_js_1.StaticDataView.allocate(bufferSizeEstimation, this.config); | ||
| buffer.pushUint32(selected.length); | ||
| // When we run in `debug` mode, we enable fully deterministic updates of | ||
@@ -99,18 +177,35 @@ // internal data-structure. To this effect, we sort all filters before | ||
| } | ||
| // Estimate size of the buffer we will need to store filters. | ||
| let bufferSizeEstimation = 0; | ||
| for (const filter of selected) { | ||
| filter.serialize(buffer); | ||
| bufferSizeEstimation += filter.getSerializedSize(compression); | ||
| } | ||
| // Store filters in their compact form | ||
| const buffer = data_view_js_1.StaticDataView.allocate(bufferSizeEstimation, this.config); | ||
| const offsets = new Uint32Array(selected.length + 1); | ||
| for (let i = 0; i < selected.length; i += 1) { | ||
| offsets[i] = buffer.getPos(); | ||
| selected[i].serialize(buffer); | ||
| } | ||
| offsets[selected.length] = buffer.getPos(); | ||
| // Update internals | ||
| this.filters = buffer.buffer; | ||
| this.filters = buffer.subarray(); | ||
| this.offsets = offsets; | ||
| this.numberOfFilters = selected.length; | ||
| } | ||
| } | ||
| getSerializedSize() { | ||
| return (0, data_view_js_1.sizeOfBytes)(this.filters, false /* no alignement */); | ||
| return 4 + this.offsets.byteLength + this.filters.byteLength; | ||
| } | ||
| serialize(buffer) { | ||
| buffer.pushBytes(this.filters); | ||
| buffer.pushUint32(this.numberOfFilters); | ||
| for (const offset of this.offsets) { | ||
| buffer.pushUint32(offset); | ||
| } | ||
| buffer.buffer.set(this.filters, buffer.pos); | ||
| buffer.setPos(buffer.pos + this.filters.byteLength); | ||
| } | ||
| getFilters() { | ||
| // No filter stored in the container | ||
| if (this.filters.byteLength <= 4) { | ||
| if (this.numberOfFilters === 0) { | ||
| return []; | ||
@@ -121,4 +216,3 @@ } | ||
| const buffer = data_view_js_1.StaticDataView.fromUint8Array(this.filters, this.config); | ||
| const numberOfFilters = buffer.getUint32(); | ||
| for (let i = 0; i < numberOfFilters; i += 1) { | ||
| for (let i = 0; i < this.numberOfFilters; i += 1) { | ||
| filters.push(this.deserialize(buffer)); | ||
@@ -125,0 +219,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAGH,qDAAiE;AAGjE,+EAA+E;AAC/E,8EAA8E;AAC9E,wBAAwB;AACxB,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAExC;;;;;GAKG;AACH,MAAqB,gBAAgB;IAC5B,MAAM,CAAC,WAAW,CACvB,MAAsB,EACtB,WAAwC,EACxC,MAAc;QAEd,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7E,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IASD,YAAY,EACV,MAAM,EACN,WAAW,EACX,OAAO,GAKR;QACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAe,EAAE,cAAuC;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,yBAAyB;QACzB,IAAI,oBAAoB,GAAW,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3D,IAAI,QAAQ,GAAQ,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAElD,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,oEAAoE;YACpE,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC9D,QAAQ,GAAG,cAAc,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,oEAAoE;gBACpE,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;oBACpC,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;wBACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;QAEvE,iBAAiB;QACjB,MAAM,uBAAuB,GAAW,QAAQ,CAAC,MAAM,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,uEAAuE;QACvE,MAAM,kBAAkB,GAAY,QAAQ,CAAC,MAAM,GAAG,uBAAuB,CAAC;QAE9E,0EAA0E;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QAC/B,CAAC;aAAM,IAAI,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACxE,sCAAsC;YACtC,MAAM,MAAM,GAAG,6BAAc,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEnC,wEAAwE;YACxE,sEAAsE;YACtE,aAAa;YACb,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAK,EAAE,EAAK,EAAU,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAED,mBAAmB;YACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/B,CAAC;IACH,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAA,0BAAW,EAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAEM,SAAS,CAAC,MAAsB;QACrC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,UAAU;QACf,oCAAoC;QACpC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,6BAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAlID,mCAkIC"} | ||
| {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":"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"} |
@@ -24,3 +24,4 @@ /*! | ||
| import PreprocessorBucket from './bucket/preprocessor.js'; | ||
| export declare const ENGINE_VERSION = 862; | ||
| import { MergeOptions } from './merger.js'; | ||
| export declare const ENGINE_VERSION = 864; | ||
| export interface BlockingResponse { | ||
@@ -114,9 +115,25 @@ match: boolean; | ||
| * | ||
| * Optionally, you can specify a second parameter to skip merging specific resources. | ||
| * If resource merging is skipped, the resulting engine will be assigned empty resources. | ||
| * Optionally, you can specify a second parameter to skip merging specific | ||
| * resources or override the resulting engine config. If resource merging is | ||
| * skipped, the resulting engine will be assigned empty resources. | ||
| * | ||
| * Set `useBinaryMerge` to use the byte-level merge path. This method is | ||
| * faster for large engines, but it has stricter requirements: source engines | ||
| * must not be built with `debug: true`, their compression settings must | ||
| * match, and the resulting engine cannot enable debug or compression through | ||
| * `overrideConfig`. | ||
| * | ||
| * When using `useBinaryMerge`, you can pass `hashFunc` to deduplicate | ||
| * serialized filters. Prefer a collision-resistant bigint or string hash for | ||
| * large merges; the built-in fallback is intended for convenience and does | ||
| * not provide strict collision-proof deduplication. | ||
| * | ||
| * Call `updateEnv` on the merged engine before use when preprocessor bindings | ||
| * should affect which filters are active. | ||
| * | ||
| * Binary merge skips buckets disabled by target load flags. It does not skip | ||
| * buckets for `loadExtendedSelectors`, `enableInMemoryCache`, or | ||
| * `enableOptimizations`, which do not represent whole filter categories. | ||
| */ | ||
| static merge<T extends typeof FilterEngine>(this: T, engines: InstanceType<T>[], { skipResources, overrideConfig, }?: { | ||
| skipResources?: boolean; | ||
| overrideConfig?: Partial<Config>; | ||
| }): InstanceType<T>; | ||
| static merge<T extends typeof FilterEngine>(this: T, engines: InstanceType<T>[], opts?: MergeOptions): InstanceType<T>; | ||
| static parse<T extends FilterEngine>(this: new (...args: any[]) => T, filters: string, options?: Partial<Config>): T; | ||
@@ -123,0 +140,0 @@ static deserialize<T extends FilterEngine>(this: new (...args: any[]) => T, serialized: Uint8Array): T; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":"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"} |
@@ -63,3 +63,4 @@ "use strict"; | ||
| const preprocessor_js_2 = __importDefault(require("./bucket/preprocessor.js")); | ||
| exports.ENGINE_VERSION = 862; | ||
| const merger_js_1 = require("./merger.js"); | ||
| exports.ENGINE_VERSION = 864; | ||
| function findApplicableHideException(filters) { | ||
@@ -173,80 +174,29 @@ if (filters.length === 0) { | ||
| * | ||
| * Optionally, you can specify a second parameter to skip merging specific resources. | ||
| * If resource merging is skipped, the resulting engine will be assigned empty resources. | ||
| * Optionally, you can specify a second parameter to skip merging specific | ||
| * resources or override the resulting engine config. If resource merging is | ||
| * skipped, the resulting engine will be assigned empty resources. | ||
| * | ||
| * Set `useBinaryMerge` to use the byte-level merge path. This method is | ||
| * faster for large engines, but it has stricter requirements: source engines | ||
| * must not be built with `debug: true`, their compression settings must | ||
| * match, and the resulting engine cannot enable debug or compression through | ||
| * `overrideConfig`. | ||
| * | ||
| * When using `useBinaryMerge`, you can pass `hashFunc` to deduplicate | ||
| * serialized filters. Prefer a collision-resistant bigint or string hash for | ||
| * large merges; the built-in fallback is intended for convenience and does | ||
| * not provide strict collision-proof deduplication. | ||
| * | ||
| * Call `updateEnv` on the merged engine before use when preprocessor bindings | ||
| * should affect which filters are active. | ||
| * | ||
| * Binary merge skips buckets disabled by target load flags. It does not skip | ||
| * buckets for `loadExtendedSelectors`, `enableInMemoryCache`, or | ||
| * `enableOptimizations`, which do not represent whole filter categories. | ||
| */ | ||
| static merge(engines, { skipResources = false, overrideConfig = {}, } = {}) { | ||
| if (!engines || engines.length < 2) { | ||
| throw new Error('merging engines requires at least two engines'); | ||
| static merge(engines, opts = {}) { | ||
| if (opts.useBinaryMerge === true) { | ||
| return (0, merger_js_1.binaryMerge)(this, engines, opts); | ||
| } | ||
| for (const engine of engines) { | ||
| if (engine.config.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`compression of all merged engines must match with the first one: "${engines[0].config.enableCompression}" but got: "${engine.config.enableCompression}"`); | ||
| } | ||
| } | ||
| const lists = new Map(); | ||
| const networkFilters = new Map(); | ||
| const cosmeticFilters = new Map(); | ||
| const preprocessors = []; | ||
| const metadata = { | ||
| organizations: {}, | ||
| categories: {}, | ||
| patterns: {}, | ||
| }; | ||
| for (const engine of engines) { | ||
| const filters = engine.getFilters(); | ||
| for (const networkFilter of filters.networkFilters) { | ||
| networkFilters.set(networkFilter.getId(), networkFilter); | ||
| } | ||
| for (const cosmeticFilter of filters.cosmeticFilters) { | ||
| cosmeticFilters.set(cosmeticFilter.getId(), cosmeticFilter); | ||
| } | ||
| for (const preprocessor of engine.preprocessors.preprocessors) { | ||
| preprocessors.push(preprocessor); | ||
| } | ||
| for (const [key, value] of engine.lists) { | ||
| if (lists.has(key)) { | ||
| continue; | ||
| } | ||
| lists.set(key, value); | ||
| } | ||
| if (engine.metadata !== undefined) { | ||
| for (const organization of engine.metadata.organizations.getValues()) { | ||
| if (metadata.organizations[organization.key] === undefined) { | ||
| metadata.organizations[organization.key] = organization; | ||
| } | ||
| } | ||
| for (const category of engine.metadata.categories.getValues()) { | ||
| if (metadata.categories[category.key] === undefined) { | ||
| metadata.categories[category.key] = category; | ||
| } | ||
| } | ||
| for (const pattern of engine.metadata.patterns.getValues()) { | ||
| if (metadata.patterns[pattern.key] === undefined) { | ||
| metadata.patterns[pattern.key] = pattern; | ||
| } | ||
| } | ||
| } | ||
| } | ||
| const engine = new this({ | ||
| networkFilters: Array.from(networkFilters.values()), | ||
| cosmeticFilters: Array.from(cosmeticFilters.values()), | ||
| preprocessors, | ||
| lists, | ||
| config: new config_js_1.default({ ...engines[0].config, ...overrideConfig }), | ||
| }); | ||
| if (Object.keys(metadata.categories).length + | ||
| Object.keys(metadata.organizations).length + | ||
| Object.keys(metadata.patterns).length !== | ||
| 0) { | ||
| engine.metadata = new metadata_js_1.Metadata(metadata); | ||
| } | ||
| if (skipResources !== true) { | ||
| for (const engine of engines.slice(1)) { | ||
| if (engine.resources.checksum !== engines[0].resources.checksum) { | ||
| throw new Error(`resource checksum of all merged engines must match with the first one: "${engines[0].resources.checksum}" but got: "${engine.resources.checksum}"`); | ||
| } | ||
| } | ||
| engine.resources = resources_js_1.default.copy(engines[0].resources); | ||
| } | ||
| return engine; | ||
| return (0, merger_js_1.legacyMerge)(this, engines, opts); | ||
| } | ||
@@ -253,0 +203,0 @@ static parse(filters, options = {}) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGH,qDAAuD;AAEvD,6DAAkC;AAClC,kDAAsF;AACtF,4CAA4C;AAC5C,0CAOqB;AAErB,wDAA2E;AAE3E,8CAA0C;AAC1C,0CAAmF;AACnF,+DAAoC;AACpC,mEAAwC;AACxC,uEAAwD;AACxD,qEAAsD;AACtD,+DAA0C;AAC1C,+CAA+D;AAC/D,sEAAuD;AACvD,+EAA0D;AAM7C,QAAA,cAAc,GAAG,GAAG,CAAC;AAElC,SAAS,2BAA2B,CAAC,OAAwB;IAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,2CAA2C;IAC3C,uCAAuC;IACvC,IAAI,UAAqC,CAAC;IAC1C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,8EAA8E;QAC9E,4CAA4C;QAC5C,iDAAiD;QACjD,iDAAiD;QACjD,MAAM,KAAK,GAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEtF,iCAAiC;QACjC,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAC1B,YAAY,GAAG,KAAK,CAAC;YACrB,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;QACvC,OAAO;IACT,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAgED,MAAqB,YAAa,SAAQ,wBAAiC;IACjE,MAAM,CAAC,UAAU,CAEvB,IAAoC,EACpC,OAAiB;QAEjB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC;aACd,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAoB,CAAC;aAC7D,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC9F,CAAC;IAEM,MAAM,CAAC,KAAK,CAEjB,SAA0B,EAAE;QAE5B,OAAO,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,SAAS,CAErB,KAAY,EACZ,IAAc,EACd,SAA0B,EAAE,EAC5B,OAAiB;QAEjB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,MAAM,aAAa,GAAG,IAAA,qBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,MAAM,gBAAgB,GAAG,IAAA,yBAAc,EAAC,KAAK,CAAC,CAAC;YAE/C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;gBAChF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;gBACpD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC3D,CAAC;gBAED,OAAO,MAAyB,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,mBAAmB,CAE/B,YAAmB,KAAK,EACxB,OAAiB;QAEjB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,mBAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,0BAA0B,CAEtC,YAAmB,KAAK,EACxB,OAAiB;QAEjB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,8BAAmB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,gBAAgB,CAE5B,YAAmB,KAAK,EACxB,OAAiB;QAEjB,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,oBAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,aAAa,CAEzB,WAAgB,EAChB,UAA2B,EAAE;QAE7B,MAAM,MAAM,GAAG,IAAI,mBAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,sBAAQ,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE3B,OAAO,MAAyB,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,MAAM,CAAC,KAAK,CAEjB,OAA0B,EAC1B,EACE,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,EAAE,MAIjB,EAAE;QAEN,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC5E,MAAM,IAAI,KAAK,CACb,qEAAqE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,eAAe,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,CAC1J,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAExB,MAAM,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;QAC7D,MAAM,eAAe,GAAgC,IAAI,GAAG,EAAE,CAAC;QAC/D,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,MAAM,QAAQ,GAIV;YACF,aAAa,EAAE,EAAE;YACjB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAEpC,KAAK,MAAM,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBACnD,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,aAAa,CAAC,CAAC;YAC3D,CAAC;YAED,KAAK,MAAM,cAAc,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBACrD,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;YAC9D,CAAC;YAED,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;gBAC9D,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnC,CAAC;YAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,SAAS;gBACX,CAAC;gBAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC;oBACrE,IAAI,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBAC3D,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC9D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBACpD,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC;oBAC3D,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;wBACjD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC;YACtB,cAAc,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YACnD,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;YACrD,aAAa;YAEb,KAAK;YACL,MAAM,EAAE,IAAI,mBAAM,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;SAChE,CAAoB,CAAC;QAEtB,IACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM;YACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,MAAM;YAC1C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM;YACvC,CAAC,EACD,CAAC;YACD,MAAM,CAAC,QAAQ,GAAG,IAAI,sBAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBAChE,MAAM,IAAI,KAAK,CACb,2EAA2E,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,eAAe,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,CACpJ,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,CAAC,SAAS,GAAG,sBAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,KAAK,CAEjB,OAAe,EACf,UAA2B,EAAE;QAE7B,MAAM,MAAM,GAAG,IAAI,mBAAM,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,IAAI,CAAC;YACd,GAAG,IAAA,uBAAY,EAAC,OAAO,EAAE,MAAM,CAAC;YAChC,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,WAAW,CAEvB,UAAsB;QAEtB,MAAM,MAAM,GAAG,6BAAc,CAAC,cAAc,CAAC,UAAU,EAAE;YACvD,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QAEH,wEAAwE;QACxE,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,uBAAuB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,sBAAc,KAAK,uBAAuB,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,gDAAgD,sBAAc,YAAY,uBAAuB,EAAE,CACpG,CAAC;QACJ,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GAAG,mBAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE1C,iCAAiC;QACjC,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC;QAED,uEAAuE;QACvE,uEAAuE;QACvE,WAAW;QACX,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;YAC9B,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,iDAAiD,QAAQ,YAAY,QAAQ,EAAE,CAChF,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAEpC,wBAAwB;QACxB,MAAM,CAAC,SAAS,GAAG,sBAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEjD,oBAAoB;QACpB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,4BAA4B;QAC5B,MAAM,CAAC,aAAa,GAAG,yBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE9D,sBAAsB;QACtB,MAAM,CAAC,UAAU,GAAG,oBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,SAAS,GAAG,oBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACnE,MAAM,CAAC,YAAY,GAAG,oBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,CAAC,OAAO,GAAG,oBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,GAAG,oBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpE,MAAM,CAAC,GAAG,GAAG,oBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,SAAS,GAAG,qBAAoB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,cAAc,GAAG,oBAAmB,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAExE,MAAM,CAAC,WAAW,GAAG,iBAAU,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAE5D,kCAAkC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,QAAQ,GAAG,sBAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElB,OAAO,MAAM,CAAC;IAChB,CAAC;IAoBD,YAAY;IACV,gDAAgD;IAChD,eAAe,GAAG,EAAE,EACpB,cAAc,GAAG,EAAE,EACnB,aAAa,GAAG,EAAE,EAElB,MAAM,GAAG,IAAI,mBAAM,EAAE,EACrB,KAAK,GAAG,IAAI,GAAG,EAAE,MAOf,EAAE;QACJ,KAAK,EAAE,CAAC,CAAC,gCAAgC;QAEzC,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAM,CAAC,MAAM,CAAC,CAAC;QAEjC,+CAA+C;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,gBAAgB;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,yBAAkB,CAAC,EAAE,CAAC,CAAC;QAEhD,QAAQ;QACR,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,YAAY;QACZ,eAAe;QACf,gBAAgB;QAChB,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,WAAW;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,aAAa;QACb,IAAI,CAAC,UAAU,GAAG,IAAI,oBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,YAAY;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAClE,eAAe;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,oBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,oBAAoB;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAmB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,mBAAmB;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAoB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,eAAe;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,aAAa;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAS,EAAE,CAAC;QAEjC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC;gBACV,kBAAkB,EAAE,eAAe;gBACnC,iBAAiB,EAAE,cAAc;gBACjC,gBAAgB,EAAE,aAAa;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,MAAe;QACtC,OAAO,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAEM,SAAS,CAAC,GAAQ;QACvB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,iBAAiB;QACtB,IAAI,aAAa,GACf,IAAA,yBAAU,GAAE,GAAG,CAAC,GAAG,iBAAiB;YACpC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;YAChC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;YACnC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;YAClC,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;YACrC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE;YAC5B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE;YAClC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE;YACvC,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACpC,CAAC,CAAC,CAAC,WAAW;QAEhB,oFAAoF;QACpF,aAAa,IAAI,IAAA,yBAAU,GAAE,GAAG,CAAC,CAAC,CAAC,YAAY;QAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC1C,aAAa,IAAI,IAAA,0BAAW,EAAC,IAAI,CAAC,GAAG,IAAA,0BAAW,EAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;QAED,aAAa,IAAI,IAAA,yBAAU,GAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;QACrD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,KAAkB;QACjC,MAAM,MAAM,GAAG,6BAAc,CAAC,cAAc,CAC1C,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EACjD,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,sBAAc,CAAC,CAAC;QAElC,SAAS;QACT,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9B,4BAA4B;QAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEjC,qDAAqD;QACrD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACpE,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErC,kBAAkB;QAClB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAElC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEnC,gCAAgC;QAChC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAEM,OAAO,CAAC,IAAY,EAAE,QAAgB;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,IAAY,EAAE,QAAgB;QACnD,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,sBAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,MAAM,eAAe,GAAqB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QACtE,MAAM,cAAc,GAAoB;YACtC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC5B,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC/B,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC/B,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YAC9B,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;YACxB,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;YACnC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;SAClC,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC7B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,MAAM,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO;YACL,eAAe;YACf,cAAc;SACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CACX,EACE,iBAAiB,GAAG,EAAE,EACtB,kBAAkB,GAAG,EAAE,EACvB,gBAAgB,GAAG,EAAE,EACrB,sBAAsB,GAAG,EAAE,EAC3B,qBAAqB,GAAG,EAAE,EAC1B,oBAAoB,GAAG,EAAE,GACN,EACrB,MAAW,IAAI,qBAAG,EAAE;QAEpB,IAAI,OAAO,GAAY,KAAK,CAAC;QAE7B,uBAAuB;QACvB,IACE,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAC7B,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,CAAC,EACpE,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,MAAM,CACvB;gBACE,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,oBAAoB;aAC9B,EACD,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAuC,EAAE,CAAC;QAE3D,0BAA0B;QAC1B,IACE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAC/B,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAC,EACxE,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,eAAe,GAAqB,EAAE,CAAC;YAE7C,KAAK,MAAM,MAAM,IAAI,kBAAkB,EAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;oBAC7B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,CACnB,eAAe,EACf,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,sBAAsB,CAAC,EACjF,IAAI,CAAC,MAAM,CACZ,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,IACE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAC9B,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,CAAC,EACtE,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,OAAO,GAAoB,EAAE,CAAC;YACpC,MAAM,GAAG,GAAoB,EAAE,CAAC;YAChC,MAAM,UAAU,GAAoB,EAAE,CAAC;YACvC,MAAM,UAAU,GAAoB,EAAE,CAAC;YACvC,MAAM,SAAS,GAAoB,EAAE,CAAC;YACtC,MAAM,YAAY,GAAoB,EAAE,CAAC;YACzC,MAAM,cAAc,GAAoB,EAAE,CAAC;YAE3C,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;gBACvC,6DAA6D;gBAC7D,qEAAqE;gBACrE,qEAAqE;gBACrE,+BAA+B;gBAC/B,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;oBACnB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;qBAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;oBACxC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,MAAM,CAAC,aAAa,EAAE,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC7D,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAChC,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;wBAC3B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;qBAAM,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;oBAChC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;qBAAM,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC/B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;oBAClC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,MAAM,wBAAwB,GAC5B,qBAAqB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAElF,0BAA0B;YAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAEvD,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;QACvE,CAAC;QAED,IACE,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAC/B,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBACvB,qBAAqB,CAAC,MAAM,KAAK,CAAC;gBAClC,sBAAsB,CAAC,MAAM,KAAK,CAAC,CAAC,EACtC,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,qBAAqB,EAAE,GAAG,sBAAsB,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAmB,EAAE,GAAS;QACjF,MAAM,kBAAkB,GAAqB,EAAE,CAAC;QAChD,MAAM,iBAAiB,GAAoB,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAmB,EAAE,CAAC;QAC5C,MAAM,sBAAsB,GAAqB,EAAE,CAAC;QACpD,MAAM,qBAAqB,GAAoB,EAAE,CAAC;QAClD,MAAM,oBAAoB,GAAmB,EAAE,CAAC;QAEhD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAA,uBAAY,EAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1F,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,eAAe,CAAC,CAAC;YACpE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAA,uBAAY,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACxF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAChE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjE,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAClE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAA,uBAAY,EACtD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1B,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACtB,EAAe;yBACb,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;yBACvD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAC1D,CAAC;oBAEF,oBAAoB,CAAC,IAAI,CACvB,IAAI,yBAAY,CAAC;wBACf,SAAS;wBACT,SAAS;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9D,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,IAAA,uBAAY,EACtD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,IAAI,CAAC,MAAM,CACZ,CAAC;oBACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACtB,EAAe;yBACb,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;yBACvD,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAC1D,CAAC;oBAEF,gBAAgB,CAAC,IAAI,CACnB,IAAI,yBAAY,CAAC;wBACf,SAAS;wBACT,SAAS;qBACV,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAChB;YACE,kBAAkB;YAClB,iBAAiB;YACjB,gBAAgB;YAChB,sBAAsB,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACpE,qBAAqB,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAClE,oBAAoB;SACrB,EACD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,OAAgB;QACpC,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,GAC5D,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7E,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAEnF,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;gBAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,SAAS;gBACX,CAAC;gBACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,EAC7B;oBACE,OAAO;oBACP,UAAU,EAAE,qBAAU,CAAC,QAAQ;iBAChC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YAChC,IAAI,wBAAwB,CAAC;YAC7B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC1C,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBACvB,wBAAwB,GAAG,SAAS,CAAC;oBACrC,MAAM;gBACR,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YAC5C,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;gBAE1C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,SAAS;gBACX,CAAC;gBAED,MAAM,SAAS,GAAG,wBAAwB,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAEpF,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,EAAE,MAAM,EAAE,SAAS,EAAE,EACrB;oBACE,OAAO;oBACP,UAAU,EAAE,qBAAU,CAAC,OAAO;iBAC/B,CACF,CAAC;gBAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC;IACzB,mBAAmB;IACnB,GAAG,EACH,QAAQ,EACR,MAAM,EACN,SAAS;IAET,kBAAkB;IAClB,OAAO,EACP,KAAK,EACL,GAAG;IAEH,0CAA0C;IAC1C,YAAY,GAAG,IAAI,EACnB,iBAAiB,GAAG,IAAI,EACxB,gBAAgB,GAAG,IAAI,EACvB,eAAe,GAAG,IAAI,EACtB,oBAAoB,GAAG,IAAI,EAE3B,WAAW,EACX,aAAa,GAmBd;QACC,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC/D,GAAG;YACH,QAAQ;YACR,MAAM;YACN,SAAS;YACT,OAAO;YACP,KAAK;YACL,GAAG;YACH,eAAe;YACf,oBAAoB;YACpB,iBAAiB;YACjB,gBAAgB;YAChB,aAAa;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,OAAO,EAAE,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;YACxE,GAAG;YACH,gBAAgB,EAAE,iBAAiB;YACnC,cAAc,EAAE,gBAAgB;YAChC,iBAAiB;YACjB,YAAY;YACZ,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,QAAQ;YACR,OAAO;YACP,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,qBAAqB,CAC1B,OAAyB,EACzB,EACE,GAAG,EAEH,YAAY,GAAG,IAAI,EACnB,gBAAgB,EAChB,cAAc,EAEd,iBAAiB,GAAG,IAAI,EACxB,YAAY,EACZ,WAAW,GAWZ;QAMD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,eAAe,GAAG,EAAE,CAAC;QAE3B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,gBAAgB,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC/B,IAAI,cAAc,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;oBACjE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;iBAAM,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAC1D;YACE,OAAO,EAAE,YAAY;YACrB,eAAe;SAChB,EACD,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,CACjD,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO;YACP,MAAM,EAAE,WAAW,CAAC,UAAU;SAC/B,CAAC;IACJ,CAAC;IAEM,oBAAoB,CAAC;IAC1B,mBAAmB;IACnB,GAAG,EACH,QAAQ,EACR,MAAM,EACN,SAAS;IAET,kBAAkB;IAClB,OAAO,EACP,KAAK,EACL,GAAG,EAEH,eAAe,GAAG,IAAI,EACtB,oBAAoB,GAAG,IAAI,EAC3B,iBAAiB,EACjB,gBAAgB,EAEhB,aAAa,GAiBd;QAaC,MAAM,KAAN,MAAM,GAAK,EAAE,EAAC;QAEd,MAAM,OAAO,GAAgE,EAAE,CAAC;QAChF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAC7C,oBAAO,CAAC,cAAc,CAAC;YACrB,MAAM;YACN,QAAQ;YACR,GAAG;YAEH,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;SACd,CAAC,EACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAC;QAEF,MAAM,YAAY,GAAoB,EAAE,CAAC;QACzC,MAAM,aAAa,GAAoB,EAAE,CAAC;QAC1C,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,+DAA+D;YAC/D,gHAAgH;YAChH,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC5B,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC;gBAC3B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,qBAAqB,GAAG,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAEzE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG;gBACZ,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,oBAAoB;aAChC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE;gBACjC,GAAG;gBACH,aAAa;gBACb,UAAU,EAAE,qBAAU,CAAC,QAAQ;aAChC,CAAC,CAAC;QACL,CAAC;QAED,IACE,qBAAqB,KAAK,SAAS;YACnC,qEAAqE;YACrE,oBAAoB,KAAK,qBAAqB,EAC9C,CAAC;YACD,MAAM,KAAK,GAAG;gBACZ,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,qBAAqB;aACjC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE;gBACjC,GAAG;gBACH,aAAa;gBACb,UAAU,EAAE,qBAAU,CAAC,QAAQ;aAChC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC;YAC9D,MAAM;YACN,QAAQ;YACR,SAAS;YAET,OAAO;YACP,KAAK;YACL,GAAG;YAEH,iBAAiB,EAAE,oBAAoB,KAAK,SAAS;YACrD,kBAAkB,EAAE,qBAAqB,KAAK,SAAS;YAEvD,eAAe;YACf,oBAAoB;YAEpB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;SACnD,CAAC,CAAC;QAEH,IAAI,wBAAwB,GAA+B,SAAS,CAAC;QACrE,MAAM,gBAAgB,GAAgC,IAAI,GAAG,EAAE,CAAC;QAEhE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IACE,MAAM,CAAC,cAAc,EAAE,KAAK,IAAI;gBAChC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI;gBAC1B,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,CAAC,EACjC,CAAC;gBACD,wBAAwB,GAAG,MAAM,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,GAAG,CAClB,IAAA,+BAAiB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EACxF,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;gBACtD,SAAS;YACX,CAAC;YAED,IAAI,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAClC,IAAA,+BAAiB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CACzF,CAAC;YAEF,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC5B,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;oBAC3C,SAAS,GAAG,wBAAwB,CAAC;gBACvC,CAAC;gBACD,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;oBAChC,SAAS;gBACX,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YAEpC,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB;gBACE,MAAM;gBACN,SAAS;aACV,EACD;gBACE,GAAG;gBACH,aAAa;gBACb,UAAU,EAAE,qBAAU,CAAC,QAAQ;aAChC,CACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO;YACP,iBAAiB,EAAE,oBAAoB,KAAK,SAAS;SACtD,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,OAAgB;QAC9B,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACxB,OAAO,EACP,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACxB,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACjE,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACxB,OAAO,EACP,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACpE,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACxB,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC7D,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACxB,OAAO,EACP,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;YACF,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CACxB,OAAO,EACP,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,OAAgB;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,KAAK,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;YACpE,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7E,uBAAuB;QACvB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,0DAA0D;QAC1D,MAAM,aAAa,GAA2C,IAAI,GAAG,EAAE,CAAC;QACxE,MAAM,UAAU,GAAoB,EAAE,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBAC7B,gDAAgD;oBAChD,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,EAAE,SAAS,EAAE,MAAM,EAAE,EACrB,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAU,CAAC,OAAO,EAAE,CAC5C,CAAC;oBACF,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAE7B,kDAAkD;QAClD,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,EAAE,MAAM,EAAE,SAAS,EAAE,EACrB,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAU,CAAC,OAAO,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAgB,EAAE,eAAoC,KAAK;QACtE,MAAM,MAAM,GAAqB;YAC/B,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,SAAS;SACpB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACxB,4CAA4C;YAC5C,4CAA4C;YAC5C,sCAAsC;YACtC,oBAAoB;YACpB,gBAAgB;YAChB,iCAAiC;YACjC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEjF,IAAI,YAAuC,CAAC;YAC5C,IAAI,YAAuC,CAAC;YAE5C,sEAAsE;YACtE,sEAAsE;YACtE,6DAA6D;YAC7D,iBAAiB;YACjB,EAAE;YACF,0DAA0D;YAC1D,+EAA+E;YAC/E,yCAAyC;YACzC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;qBAC7B,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpD,uBAAuB;qBACtB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAErE,yDAAyD;gBACzD,mCAAmC;gBACnC,EAAE;gBACF,0DAA0D;gBAC1D,+EAA+E;gBAC/E,yCAAyC;gBACzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;wBAC/B,IAAI,MAAM,CAAC,mBAAmB,EAAE,KAAK,MAAM,EAAE,CAAC;4BAC5C,YAAY,GAAG,MAAM,CAAC;wBACxB,CAAC;6BAAM,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;4BACnC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gCAC/B,YAAY,GAAG,MAAM,CAAC;4BACxB,CAAC;wBACH,CAAC;6BAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;4BACvC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;wBACzB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,mEAAmE;gBACnE,SAAS;gBACT,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAE9E,mEAAmE;oBACnE,6DAA6D;oBAC7D,8BAA8B;oBAC9B,IAAI,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC9D,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,mEAAmE;gBACnE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtF,CAAC;gBAED,sEAAsE;gBACtE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC3D,IACE,yBAAyB,KAAK,CAAC,CAAC;wBAChC,yBAAyB,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EACpD,CAAC;wBACD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;wBACxE,MAAM,YAAY,GAAG,IAAI,4BAAe,CAAC,kBAAkB,CAAC,CAAC;wBAC7D,IAAI,QAAQ,GAAG,KAAK,CAAC;wBAErB,+BAA+B;wBAC/B,yCAAyC;wBACzC,uCAAuC;wBACvC,2CAA2C;wBAC3C,yCAAyC;wBACzC,MAAM,kBAAkB,GAA+B,IAAI,GAAG,EAAE,CAAC;wBACjE,MAAM,qBAAqB,GAA+B,IAAI,GAAG,EAAE,CAAC;wBACpE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC7C,OAAO,EACP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,EAAE,CAAC;4BACF,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gCACzB,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAY,EAAE,MAAM,CAAC,CAAC;4BACzD,CAAC;iCAAM,CAAC;gCACN,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAY,EAAE,MAAM,CAAC,CAAC;4BACtD,CAAC;wBACH,CAAC;wBACD,MAAM,uBAAuB;wBAC3B,oFAAoF;wBACpF,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS;4BAC1B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAClE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAEzD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;4BAC/C,sDAAsD;4BACtD,oFAAoF;4BACpF,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;gCACf,2EAA2E;gCAC3E,IAAI,uBAAuB,KAAK,SAAS,EAAE,CAAC;oCAC1C,kEAAkE;oCAClE,0EAA0E;oCAC1E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wCAClD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oCAC3B,CAAC;oCACD,QAAQ,GAAG,IAAI,CAAC;gCAClB,CAAC;gCACD,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,EAAE,MAAM,EAAE,SAAS,EAAE,uBAAuB,EAAE,EAC9C,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAU,CAAC,OAAO,EAAE,CAC5C,CAAC;gCACF,MAAM;4BACR,CAAC;4BAED,IACE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gCACpB,iCAAiC;gCACjC,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG;gCACnD,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,GAAG,EAAE,CAAC,EACvC,CAAC;gCACD,SAAS;4BACX,CAAC;4BAED,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,uBAAuB,CAAC;4BAC5E,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gCAC5B,iCAAiC;gCACjC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oCACxB,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oCAClC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;wCACpD,IAAI,KAAK,KAAK,YAAY,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4CAChE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4CAC3B,QAAQ,GAAG,IAAI,CAAC;wCAClB,CAAC;oCACH,CAAC;gCACH,CAAC;qCAAM,CAAC;oCACN,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oCACzB,QAAQ,GAAG,IAAI,CAAC;gCAClB,CAAC;4BACH,CAAC;4BACD,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,EAAE,MAAM,EAAE,SAAS,EAAE,EACrB,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAU,CAAC,OAAO,EAAE,CAC5C,CAAC;wBACJ,CAAC;wBAED,IAAI,QAAQ,EAAE,CAAC;4BACb,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;4BAC1D,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gCAC1B,GAAG,IAAI,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;4BACvC,CAAC;4BAED,MAAM,CAAC,OAAO,GAAG;gCACf,GAAG;6BACJ,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oEAAoE;YACpE,gEAAgE;YAChE,EAAE;YACF,kFAAkF;YAClF,uEAAuE;YACvE,oEAAoE;YACpE,IACE,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC3B,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAC1B,CAAC;gBACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAE7E,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,EACtD,EAAE,OAAO,EAAE,UAAU,EAAE,qBAAU,CAAC,OAAO,EAAE,CAC5C,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1E,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,kBAAkB,CACvB,OAAgB,EAChB,EAAE,iBAAiB,GAAG,KAAK,EAAE,GAAG,EAAE;QAElC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/C,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/C,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,cAAc,CAAC;YAClB,KAAK,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC/D,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC;YAClB,KAAK,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC;YAClB,KAAK,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;SACvD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC;YAClB,KAAK,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,cAAc,CAAC;YAClB,KAAK,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,cAAc,CAAC;YAClB,KAAK,EAAE,CAAC,IAAA,cAAK,GAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;SACrC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtkDD,+BAskDC"} | ||
| {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":"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"} |
@@ -11,2 +11,3 @@ /*! | ||
| import IFilter from '../filters/interface.js'; | ||
| import { type HashFunc } from './merger.js'; | ||
| export declare function nextPow2(v: number): number; | ||
@@ -61,2 +62,5 @@ /** | ||
| export default class ReverseIndex<T extends IFilter> { | ||
| static merge<T extends IFilter>(sources: ReverseIndex<T>[], config: Config, optimize: (filters: T[]) => T[], opts?: { | ||
| hashFunc?: HashFunc | undefined; | ||
| }): ReverseIndex<T>; | ||
| static deserialize<T extends IFilter>(buffer: StaticDataView, deserialize: (view: StaticDataView) => T, optimize: (filters: T[]) => T[], config: Config): ReverseIndex<T>; | ||
@@ -63,0 +67,0 @@ private bucketsIndex; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"reverse-index.d.ts","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAmC,MAAM,iBAAiB,CAAC;AAClF,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAG9C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1C;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,CAAC,SAAS,OAAO;WACnC,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAC/B,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,CAAC,CAAC;IAgElB,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,IAAI,CAAiB;IAM7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAQ3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAShE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,GACP,EAAE;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;KAChB;IAWD;;;;OAIG;IACI,UAAU,IAAI,CAAC,EAAE;IAmBxB;;OAEG;IACI,SAAS,IAAI,WAAW;IAU/B;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAKlC;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAS9C;;;;;;;;OAQG;IACI,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI;IAiB5E;;;;;OAKG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAuL7E,OAAO,CAAC,eAAe;IAsBvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CAoFnB"} | ||
| {"version":3,"file":"reverse-index.d.ts","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,cAAc,EAAmC,MAAM,iBAAiB,CAAC;AAClF,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1C;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,CAAC,SAAS,OAAO;WACnC,KAAK,CAAC,CAAC,SAAS,OAAO,EACnC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAC/B,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KACjC,GACA,YAAY,CAAC,CAAC,CAAC;WAsMJ,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAC/B,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,CAAC,CAAC;IAgElB,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,IAAI,CAAiB;IAM7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAQ3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAShE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,GACP,EAAE;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;KAChB;IAWD;;;;OAIG;IACI,UAAU,IAAI,CAAC,EAAE;IAmBxB;;OAEG;IACI,SAAS,IAAI,WAAW;IAU/B;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAKlC;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAS9C;;;;;;;;OAQG;IACI,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI;IAiB5E;;;;;OAKG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAuL7E,OAAO,CAAC,eAAe;IAsBvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CAoFnB"} |
@@ -9,4 +9,8 @@ "use strict"; | ||
| */ | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.nextPow2 = nextPow2; | ||
| const crc32_js_1 = __importDefault(require("../crc32.js")); | ||
| const data_view_js_1 = require("../data-view.js"); | ||
@@ -84,2 +88,156 @@ // https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 | ||
| class ReverseIndex { | ||
| static merge(sources, config, optimize, opts) { | ||
| if (sources.length < 2) { | ||
| throw new Error('ReverseIndex.merge requires at least two source indexes.'); | ||
| } | ||
| const firstSource = sources[0]; | ||
| for (const source of sources) { | ||
| if (source.config.debug === true) { | ||
| // Reverse-index merging deduplicates serialized filter bytes directly. | ||
| // Debug builds embed non-semantic data such as `rawLine` and domain | ||
| // debug parts in those bytes, so equivalent filters could hash | ||
| // differently. Supporting this would require deserializing filters and | ||
| // rebuilding semantic IDs, which defeats the purpose of this fast path. | ||
| throw new Error('ReverseIndex.merge requires debug=false for every source.'); | ||
| } | ||
| if (source.config.enableCompression !== firstSource.config.enableCompression) { | ||
| throw new Error('ReverseIndex.merge requires matching compression settings.'); | ||
| } | ||
| } | ||
| if (config.debug === true) { | ||
| throw new Error('ReverseIndex.merge requires debug=false for target config.'); | ||
| } | ||
| if (config.enableCompression !== firstSource.config.enableCompression) { | ||
| throw new Error('ReverseIndex.merge requires target config compression to match sources.'); | ||
| } | ||
| // Fast exit if there are no filters to merge. | ||
| const numberOfFilters = sources.reduce((total, source) => total + source.numberOfFilters, 0); | ||
| if (numberOfFilters === 0) { | ||
| return new ReverseIndex({ | ||
| config, | ||
| deserialize: firstSource.deserializeFilter, | ||
| filters: [], | ||
| optimize, | ||
| }); | ||
| } | ||
| // `crc32` is used as a built-in hash function as they're already embedded | ||
| // in the library. As 32bit hash functions will have a lot of collision | ||
| // after ~130k of inputs, so they're not really recommended. Always | ||
| // implement the hash function in the below priority table. Do allocate the | ||
| // function before going to heavy loop. | ||
| // a) a function returns BigInt (low memory pressure and collision) | ||
| // b) a function returns number (in case of <130k input) | ||
| // c) a function returns string (high memory pressure) | ||
| // Hash-collision resistance is delegated to the caller-provided `hashFunc`. | ||
| // Use a collision-resistant string or bigint hash when merging large | ||
| // indexes; the built-in crc32 fallback is intended for convenience, not | ||
| // strict collision-proof deduplication. | ||
| const hashFunc = typeof opts?.hashFunc === 'function' ? opts.hashFunc : crc32_js_1.default; | ||
| const filtersByHash = new Map(); | ||
| // Recover serialized filter ranges from bucket pointers. The bucket index | ||
| // stores absolute offsets into `source.view.buffer`; sorting unique offsets | ||
| // gives filter starts, and the next offset gives the previous filter end. | ||
| for (let sourceIndex = 0; sourceIndex < sources.length; sourceIndex += 1) { | ||
| const source = sources[sourceIndex]; | ||
| const tokensByOffset = new Map(); | ||
| for (let i = 1; i < source.bucketsIndex.length; i += 2) { | ||
| const arr = tokensByOffset.get(source.bucketsIndex[i]); | ||
| if (typeof arr === 'undefined') { | ||
| tokensByOffset.set(source.bucketsIndex[i], [source.bucketsIndex[i - 1]]); | ||
| } | ||
| else { | ||
| arr.push(source.bucketsIndex[i - 1]); | ||
| } | ||
| } | ||
| if (tokensByOffset.size !== source.numberOfFilters) { | ||
| // Normal NetworkFilter/CosmeticFilter instances are indexed at least | ||
| // once; filters without concrete tokens use the wildcard token 0 via | ||
| // `[Uint32Array(0)]`. If a custom or malformed filter returns strict | ||
| // `[]`, it is serialized but has no bucket pointer, so this merge path | ||
| // cannot infer its byte range from the reverse-index alone. | ||
| throw new Error(`ReverseIndex.merge cannot infer filter byte ranges for source ${sourceIndex}: ${source.numberOfFilters} filters were serialized, but only ${tokensByOffset.size} have bucket entries.`); | ||
| } | ||
| // We need to sort the collected offsets because their order is not | ||
| // ensured. | ||
| const aligned = Array.from(tokensByOffset.keys()).sort(function (a, b) { | ||
| return a - b; | ||
| }); | ||
| aligned.push(source.view.buffer.byteLength); | ||
| // Hash each serialized filter range and keep one representative per hash. | ||
| // This contributes to the memory pressure rather saving the full buffer | ||
| // with other data types. | ||
| for (let i = 1, hash, tokens, filter; i < aligned.length; i++) { | ||
| hash = hashFunc(source.view.buffer, aligned[i - 1], aligned[i]); | ||
| tokens = tokensByOffset.get(aligned[i - 1]); | ||
| filter = filtersByHash.get(hash); | ||
| // Token policy for duplicated serialized filters: | ||
| // - Keep the fast compact merge path as the default. | ||
| // - Preserve one complete source-selected token association; do not | ||
| // union tokens or recompute global best tokens here. | ||
| // - Exact `getTokens()` / bucket layout is not canonical merge output; | ||
| // tests should assert filters and matching behavior instead. | ||
| // - Hash-collision handling is a separate dedupe concern and should not | ||
| // change this token-choice policy. | ||
| // | ||
| // The same serialized filter can be indexed under different tokens in | ||
| // different sources because each source has its own histogram. Prefer | ||
| // the representative with the most selected token groups to keep the | ||
| // runtime index compact while preserving matching correctness. | ||
| if (typeof filter === 'undefined' || filter.tokens.length < tokens.length) { | ||
| filtersByHash.set(hash, { | ||
| tokens: tokensByOffset.get(aligned[i - 1]), | ||
| bytes: source.view.buffer.subarray(aligned[i - 1], aligned[i]), | ||
| }); | ||
| } | ||
| } | ||
| } | ||
| // Rebuild a compact reverse-index from the deduplicated serialized filters. | ||
| let totalNumberOfIndexedTokens = 0; | ||
| let filtersIndexSize = 0; | ||
| for (const filter of filtersByHash.values()) { | ||
| totalNumberOfIndexedTokens += filter.tokens.length; | ||
| filtersIndexSize += filter.bytes.byteLength; | ||
| } | ||
| const bucketsIndexSize = totalNumberOfIndexedTokens * 2; | ||
| const tokensLookupIndexSize = Math.max(2, nextPow2(totalNumberOfIndexedTokens)); | ||
| const view = data_view_js_1.StaticDataView.allocate(tokensLookupIndexSize * 4 + bucketsIndexSize * 4 + filtersIndexSize, config); | ||
| const tokensLookupIndex = view.getUint32ArrayView(tokensLookupIndexSize); | ||
| const bucketsIndex = view.getUint32ArrayView(bucketsIndexSize); | ||
| const filtersIndexStart = view.getPos(); | ||
| const mask = tokensLookupIndexSize - 1; | ||
| const suffixes = []; | ||
| for (let i = 0; i < tokensLookupIndexSize; i += 1) { | ||
| suffixes.push([]); | ||
| } | ||
| for (const filter of filtersByHash.values()) { | ||
| const filterIndex = view.getPos(); | ||
| view.buffer.set(filter.bytes, filterIndex); | ||
| view.setPos(filterIndex + filter.bytes.byteLength); | ||
| for (const token of filter.tokens) { | ||
| suffixes[token & mask].push([token, filterIndex]); | ||
| } | ||
| } | ||
| let indexInBucketsIndex = 0; | ||
| for (let i = 0; i < tokensLookupIndexSize; i += 1) { | ||
| const filtersForMask = suffixes[i]; | ||
| tokensLookupIndex[i] = indexInBucketsIndex; | ||
| for (const [token, filterIndex] of filtersForMask) { | ||
| bucketsIndex[indexInBucketsIndex++] = token; | ||
| bucketsIndex[indexInBucketsIndex++] = filterIndex; | ||
| } | ||
| } | ||
| view.seekZero(); | ||
| return new ReverseIndex({ | ||
| config, | ||
| deserialize: firstSource.deserializeFilter, | ||
| filters: [], | ||
| optimize, | ||
| }).updateInternals({ | ||
| bucketsIndex, | ||
| filtersIndexStart, | ||
| numberOfFilters: filtersByHash.size, | ||
| tokensLookupIndex, | ||
| view: view, | ||
| }); | ||
| } | ||
| static deserialize(buffer, deserialize, optimize, config) { | ||
@@ -86,0 +244,0 @@ const tokensLookupIndexSize = buffer.getUint32(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"reverse-index.js","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"reverse-index.js","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"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"} |
@@ -20,5 +20,7 @@ /*! | ||
| ".online", | ||
| "images.", | ||
| ".co.uk", | ||
| ".space", | ||
| "a8clk.", | ||
| "stats.", | ||
| ".cyou", | ||
@@ -33,9 +35,8 @@ ".qpon", | ||
| ".net", | ||
| ".pro", | ||
| ".xyz", | ||
| "www.", | ||
| ".jp", | ||
| "a8.", | ||
| "app", | ||
| "cdn", | ||
| "pro", | ||
| "web", | ||
@@ -46,3 +47,5 @@ ".b", | ||
| ".m", | ||
| ".n", | ||
| ".p", | ||
| ".s", | ||
| "a1", | ||
@@ -73,2 +76,3 @@ "a2", | ||
| "be", | ||
| "bi", | ||
| "bl", | ||
@@ -95,3 +99,2 @@ "bo", | ||
| "ds", | ||
| "du", | ||
| "dy", | ||
@@ -111,3 +114,5 @@ "e-", | ||
| "et", | ||
| "eu", | ||
| "ev", | ||
| "ew", | ||
| "ex", | ||
@@ -125,3 +130,2 @@ "ey", | ||
| "gl", | ||
| "gn", | ||
| "go", | ||
@@ -153,9 +157,9 @@ "gr", | ||
| "jo", | ||
| "ju", | ||
| "kr", | ||
| "ks", | ||
| "la", | ||
| "ld", | ||
| "le", | ||
| "li", | ||
| "ll", | ||
| "lo", | ||
| "lu", | ||
| "ly", | ||
@@ -167,5 +171,2 @@ "ma", | ||
| "my", | ||
| "nd", | ||
| "ne", | ||
| "nl", | ||
| "no", | ||
@@ -180,7 +181,3 @@ "ob", | ||
| "or", | ||
| "os", | ||
| "ot", | ||
| "ou", | ||
| "ow", | ||
| "pe", | ||
| "ph", | ||
@@ -194,3 +191,2 @@ "pl", | ||
| "ru", | ||
| "ry", | ||
| "s-", | ||
@@ -207,5 +203,5 @@ "sc", | ||
| "st", | ||
| "su", | ||
| "sw", | ||
| "sy", | ||
| "t-", | ||
| "ta", | ||
@@ -215,3 +211,2 @@ "te", | ||
| "ti", | ||
| "tm", | ||
| "tn", | ||
@@ -221,2 +216,3 @@ "to", | ||
| "ts", | ||
| "tt", | ||
| "tu", | ||
@@ -227,2 +223,5 @@ "tv", | ||
| "ub", | ||
| "uc", | ||
| "ud", | ||
| "uk", | ||
| "ul", | ||
@@ -240,3 +239,4 @@ "um", | ||
| "wh", | ||
| "ws", | ||
| "wn", | ||
| "yo", | ||
| "-", | ||
@@ -243,0 +243,0 @@ ".", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"network-hostname.js","sourceRoot":"","sources":["../../../src/codebooks/network-hostname.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,eAAe;IACb,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} | ||
| {"version":3,"file":"network-hostname.js","sourceRoot":"","sources":["../../../src/codebooks/network-hostname.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,eAAe;IACb,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} |
@@ -23,2 +23,3 @@ /*! | ||
| "prebid-ads.js", | ||
| "analytics.js", | ||
| "nobab2.js:10", | ||
@@ -46,3 +47,2 @@ "noopmp3-0.1s", | ||
| "bea", | ||
| "_a", | ||
| ":5", | ||
@@ -52,3 +52,2 @@ ".0", | ||
| "ch", | ||
| "ic", | ||
| "in", | ||
@@ -60,2 +59,3 @@ "le", | ||
| "re", | ||
| "se", | ||
| "st", | ||
@@ -62,0 +62,0 @@ "_", |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"network-redirect.js","sourceRoot":"","sources":["../../../src/codebooks/network-redirect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,eAAe;IACb,mCAAmC;IACnC,kCAAkC;IAClC,6BAA6B;IAC7B,0BAA0B;IAC1B,yBAAyB;IACzB,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} | ||
| {"version":3,"file":"network-redirect.js","sourceRoot":"","sources":["../../../src/codebooks/network-redirect.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,sCAAsC;AACtC,eAAe;IACb,mCAAmC;IACnC,kCAAkC;IAClC,6BAA6B;IAC7B,0BAA0B;IAC1B,yBAAyB;IACzB,wBAAwB;IACxB,kBAAkB;IAClB,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,cAAc;IACd,cAAc;IACd,aAAa;IACb,YAAY;IACZ,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,SAAS;IACT,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC"} |
@@ -69,3 +69,2 @@ /*! | ||
| ".c", | ||
| ".h", | ||
| ".m", | ||
@@ -112,3 +111,2 @@ ".n", | ||
| "do", | ||
| "ds", | ||
| "e-", | ||
@@ -166,2 +164,3 @@ "eb", | ||
| "mp", | ||
| "my", | ||
| "nd", | ||
@@ -197,2 +196,3 @@ "ne", | ||
| "st", | ||
| "su", | ||
| "sw", | ||
@@ -199,0 +199,0 @@ "sy", |
@@ -11,2 +11,3 @@ /*! | ||
| import IFilter from '../../filters/interface.js'; | ||
| import { type HashFunc } from '../merger.js'; | ||
| /** | ||
@@ -19,4 +20,9 @@ * Generic filters container (for both CosmeticFilter and NetworkFilter | ||
| export default class FiltersContainer<T extends IFilter> { | ||
| static merge<T extends IFilter>(sources: FiltersContainer<T>[], opts?: { | ||
| hashFunc?: HashFunc | undefined; | ||
| }): FiltersContainer<T>; | ||
| static deserialize<T extends IFilter>(buffer: StaticDataView, deserialize: (view: StaticDataView) => T, config: Config): FiltersContainer<T>; | ||
| filters: Uint8Array; | ||
| offsets: Uint32Array; | ||
| private numberOfFilters; | ||
| private readonly deserialize; | ||
@@ -23,0 +29,0 @@ private readonly config; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAe,MAAM,oBAAoB,CAAC;AACjE,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAOjD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB,CAAC,CAAC,SAAS,OAAO;WACvC,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAAC,CAAC,CAAC;IAOf,OAAO,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAG1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,EACV,MAAM,EACN,WAAW,EACX,OAAO,GACR,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;KACd;IAUD;;OAEG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAmEtE,iBAAiB,IAAI,MAAM;IAI3B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAIvC,UAAU,IAAI,CAAC,EAAE;CAgBzB"} | ||
| {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAyC,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,OAAO,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAU7C;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB,CAAC,CAAC,SAAS,OAAO;WACvC,KAAK,CAAC,CAAC,SAAS,OAAO,EACnC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC9B,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KACjC,GACA,gBAAgB,CAAC,CAAC,CAAC;WA0FR,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,MAAM,EAAE,MAAM,GACb,gBAAgB,CAAC,CAAC,CAAC;IAoBf,OAAO,EAAE,UAAU,CAAC;IAGpB,OAAO,EAAE,WAAW,CAAC;IAE5B,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAG1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,EACV,MAAM,EACN,WAAW,EACX,OAAO,GACR,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;KACd;IAYD;;OAEG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAsEtE,iBAAiB,IAAI,MAAM;IAI3B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAWvC,UAAU,IAAI,CAAC,EAAE;CAezB"} |
@@ -8,7 +8,11 @@ /*! | ||
| */ | ||
| import { StaticDataView, sizeOfBytes } from '../../data-view.js'; | ||
| // Empty filters is 4 bytes because we need at least one 32 bits number to keep | ||
| // track of the number of filters in the container. If there is no filter then | ||
| // the number will be 0. | ||
| const EMPTY_FILTERS = new Uint8Array(4); | ||
| import crc32 from '../../crc32.js'; | ||
| import { EMPTY_UINT32_ARRAY, EMPTY_UINT8_ARRAY, StaticDataView } from '../../data-view.js'; | ||
| // Serialized containers use this layout: | ||
| // [number of filters][N + 1 offsets][serialized filter bytes] | ||
| // Offsets are relative to the start of the serialized filter bytes. The table | ||
| // is required by #merge so serialized filter ranges can be hashed/copied | ||
| // without deserializing every source filter first. Offsets are encoded as | ||
| // regular uint32 values instead of a Uint32Array view so containers can be read | ||
| // from any parent-buffer offset. | ||
| /** | ||
@@ -21,5 +25,84 @@ * Generic filters container (for both CosmeticFilter and NetworkFilter | ||
| export default class FiltersContainer { | ||
| static merge(sources, opts) { | ||
| if (sources.length < 2) { | ||
| throw new Error('FiltersContainer.merge requires at least two source containers.'); | ||
| } | ||
| const firstSource = sources[0]; | ||
| let numberOfFilters = 0; | ||
| for (const source of sources) { | ||
| if (source.config.debug === true) { | ||
| // Filters-container merging deduplicates serialized filter bytes | ||
| // directly. Debug builds embed non-semantic data such as `rawLine` and | ||
| // domain debug parts in those bytes, so equivalent filters could hash | ||
| // differently. Supporting this would require deserializing filters and | ||
| // rebuilding semantic IDs, which defeats the purpose of this fast path. | ||
| throw new Error('FiltersContainer.merge requires debug=false for every source.'); | ||
| } | ||
| if (source.config.enableCompression !== firstSource.config.enableCompression) { | ||
| throw new Error('FiltersContainer.merge requires matching compression settings.'); | ||
| } | ||
| numberOfFilters += source.numberOfFilters; | ||
| } | ||
| // Fast exit if there are no filters to merge. | ||
| if (numberOfFilters === 0) { | ||
| return new FiltersContainer({ | ||
| config: firstSource.config, | ||
| deserialize: firstSource.deserialize, | ||
| filters: [], | ||
| }); | ||
| } | ||
| // See reverse-index.ts for additional notes regarding hash function. | ||
| const hashFunc = typeof opts?.hashFunc === 'function' ? opts.hashFunc : crc32; | ||
| const filtersByHash = new Map(); | ||
| // Recover serialized filter ranges from the offset table. The container | ||
| // stores N + 1 offsets for N filters; two consecutive offsets give the byte | ||
| // range of one filter relative to the start of the filters section. | ||
| for (const source of sources) { | ||
| if (source.numberOfFilters === 0) { | ||
| continue; | ||
| } | ||
| for (let i = 0, filterIndex, filterIndexEnd; i < source.numberOfFilters; i += 1) { | ||
| filterIndex = source.offsets[i]; | ||
| filterIndexEnd = source.offsets[i + 1]; | ||
| filtersByHash.set(hashFunc(source.filters, filterIndex, filterIndexEnd), source.filters.subarray(filterIndex, filterIndexEnd)); | ||
| } | ||
| } | ||
| // Rebuild a compact filters container from the deduplicated serialized | ||
| // filters. | ||
| let filtersIndexSize = 0; | ||
| for (const filter of filtersByHash.values()) { | ||
| filtersIndexSize += filter.byteLength; | ||
| } | ||
| const view = StaticDataView.allocate(filtersIndexSize, firstSource.config); | ||
| const offsets = new Uint32Array(filtersByHash.size + 1); | ||
| let index = 0; | ||
| for (const filter of filtersByHash.values()) { | ||
| offsets[index++] = view.pos; | ||
| view.buffer.set(filter, view.pos); | ||
| view.setPos(view.pos + filter.byteLength); | ||
| } | ||
| offsets[index] = view.getPos(); | ||
| const container = new FiltersContainer({ | ||
| config: firstSource.config, | ||
| deserialize: firstSource.deserialize, | ||
| filters: [], | ||
| }); | ||
| container.filters = view.subarray(); | ||
| container.offsets = offsets; | ||
| container.numberOfFilters = filtersByHash.size; | ||
| return container; | ||
| } | ||
| static deserialize(buffer, deserialize, config) { | ||
| const container = new FiltersContainer({ deserialize, config, filters: [] }); | ||
| container.filters = buffer.getBytes(); | ||
| const numberOfFilters = buffer.getUint32(); | ||
| container.numberOfFilters = numberOfFilters; | ||
| if (numberOfFilters !== 0) { | ||
| container.offsets = new Uint32Array(numberOfFilters + 1); | ||
| for (let i = 0; i < container.offsets.length; i += 1) { | ||
| container.offsets[i] = buffer.getUint32(); | ||
| } | ||
| const filtersIndexSize = container.offsets[numberOfFilters]; | ||
| container.filters = buffer.buffer.subarray(buffer.pos, buffer.pos + filtersIndexSize); | ||
| buffer.setPos(buffer.pos + filtersIndexSize); | ||
| } | ||
| return container; | ||
@@ -29,3 +112,5 @@ } | ||
| this.deserialize = deserialize; | ||
| this.filters = EMPTY_FILTERS; | ||
| this.filters = EMPTY_UINT8_ARRAY; | ||
| this.offsets = EMPTY_UINT32_ARRAY; | ||
| this.numberOfFilters = 0; | ||
| this.config = config; | ||
@@ -40,7 +125,2 @@ if (filters.length !== 0) { | ||
| update(newFilters, removedFilters) { | ||
| // Estimate size of the buffer we will need to store filters. This avoids | ||
| // having to allocate a big chunk of memory up-front if it's not needed. | ||
| // We start with the current size of `this.filters` then update it with | ||
| // removed/added filters. | ||
| let bufferSizeEstimation = this.filters.byteLength; | ||
| let selected = []; | ||
@@ -64,5 +144,2 @@ const compression = this.config.enableCompression; | ||
| } | ||
| else { | ||
| bufferSizeEstimation -= filter.getSerializedSize(compression); | ||
| } | ||
| } | ||
@@ -76,3 +153,2 @@ } | ||
| for (const filter of newFilters) { | ||
| bufferSizeEstimation += filter.getSerializedSize(compression); | ||
| selected.push(filter); | ||
@@ -84,8 +160,7 @@ } | ||
| if (selected.length === 0) { | ||
| this.filters = EMPTY_FILTERS; | ||
| this.filters = EMPTY_UINT8_ARRAY; | ||
| this.offsets = EMPTY_UINT32_ARRAY; | ||
| this.numberOfFilters = 0; | ||
| } | ||
| else if (storedFiltersAdded === true || storedFiltersRemoved === true) { | ||
| // Store filters in their compact form | ||
| const buffer = StaticDataView.allocate(bufferSizeEstimation, this.config); | ||
| buffer.pushUint32(selected.length); | ||
| // When we run in `debug` mode, we enable fully deterministic updates of | ||
@@ -97,18 +172,35 @@ // internal data-structure. To this effect, we sort all filters before | ||
| } | ||
| // Estimate size of the buffer we will need to store filters. | ||
| let bufferSizeEstimation = 0; | ||
| for (const filter of selected) { | ||
| filter.serialize(buffer); | ||
| bufferSizeEstimation += filter.getSerializedSize(compression); | ||
| } | ||
| // Store filters in their compact form | ||
| const buffer = StaticDataView.allocate(bufferSizeEstimation, this.config); | ||
| const offsets = new Uint32Array(selected.length + 1); | ||
| for (let i = 0; i < selected.length; i += 1) { | ||
| offsets[i] = buffer.getPos(); | ||
| selected[i].serialize(buffer); | ||
| } | ||
| offsets[selected.length] = buffer.getPos(); | ||
| // Update internals | ||
| this.filters = buffer.buffer; | ||
| this.filters = buffer.subarray(); | ||
| this.offsets = offsets; | ||
| this.numberOfFilters = selected.length; | ||
| } | ||
| } | ||
| getSerializedSize() { | ||
| return sizeOfBytes(this.filters, false /* no alignement */); | ||
| return 4 + this.offsets.byteLength + this.filters.byteLength; | ||
| } | ||
| serialize(buffer) { | ||
| buffer.pushBytes(this.filters); | ||
| buffer.pushUint32(this.numberOfFilters); | ||
| for (const offset of this.offsets) { | ||
| buffer.pushUint32(offset); | ||
| } | ||
| buffer.buffer.set(this.filters, buffer.pos); | ||
| buffer.setPos(buffer.pos + this.filters.byteLength); | ||
| } | ||
| getFilters() { | ||
| // No filter stored in the container | ||
| if (this.filters.byteLength <= 4) { | ||
| if (this.numberOfFilters === 0) { | ||
| return []; | ||
@@ -119,4 +211,3 @@ } | ||
| const buffer = StaticDataView.fromUint8Array(this.filters, this.config); | ||
| const numberOfFilters = buffer.getUint32(); | ||
| for (let i = 0; i < numberOfFilters; i += 1) { | ||
| for (let i = 0; i < this.numberOfFilters; i += 1) { | ||
| filters.push(this.deserialize(buffer)); | ||
@@ -123,0 +214,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjE,+EAA+E;AAC/E,8EAA8E;AAC9E,wBAAwB;AACxB,MAAM,aAAa,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAC5B,MAAM,CAAC,WAAW,CACvB,MAAsB,EACtB,WAAwC,EACxC,MAAc;QAEd,MAAM,SAAS,GAAG,IAAI,gBAAgB,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7E,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IASD,YAAY,EACV,MAAM,EACN,WAAW,EACX,OAAO,GAKR;QACC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAe,EAAE,cAAuC;QACpE,yEAAyE;QACzE,wEAAwE;QACxE,uEAAuE;QACvE,yBAAyB;QACzB,IAAI,oBAAoB,GAAW,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3D,IAAI,QAAQ,GAAQ,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAElD,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,oEAAoE;YACpE,sEAAsE;YACtE,+CAA+C;YAC/C,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC9D,QAAQ,GAAG,cAAc,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,oEAAoE;gBACpE,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;oBACpC,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;wBACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,sFAAsF;QACtF,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,CAAC;QAEvE,iBAAiB;QACjB,MAAM,uBAAuB,GAAW,QAAQ,CAAC,MAAM,CAAC;QACxD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAC9D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,uEAAuE;QACvE,MAAM,kBAAkB,GAAY,QAAQ,CAAC,MAAM,GAAG,uBAAuB,CAAC;QAE9E,0EAA0E;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QAC/B,CAAC;aAAM,IAAI,kBAAkB,KAAK,IAAI,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACxE,sCAAsC;YACtC,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1E,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEnC,wEAAwE;YACxE,sEAAsE;YACtE,aAAa;YACb,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAK,EAAE,EAAK,EAAU,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAED,mBAAmB;YACnB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC/B,CAAC;IACH,CAAC;IAEM,iBAAiB;QACtB,OAAO,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAEM,SAAS,CAAC,MAAsB;QACrC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEM,UAAU;QACf,oCAAoC;QACpC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,uDAAuD;QACvD,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"} | ||
| {"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../../src/engine/bucket/filters.ts"],"names":[],"mappings":"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"} |
@@ -24,3 +24,4 @@ /*! | ||
| import PreprocessorBucket from './bucket/preprocessor.js'; | ||
| export declare const ENGINE_VERSION = 862; | ||
| import { MergeOptions } from './merger.js'; | ||
| export declare const ENGINE_VERSION = 864; | ||
| export interface BlockingResponse { | ||
@@ -114,9 +115,25 @@ match: boolean; | ||
| * | ||
| * Optionally, you can specify a second parameter to skip merging specific resources. | ||
| * If resource merging is skipped, the resulting engine will be assigned empty resources. | ||
| * Optionally, you can specify a second parameter to skip merging specific | ||
| * resources or override the resulting engine config. If resource merging is | ||
| * skipped, the resulting engine will be assigned empty resources. | ||
| * | ||
| * Set `useBinaryMerge` to use the byte-level merge path. This method is | ||
| * faster for large engines, but it has stricter requirements: source engines | ||
| * must not be built with `debug: true`, their compression settings must | ||
| * match, and the resulting engine cannot enable debug or compression through | ||
| * `overrideConfig`. | ||
| * | ||
| * When using `useBinaryMerge`, you can pass `hashFunc` to deduplicate | ||
| * serialized filters. Prefer a collision-resistant bigint or string hash for | ||
| * large merges; the built-in fallback is intended for convenience and does | ||
| * not provide strict collision-proof deduplication. | ||
| * | ||
| * Call `updateEnv` on the merged engine before use when preprocessor bindings | ||
| * should affect which filters are active. | ||
| * | ||
| * Binary merge skips buckets disabled by target load flags. It does not skip | ||
| * buckets for `loadExtendedSelectors`, `enableInMemoryCache`, or | ||
| * `enableOptimizations`, which do not represent whole filter categories. | ||
| */ | ||
| static merge<T extends typeof FilterEngine>(this: T, engines: InstanceType<T>[], { skipResources, overrideConfig, }?: { | ||
| skipResources?: boolean; | ||
| overrideConfig?: Partial<Config>; | ||
| }): InstanceType<T>; | ||
| static merge<T extends typeof FilterEngine>(this: T, engines: InstanceType<T>[], opts?: MergeOptions): InstanceType<T>; | ||
| static parse<T extends FilterEngine>(this: new (...args: any[]) => T, filters: string, options?: Partial<Config>): T; | ||
@@ -123,0 +140,0 @@ static deserialize<T extends FilterEngine>(this: new (...args: any[]) => T, serialized: Uint8Array): T; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":"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"} |
@@ -24,3 +24,4 @@ /*! | ||
| import PreprocessorBucket from './bucket/preprocessor.js'; | ||
| export const ENGINE_VERSION = 862; | ||
| import { binaryMerge, legacyMerge } from './merger.js'; | ||
| export const ENGINE_VERSION = 864; | ||
| function findApplicableHideException(filters) { | ||
@@ -134,80 +135,29 @@ if (filters.length === 0) { | ||
| * | ||
| * Optionally, you can specify a second parameter to skip merging specific resources. | ||
| * If resource merging is skipped, the resulting engine will be assigned empty resources. | ||
| * Optionally, you can specify a second parameter to skip merging specific | ||
| * resources or override the resulting engine config. If resource merging is | ||
| * skipped, the resulting engine will be assigned empty resources. | ||
| * | ||
| * Set `useBinaryMerge` to use the byte-level merge path. This method is | ||
| * faster for large engines, but it has stricter requirements: source engines | ||
| * must not be built with `debug: true`, their compression settings must | ||
| * match, and the resulting engine cannot enable debug or compression through | ||
| * `overrideConfig`. | ||
| * | ||
| * When using `useBinaryMerge`, you can pass `hashFunc` to deduplicate | ||
| * serialized filters. Prefer a collision-resistant bigint or string hash for | ||
| * large merges; the built-in fallback is intended for convenience and does | ||
| * not provide strict collision-proof deduplication. | ||
| * | ||
| * Call `updateEnv` on the merged engine before use when preprocessor bindings | ||
| * should affect which filters are active. | ||
| * | ||
| * Binary merge skips buckets disabled by target load flags. It does not skip | ||
| * buckets for `loadExtendedSelectors`, `enableInMemoryCache`, or | ||
| * `enableOptimizations`, which do not represent whole filter categories. | ||
| */ | ||
| static merge(engines, { skipResources = false, overrideConfig = {}, } = {}) { | ||
| if (!engines || engines.length < 2) { | ||
| throw new Error('merging engines requires at least two engines'); | ||
| static merge(engines, opts = {}) { | ||
| if (opts.useBinaryMerge === true) { | ||
| return binaryMerge(this, engines, opts); | ||
| } | ||
| for (const engine of engines) { | ||
| if (engine.config.enableCompression !== engines[0].config.enableCompression) { | ||
| throw new Error(`compression of all merged engines must match with the first one: "${engines[0].config.enableCompression}" but got: "${engine.config.enableCompression}"`); | ||
| } | ||
| } | ||
| const lists = new Map(); | ||
| const networkFilters = new Map(); | ||
| const cosmeticFilters = new Map(); | ||
| const preprocessors = []; | ||
| const metadata = { | ||
| organizations: {}, | ||
| categories: {}, | ||
| patterns: {}, | ||
| }; | ||
| for (const engine of engines) { | ||
| const filters = engine.getFilters(); | ||
| for (const networkFilter of filters.networkFilters) { | ||
| networkFilters.set(networkFilter.getId(), networkFilter); | ||
| } | ||
| for (const cosmeticFilter of filters.cosmeticFilters) { | ||
| cosmeticFilters.set(cosmeticFilter.getId(), cosmeticFilter); | ||
| } | ||
| for (const preprocessor of engine.preprocessors.preprocessors) { | ||
| preprocessors.push(preprocessor); | ||
| } | ||
| for (const [key, value] of engine.lists) { | ||
| if (lists.has(key)) { | ||
| continue; | ||
| } | ||
| lists.set(key, value); | ||
| } | ||
| if (engine.metadata !== undefined) { | ||
| for (const organization of engine.metadata.organizations.getValues()) { | ||
| if (metadata.organizations[organization.key] === undefined) { | ||
| metadata.organizations[organization.key] = organization; | ||
| } | ||
| } | ||
| for (const category of engine.metadata.categories.getValues()) { | ||
| if (metadata.categories[category.key] === undefined) { | ||
| metadata.categories[category.key] = category; | ||
| } | ||
| } | ||
| for (const pattern of engine.metadata.patterns.getValues()) { | ||
| if (metadata.patterns[pattern.key] === undefined) { | ||
| metadata.patterns[pattern.key] = pattern; | ||
| } | ||
| } | ||
| } | ||
| } | ||
| const engine = new this({ | ||
| networkFilters: Array.from(networkFilters.values()), | ||
| cosmeticFilters: Array.from(cosmeticFilters.values()), | ||
| preprocessors, | ||
| lists, | ||
| config: new Config({ ...engines[0].config, ...overrideConfig }), | ||
| }); | ||
| if (Object.keys(metadata.categories).length + | ||
| Object.keys(metadata.organizations).length + | ||
| Object.keys(metadata.patterns).length !== | ||
| 0) { | ||
| engine.metadata = new Metadata(metadata); | ||
| } | ||
| if (skipResources !== true) { | ||
| for (const engine of engines.slice(1)) { | ||
| if (engine.resources.checksum !== engines[0].resources.checksum) { | ||
| throw new Error(`resource checksum of all merged engines must match with the first one: "${engines[0].resources.checksum}" but got: "${engine.resources.checksum}"`); | ||
| } | ||
| } | ||
| engine.resources = Resources.copy(engines[0].resources); | ||
| } | ||
| return engine; | ||
| return legacyMerge(this, engines, opts); | ||
| } | ||
@@ -214,0 +164,0 @@ static parse(filters, options = {}) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engine/engine.ts"],"names":[],"mappings":"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"} |
@@ -11,2 +11,3 @@ /*! | ||
| import IFilter from '../filters/interface.js'; | ||
| import { type HashFunc } from './merger.js'; | ||
| export declare function nextPow2(v: number): number; | ||
@@ -61,2 +62,5 @@ /** | ||
| export default class ReverseIndex<T extends IFilter> { | ||
| static merge<T extends IFilter>(sources: ReverseIndex<T>[], config: Config, optimize: (filters: T[]) => T[], opts?: { | ||
| hashFunc?: HashFunc | undefined; | ||
| }): ReverseIndex<T>; | ||
| static deserialize<T extends IFilter>(buffer: StaticDataView, deserialize: (view: StaticDataView) => T, optimize: (filters: T[]) => T[], config: Config): ReverseIndex<T>; | ||
@@ -63,0 +67,0 @@ private bucketsIndex; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"reverse-index.d.ts","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,cAAc,EAAmC,MAAM,iBAAiB,CAAC;AAClF,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAG9C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1C;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,CAAC,SAAS,OAAO;WACnC,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAC/B,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,CAAC,CAAC;IAgElB,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,IAAI,CAAiB;IAM7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAQ3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAShE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,GACP,EAAE;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;KAChB;IAWD;;;;OAIG;IACI,UAAU,IAAI,CAAC,EAAE;IAmBxB;;OAEG;IACI,SAAS,IAAI,WAAW;IAU/B;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAKlC;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAS9C;;;;;;;;OAQG;IACI,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI;IAiB5E;;;;;OAKG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAuL7E,OAAO,CAAC,eAAe;IAsBvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CAoFnB"} | ||
| {"version":3,"file":"reverse-index.d.ts","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,cAAc,EAAmC,MAAM,iBAAiB,CAAC;AAClF,OAAO,OAAO,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAS1C;AAwBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY,CAAC,CAAC,SAAS,OAAO;WACnC,KAAK,CAAC,CAAC,SAAS,OAAO,EACnC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAC/B,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KACjC,GACA,YAAY,CAAC,CAAC,CAAC;WAsMJ,WAAW,CAAC,CAAC,SAAS,OAAO,EACzC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,EACxC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAC/B,MAAM,EAAE,MAAM,GACb,YAAY,CAAC,CAAC,CAAC;IAgElB,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,iBAAiB,CAAmC;IAC5D,OAAO,CAAC,IAAI,CAAiB;IAM7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAQ3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8B;IAShE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,EACV,WAAW,EACX,OAAO,EACP,QAAQ,EACR,MAAM,GACP,EAAE;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;KAChB;IAWD;;;;OAIG;IACI,UAAU,IAAI,CAAC,EAAE;IAmBxB;;OAEG;IACI,SAAS,IAAI,WAAW;IAU/B;;OAEG;IACI,iBAAiB,IAAI,MAAM;IAKlC;;OAEG;IACI,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAS9C;;;;;;;;OAQG;IACI,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,IAAI;IAiB5E;;;;;OAKG;IACI,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI;IAuL7E,OAAO,CAAC,eAAe;IAsBvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CAoFnB"} |
@@ -8,2 +8,3 @@ /*! | ||
| */ | ||
| import crc32 from '../crc32.js'; | ||
| import { StaticDataView, EMPTY_UINT32_ARRAY, sizeOfBytes } from '../data-view.js'; | ||
@@ -81,2 +82,156 @@ // https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 | ||
| export default class ReverseIndex { | ||
| static merge(sources, config, optimize, opts) { | ||
| if (sources.length < 2) { | ||
| throw new Error('ReverseIndex.merge requires at least two source indexes.'); | ||
| } | ||
| const firstSource = sources[0]; | ||
| for (const source of sources) { | ||
| if (source.config.debug === true) { | ||
| // Reverse-index merging deduplicates serialized filter bytes directly. | ||
| // Debug builds embed non-semantic data such as `rawLine` and domain | ||
| // debug parts in those bytes, so equivalent filters could hash | ||
| // differently. Supporting this would require deserializing filters and | ||
| // rebuilding semantic IDs, which defeats the purpose of this fast path. | ||
| throw new Error('ReverseIndex.merge requires debug=false for every source.'); | ||
| } | ||
| if (source.config.enableCompression !== firstSource.config.enableCompression) { | ||
| throw new Error('ReverseIndex.merge requires matching compression settings.'); | ||
| } | ||
| } | ||
| if (config.debug === true) { | ||
| throw new Error('ReverseIndex.merge requires debug=false for target config.'); | ||
| } | ||
| if (config.enableCompression !== firstSource.config.enableCompression) { | ||
| throw new Error('ReverseIndex.merge requires target config compression to match sources.'); | ||
| } | ||
| // Fast exit if there are no filters to merge. | ||
| const numberOfFilters = sources.reduce((total, source) => total + source.numberOfFilters, 0); | ||
| if (numberOfFilters === 0) { | ||
| return new ReverseIndex({ | ||
| config, | ||
| deserialize: firstSource.deserializeFilter, | ||
| filters: [], | ||
| optimize, | ||
| }); | ||
| } | ||
| // `crc32` is used as a built-in hash function as they're already embedded | ||
| // in the library. As 32bit hash functions will have a lot of collision | ||
| // after ~130k of inputs, so they're not really recommended. Always | ||
| // implement the hash function in the below priority table. Do allocate the | ||
| // function before going to heavy loop. | ||
| // a) a function returns BigInt (low memory pressure and collision) | ||
| // b) a function returns number (in case of <130k input) | ||
| // c) a function returns string (high memory pressure) | ||
| // Hash-collision resistance is delegated to the caller-provided `hashFunc`. | ||
| // Use a collision-resistant string or bigint hash when merging large | ||
| // indexes; the built-in crc32 fallback is intended for convenience, not | ||
| // strict collision-proof deduplication. | ||
| const hashFunc = typeof opts?.hashFunc === 'function' ? opts.hashFunc : crc32; | ||
| const filtersByHash = new Map(); | ||
| // Recover serialized filter ranges from bucket pointers. The bucket index | ||
| // stores absolute offsets into `source.view.buffer`; sorting unique offsets | ||
| // gives filter starts, and the next offset gives the previous filter end. | ||
| for (let sourceIndex = 0; sourceIndex < sources.length; sourceIndex += 1) { | ||
| const source = sources[sourceIndex]; | ||
| const tokensByOffset = new Map(); | ||
| for (let i = 1; i < source.bucketsIndex.length; i += 2) { | ||
| const arr = tokensByOffset.get(source.bucketsIndex[i]); | ||
| if (typeof arr === 'undefined') { | ||
| tokensByOffset.set(source.bucketsIndex[i], [source.bucketsIndex[i - 1]]); | ||
| } | ||
| else { | ||
| arr.push(source.bucketsIndex[i - 1]); | ||
| } | ||
| } | ||
| if (tokensByOffset.size !== source.numberOfFilters) { | ||
| // Normal NetworkFilter/CosmeticFilter instances are indexed at least | ||
| // once; filters without concrete tokens use the wildcard token 0 via | ||
| // `[Uint32Array(0)]`. If a custom or malformed filter returns strict | ||
| // `[]`, it is serialized but has no bucket pointer, so this merge path | ||
| // cannot infer its byte range from the reverse-index alone. | ||
| throw new Error(`ReverseIndex.merge cannot infer filter byte ranges for source ${sourceIndex}: ${source.numberOfFilters} filters were serialized, but only ${tokensByOffset.size} have bucket entries.`); | ||
| } | ||
| // We need to sort the collected offsets because their order is not | ||
| // ensured. | ||
| const aligned = Array.from(tokensByOffset.keys()).sort(function (a, b) { | ||
| return a - b; | ||
| }); | ||
| aligned.push(source.view.buffer.byteLength); | ||
| // Hash each serialized filter range and keep one representative per hash. | ||
| // This contributes to the memory pressure rather saving the full buffer | ||
| // with other data types. | ||
| for (let i = 1, hash, tokens, filter; i < aligned.length; i++) { | ||
| hash = hashFunc(source.view.buffer, aligned[i - 1], aligned[i]); | ||
| tokens = tokensByOffset.get(aligned[i - 1]); | ||
| filter = filtersByHash.get(hash); | ||
| // Token policy for duplicated serialized filters: | ||
| // - Keep the fast compact merge path as the default. | ||
| // - Preserve one complete source-selected token association; do not | ||
| // union tokens or recompute global best tokens here. | ||
| // - Exact `getTokens()` / bucket layout is not canonical merge output; | ||
| // tests should assert filters and matching behavior instead. | ||
| // - Hash-collision handling is a separate dedupe concern and should not | ||
| // change this token-choice policy. | ||
| // | ||
| // The same serialized filter can be indexed under different tokens in | ||
| // different sources because each source has its own histogram. Prefer | ||
| // the representative with the most selected token groups to keep the | ||
| // runtime index compact while preserving matching correctness. | ||
| if (typeof filter === 'undefined' || filter.tokens.length < tokens.length) { | ||
| filtersByHash.set(hash, { | ||
| tokens: tokensByOffset.get(aligned[i - 1]), | ||
| bytes: source.view.buffer.subarray(aligned[i - 1], aligned[i]), | ||
| }); | ||
| } | ||
| } | ||
| } | ||
| // Rebuild a compact reverse-index from the deduplicated serialized filters. | ||
| let totalNumberOfIndexedTokens = 0; | ||
| let filtersIndexSize = 0; | ||
| for (const filter of filtersByHash.values()) { | ||
| totalNumberOfIndexedTokens += filter.tokens.length; | ||
| filtersIndexSize += filter.bytes.byteLength; | ||
| } | ||
| const bucketsIndexSize = totalNumberOfIndexedTokens * 2; | ||
| const tokensLookupIndexSize = Math.max(2, nextPow2(totalNumberOfIndexedTokens)); | ||
| const view = StaticDataView.allocate(tokensLookupIndexSize * 4 + bucketsIndexSize * 4 + filtersIndexSize, config); | ||
| const tokensLookupIndex = view.getUint32ArrayView(tokensLookupIndexSize); | ||
| const bucketsIndex = view.getUint32ArrayView(bucketsIndexSize); | ||
| const filtersIndexStart = view.getPos(); | ||
| const mask = tokensLookupIndexSize - 1; | ||
| const suffixes = []; | ||
| for (let i = 0; i < tokensLookupIndexSize; i += 1) { | ||
| suffixes.push([]); | ||
| } | ||
| for (const filter of filtersByHash.values()) { | ||
| const filterIndex = view.getPos(); | ||
| view.buffer.set(filter.bytes, filterIndex); | ||
| view.setPos(filterIndex + filter.bytes.byteLength); | ||
| for (const token of filter.tokens) { | ||
| suffixes[token & mask].push([token, filterIndex]); | ||
| } | ||
| } | ||
| let indexInBucketsIndex = 0; | ||
| for (let i = 0; i < tokensLookupIndexSize; i += 1) { | ||
| const filtersForMask = suffixes[i]; | ||
| tokensLookupIndex[i] = indexInBucketsIndex; | ||
| for (const [token, filterIndex] of filtersForMask) { | ||
| bucketsIndex[indexInBucketsIndex++] = token; | ||
| bucketsIndex[indexInBucketsIndex++] = filterIndex; | ||
| } | ||
| } | ||
| view.seekZero(); | ||
| return new ReverseIndex({ | ||
| config, | ||
| deserialize: firstSource.deserializeFilter, | ||
| filters: [], | ||
| optimize, | ||
| }).updateInternals({ | ||
| bucketsIndex, | ||
| filtersIndexStart, | ||
| numberOfFilters: filtersByHash.size, | ||
| tokensLookupIndex, | ||
| view: view, | ||
| }); | ||
| } | ||
| static deserialize(buffer, deserialize, optimize, config) { | ||
@@ -83,0 +238,0 @@ const tokensLookupIndexSize = buffer.getUint32(); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"reverse-index.js","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"reverse-index.js","sourceRoot":"","sources":["../../../src/engine/reverse-index.ts"],"names":[],"mappings":"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"} |
+8
-7
| { | ||
| "name": "@ghostery/adblocker", | ||
| "version": "2.16.0", | ||
| "version": "2.17.0", | ||
| "description": "Ghostery adblocker library", | ||
@@ -106,3 +106,3 @@ "author": { | ||
| "@types/mocha": "^10.0.10", | ||
| "@types/node": "25.6.0", | ||
| "@types/node": "25.6.2", | ||
| "axios": "^1.16.0", | ||
@@ -117,9 +117,10 @@ "chai": "^6.2.2", | ||
| "rollup": "^4.60.3", | ||
| "tshy": "^4.1.1", | ||
| "tshy": "^4.1.2", | ||
| "tsx": "^4.21.0", | ||
| "typescript": "^6.0.3" | ||
| "typescript": "^6.0.3", | ||
| "xxhash-wasm": "^1.1.0" | ||
| }, | ||
| "dependencies": { | ||
| "@ghostery/adblocker-content": "^2.16.0", | ||
| "@ghostery/adblocker-extended-selectors": "^2.16.0", | ||
| "@ghostery/adblocker-content": "^2.17.0", | ||
| "@ghostery/adblocker-extended-selectors": "^2.17.0", | ||
| "@ghostery/url-parser": "^1.3.1", | ||
@@ -131,3 +132,3 @@ "@remusao/guess-url-type": "^2.1.0", | ||
| }, | ||
| "gitHead": "21afad2aa2acf060943664bb478fc56a5fe3461a" | ||
| "gitHead": "13d1b5023445fe7dbad2a8dd1076c90a6cf1b06a" | ||
| } |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
2618292
5.21%359
2.28%27951
3.77%18
5.88%