From ce8d7831f2f550db92e939308b2f4f733d262af8 Mon Sep 17 00:00:00 2001 From: Freeman Date: Tue, 30 Jan 2024 21:58:43 +0000 Subject: [PATCH 01/12] Fixed Bugs & Support Tailwind's Universal Selector #6 [-] Removed `customTailwindDarkModeSelector` Option [#] Updated Unit Tests --- src/config.ts | 1 - src/index.ts | 2 +- src/type.ts | 2 - src/utils.test.ts | 369 ++++++++++++++++++++++++++++++---------------- src/utils.ts | 141 +++++++++++------- 5 files changed, 328 insertions(+), 187 deletions(-) diff --git a/src/config.ts b/src/config.ts index 8940fa8..cf4f8dd 100644 --- a/src/config.ts +++ b/src/config.ts @@ -21,7 +21,6 @@ const defaultOptions: Options = { enableMarkers: false, // Enable or disable the obfuscate marker classes. markers: ["next-css-obfuscation"], // Classes that indicate component(s) need to obfuscate. removeMarkersAfterObfuscated: true, // Remove the obfuscation markers from HTML elements after obfuscation. - customTailwindDarkModeSelector: null, // [TailwindCSS ONLY] The custom new dark mode selector, e.g. "dark-mode". logLevel: "info", // Log level }; diff --git a/src/index.ts b/src/index.ts index 1ec42d8..731aeb7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -40,7 +40,7 @@ function obfuscate(options: Options) { classSuffix: options.classSuffix, classIgnore: options.classIgnore, - customTailwindDarkModeSelector: options.customTailwindDarkModeSelector, + enableObfuscateMarkers: options.enableMarkers, }); log("success", "Obfuscation", "Class conversion JSON created/updated"); diff --git a/src/type.ts b/src/type.ts index 4041304..29c2593 100644 --- a/src/type.ts +++ b/src/type.ts @@ -23,7 +23,6 @@ type Options = { enableMarkers: boolean; markers: string[]; removeMarkersAfterObfuscated: boolean; - customTailwindDarkModeSelector: string | null; logLevel: LogLevel; } @@ -48,7 +47,6 @@ type OptionalOptions = { enableMarkers?: boolean; markers?: string[]; removeMarkersAfterObfuscated?: boolean; - customTailwindDarkModeSelector?: string | null; logLevel?: LogLevel; } diff --git a/src/utils.test.ts b/src/utils.test.ts index aa00ecc..e301f21 100644 --- a/src/utils.test.ts +++ b/src/utils.test.ts @@ -372,99 +372,159 @@ describe("getFilenameFromPath", () => { describe("extractClassFromSelector", () => { test("should extract single class from simple selector", () => { + const sample = ".example"; + // Act - const result = extractClassFromSelector(".example"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["example"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["example"] + }); }); test("should extract multiple classes from complex selector", () => { + const sample = ":is(.some-class .some-class\\:bg-dark::-moz-placeholder)[data-active=\'true\']"; + // Act - const result = extractClassFromSelector(":is(.some-class .some-class\\:bg-dark::-moz-placeholder)[data-active=\'true\']"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["some-class", "some-class\\:bg-dark"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["some-class", "some-class\\:bg-dark"] + }); }); test("should handle selector with no classes", () => { + const sample = "div"; + // Act - const result = extractClassFromSelector("div"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual([]); + expect(result).toEqual({ + selector: sample, + extractedClasses: [] + }); }); test("should handle selector with action pseudo-classes and not extract them", () => { + const sample = ".btn:hover .btn-active::after"; + // Act - const result = extractClassFromSelector(".btn:hover .btn-active::after"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["btn", "btn-active"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["btn", "btn-active"] + }); }); - + test("should handle selector with vendor pseudo-classes and not extract them", () => { + const sample = ".btn-moz:-moz-focusring .btn-ms::-ms-placeholder .btn-webkit::-webkit-placeholder .btn-o::-o-placeholder"; + // Act - const result = extractClassFromSelector(".btn-moz:-moz-focusring .btn-ms::-ms-placeholder .btn-webkit::-webkit-placeholder .btn-o::-o-placeholder"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["btn-moz", "btn-ms", "btn-webkit", "btn-o"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["btn-moz", "btn-ms", "btn-webkit", "btn-o"] + }); }); test("should handle selector with escaped characters", () => { + const sample = ".escaped\\:class:action"; + // Act - const result = extractClassFromSelector(".escaped\\:class:action"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["escaped\\:class", "action"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["escaped\\:class", "action"] + }); }); test("should handle selector with multiple classes separated by spaces", () => { + const sample = ".class1 .class2 .class3"; + // Act - const result = extractClassFromSelector(".class1 .class2 .class3"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1", "class2", "class3"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2", "class3"] + }); }); test("should handle selector with multiple classes separated by commas", () => { + const sample = ".class1, .class2, .class3"; + // Act - const result = extractClassFromSelector(".class1, .class2, .class3"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1", "class2", "class3"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2", "class3"] + }); }); test("should handle selector with a combination of classes and ids", () => { + const sample = ".class1 #id .class2"; + // Act - const result = extractClassFromSelector(".class1 #id .class2"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1", "class2"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2"] + }); }); - test("should handle selector with attribute selectors", () => { + test("should handle [attribute] selector", () => { + const sample = ".class1[data-attr=\"value\"] .class2[data-attr='value']"; + // Act - const result = extractClassFromSelector(".class1[data-attr='value'] .class2"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1", "class2"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1[data-attr=\"value\"]", "class2[data-attr='value']"] + }); }); - test("should handle [attribute] selector", () => { + test("should handle action pseudo-class selector correctly", () => { + const sample = ".class1\\:hover\\:class2:after .class3\\:hover\\:class4:after:hover :is(.class5 .class6\\:hover\\:class7:hover:after) :is(.hover\\:class8\\:class9):after"; + // Act - const result = extractClassFromSelector(".class1[data-attr=\"value\"]"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1[data-attr=\"value\"]"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1\\:hover\\:class2", "class3\\:hover\\:class4", "class5", "class6\\:hover\\:class7", "hover\\:class8\\:class9"] + }); }); - + test("should ignore [attribute] selector that not in the same scope as class", () => { + const sample = ":is(.class1 .class2\\:class3\\:\\!class4)[aria-selected=\"true\"]"; + // Act - const result = extractClassFromSelector(":is(.class1 .class2\\:class3\\:\\!class4)[aria-selected=\"true\"]"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1", "class2\\:class3\\:\\!class4"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2\\:class3\\:\\!class4"] + }); }); test("should return null for invalid input types", () => { @@ -481,67 +541,120 @@ describe("extractClassFromSelector", () => { //? Tailwind CSS //? ********************* test("should handle Tailwind CSS important selector '!'", () => { + const sample = ".\\!my-0 .some-class\\:\\!bg-white"; + // Act - const result = extractClassFromSelector(".\\!my-0 .some-class\\:\\!bg-white"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["\\!my-0", "some-class\\:\\!bg-white"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["\\!my-0", "some-class\\:\\!bg-white"] + }) }); test("should handle Tailwind CSS selector with start with '-'", () => { + const sample = ".-class-1"; + // Act - const result = extractClassFromSelector(".-class-1"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["-class-1"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["-class-1"] + }) }); - + test("should handle Tailwind CSS selector with '.' at the number", () => { + const sample = ".class-0\\.5 .class-1\\.125"; + // Act - const result = extractClassFromSelector(".class-0\\.5 .class-1\\.125"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class-0\\.5", "class-1\\.125"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class-0\\.5", "class-1\\.125"] + }) }); - + test("should handle Tailwind CSS selector with '/' at the number", () => { + const sample = ".class-1\\/2"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class-1\\/2"] + }) + }); + + test("should handle Tailwind CSS universal selector", () => { + const sample = ".\\*\\:class1 .class2\\*\\:class3"; + // Act - const result = extractClassFromSelector(".class-1\\/2"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class-1\\/2"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["\\*\\:class1", "class2", "class3"] + }) }); test("should handle Tailwind CSS [custom parameter] selector", () => { + const sample = ".class1[100] .class2-[200]"; + // Act - const result = extractClassFromSelector(".class1[100] .class2-[200]"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1[100]", "class2-[200]"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1[100]", "class2-[200]"] + }) }); - + test("should handle Tailwind CSS [custom parameter] selector with escaped characters", () => { + const sample = ".class1\\[1em\\] .class2-\\[2em\\] .class3\\[3\\%\\] .class4-\\[4\\%\\]"; + // Act - const result = extractClassFromSelector(".class1\\[1em\\] .class2-\\[2em\\] .class3\\[3\\%\\] .class4-\\[4\\%\\]"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1\\[1em\\]", "class2-\\[2em\\]", "class3\\[3\\%\\]", "class4-\\[4\\%\\]"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1\\[1em\\]", "class2-\\[2em\\]", "class3\\[3\\%\\]", "class4-\\[4\\%\\]"] + }) }); - + test("should handle complex Tailwind CSS [custom parameter] selector", () => { + const sample = ".w-\\[calc\\(10\\%\\+5px\\)\\]"; + // Act - const result = extractClassFromSelector(".w-\\[calc\\(10\\%\\+5px\\)\\]"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["w-\\[calc\\(10\\%\\+5px\\)\\]"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["w-\\[calc\\(10\\%\\+5px\\)\\]"] + }) }); test("should ignore Tailwind CSS [custom parameter] selector that not in the same scope as class", () => { + const sample = ":is(.class1)[100]"; + // Act - const result = extractClassFromSelector(":is(.class1)[100]"); + const result = extractClassFromSelector(sample); // Assert - expect(result).toEqual(["class1"]); + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1"] + }) }); }); @@ -551,118 +664,118 @@ describe("extractClassFromSelector", () => { describe("searchForwardComponent", () => { - test("should return component name when jsx format is correct", () => { - // Arrange - const content = `const element = o.jsx(ComponentName, {data: dataValue, index: "date"});`; + test("should return component name when jsx format is correct", () => { + // Arrange + const content = `const element = o.jsx(ComponentName, {data: dataValue, index: "date"});`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual(["ComponentName"]); - }); + // Assert + expect(result).toEqual(["ComponentName"]); + }); - test("should return multiple component names for multiple matches", () => { - // Arrange - const content = `o.jsx(FirstComponent, props); o.jsx(SecondComponent, otherProps);`; + test("should return multiple component names for multiple matches", () => { + // Arrange + const content = `o.jsx(FirstComponent, props); o.jsx(SecondComponent, otherProps);`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual(["FirstComponent", "SecondComponent"]); - }); + // Assert + expect(result).toEqual(["FirstComponent", "SecondComponent"]); + }); - test("should return an empty array when no component name is found", () => { - // Arrange - const content = `o.jsx("h1", {data: dataValue, index: "date"});`; + test("should return an empty array when no component name is found", () => { + // Arrange + const content = `o.jsx("h1", {data: dataValue, index: "date"});`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual([]); - }); + // Assert + expect(result).toEqual([]); + }); - test("should return an empty array when content is empty", () => { - // Arrange - const content = ""; + test("should return an empty array when content is empty", () => { + // Arrange + const content = ""; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual([]); - }); + // Assert + expect(result).toEqual([]); + }); - test("should return an empty array when jsx is not used", () => { - // Arrange - const content = `const element = React.createElement("div", null, "Hello World");`; + test("should return an empty array when jsx is not used", () => { + // Arrange + const content = `const element = React.createElement("div", null, "Hello World");`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual([]); - }); + // Assert + expect(result).toEqual([]); + }); - test("should handle special characters in component names", () => { - // Arrange - const content = `o.jsx($Comp_1, props); o.jsx(_Comp$2, otherProps);`; + test("should handle special characters in component names", () => { + // Arrange + const content = `o.jsx($Comp_1, props); o.jsx(_Comp$2, otherProps);`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual(["$Comp_1", "_Comp$2"]); - }); + // Assert + expect(result).toEqual(["$Comp_1", "_Comp$2"]); + }); - test("should not return component names when they are quoted", () => { - // Arrange - const content = `o.jsx("ComponentName", props); o.jsx('AnotherComponent', otherProps);`; + test("should not return component names when they are quoted", () => { + // Arrange + const content = `o.jsx("ComponentName", props); o.jsx('AnotherComponent', otherProps);`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual([]); - }); + // Assert + expect(result).toEqual([]); + }); - test("should return component names when they are followed by a brace", () => { - // Arrange - const content = `o.jsx(ComponentName, {props: true});`; + test("should return component names when they are followed by a brace", () => { + // Arrange + const content = `o.jsx(ComponentName, {props: true});`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual(["ComponentName"]); - }); + // Assert + expect(result).toEqual(["ComponentName"]); + }); - test("should handle content with line breaks and multiple jsx calls", () => { - // Arrange - const content = ` + test("should handle content with line breaks and multiple jsx calls", () => { + // Arrange + const content = ` o.jsx(FirstComponent, {data: dataValue}); o.jsx(SecondComponent, {index: "date"}); o.jsx(ThirdComponent, {flag: true}); `; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual(["FirstComponent", "SecondComponent", "ThirdComponent"]); - }); + // Assert + expect(result).toEqual(["FirstComponent", "SecondComponent", "ThirdComponent"]); + }); - test("should handle content with nested jsx calls", () => { - // Arrange - const content = `o.jsx(ParentComponent, {children: o.jsx(ChildComponent, {})})`; + test("should handle content with nested jsx calls", () => { + // Arrange + const content = `o.jsx(ParentComponent, {children: o.jsx(ChildComponent, {})})`; - // Act - const result = searchForwardComponent(content); + // Act + const result = searchForwardComponent(content); - // Assert - expect(result).toEqual(["ParentComponent", "ChildComponent"]); - }); + // Assert + expect(result).toEqual(["ParentComponent", "ChildComponent"]); + }); }); diff --git a/src/utils.ts b/src/utils.ts index 6850535..1951544 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -678,6 +678,9 @@ function createNewClassName(mode: obfuscateMode, className: string, classPrefix: * Extracts classes from a CSS selector. * * @param selector - The CSS selector to extract classes from. + * @param replacementClassNames - The replacement class names. + * The position of the class name in the array should match the + * position of the class in the selector that you want to replece. * @returns An array of extracted classes. * * @example @@ -688,13 +691,38 @@ function createNewClassName(mode: obfuscateMode, className: string, classPrefix: * // Returns: [] * extractClassFromSelector("div"); */ -function extractClassFromSelector(selector: string) { +function extractClassFromSelector(selector: string, replacementClassNames?: (string | undefined)[]) { + function toBase64Key(str: string) { + return `${Buffer.from(str).toString("base64")}`; + } + function fromBase64Key(str: string) { + return `${Buffer.from(str, "base64").toString("ascii")}`; + } + + function createKey(str: string) { + const b64 = toBase64Key(str).replace(/=/g, ""); + return `{{{{{{${b64}}}}}}}`; + } + + function decodeKey(str: string) { + const regex = /{{{{{{([\w\+\/]+)}}}}}}/g; + str = str.replace(regex, (match, p1) => { + // Calculate the number of '=' needed + const padding = p1.length % 4 === 0 ? 0 : 4 - (p1.length % 4); + // Add back the '=' + const b64 = p1 + "=".repeat(padding); + return fromBase64Key(b64); + }); + return str; + } + + //? "(?:\\\*)?" for "*" selector, eg. ".\*\:pt-2" //? "\\\:" for eg.".hover\:border-b-2:hover" the ".hover\:border-b-2" should be in the same group //? "\\\.\d+" for number with ".", eg. ".ml-1\.5" the ".ml-1.5" should be in the same group, before that ".ml-1\.5" will split into ".ml-1" and ".5" //? "\\\/\d+" for number with "/", eg. ".bg-emerald-400\/20" the ".bg-emerald-400\/20" should be in the same group, before that ".bg-emerald-400\/20" will split into ".bg-emerald-400" and "\/20" //? "(?:\\?\[[\w\-="\\%\+\(\)]+\])?" for [attribute / Tailwind CSS custom parameter] selector - const extractClassRegex = /(?<=[.:!*\s]|(? { - selector = selector.replace(actionSelector, ""); + const regex = new RegExp(`(? { + console.log(selector); + return createKey(match); + }); }); - - // remove vendor pseudo class - vendorPseudoClassRegexes.forEach((regex) => { - selector = selector.replace(regex, ""); + + // replace vendor pseudo class + vendorPseudoClassRegexes.forEach((regex, i) => { + selector = selector.replace(regex, (match) => { + return createKey(match); + }); }); let classes = selector.match(extractClassRegex) as string[] | undefined; - return classes || []; -} + // replace classes with replacementClassNames + if (replacementClassNames !== undefined) { + selector = selector.replace(extractClassRegex, (originalClassName) => { + return replacementClassNames.shift() || originalClassName; + }); + } + selector = decodeKey(selector); -function getKeyByValue(object: { [key: string]: string }, value: string) { - return Object.keys(object).find(key => object[key] === value); + return { + selector: selector, + extractedClasses: classes || [] + }; } function createClassConversionJson( @@ -749,7 +790,7 @@ function createClassConversionJson( classSuffix = "", classIgnore = [], - customTailwindDarkModeSelector = null + enableObfuscateMarkers = false, }: { classConversionJsonFolderPath: string, buildFolderPath: string, @@ -760,7 +801,7 @@ function createClassConversionJson( classSuffix?: string, classIgnore?: string[], - customTailwindDarkModeSelector?: string | null + enableObfuscateMarkers?: boolean, }) { if (!fs.existsSync(classConversionJsonFolderPath)) { fs.mkdirSync(classConversionJsonFolderPath); @@ -768,9 +809,14 @@ function createClassConversionJson( const selectorConversion: ClassConversion = loadAndMergeJsonFiles(classConversionJsonFolderPath); + // pre-defined ".dark", mainly for tailwindcss dark mode + if (enableObfuscateMarkers) { + selectorConversion[".dark"] = ".dark"; + } + + // get all css selectors const cssPaths = findAllFilesWithExt(".css", buildFolderPath); const selectors: string[] = []; - cssPaths.forEach((cssPath) => { const cssContent = fs.readFileSync(cssPath, "utf-8"); const cssObj = css.parse(cssContent); @@ -780,11 +826,6 @@ function createClassConversionJson( // remove duplicated selectors const uniqueSelectors = [...new Set(selectors)]; - // for tailwindcss dark mode - if (customTailwindDarkModeSelector) { - selectorConversion[".dark"] = `.${customTailwindDarkModeSelector}`; - } - const allowClassStartWith = [".", ":is(", ":where(", ":not(" , ":matches(", ":nth-child(", ":nth-last-child(" , ":nth-of-type(", ":nth-last-of-type(", ":first-child(" @@ -803,9 +844,13 @@ function createClassConversionJson( for (let i = 0; i < uniqueSelectors.length; i++) { const originalSelector = uniqueSelectors[i]; - selectorClassPair[originalSelector] = extractClassFromSelector(originalSelector) || []; + const { extractedClasses } = extractClassFromSelector(originalSelector) || []; + selectorClassPair[originalSelector] = extractedClasses; } + //? since a multi part selector normally grouped by multiple basic selectors + //? so we need to obfuscate the basic selector first + //? eg. ":is(.class1 .class2)" grouped by ".class1" and ".class2" // sort the selectorClassPair by the number of classes in the selector (from least to most) // and remove the selector with no class const sortedSelectorClassPair = Object.entries(selectorClassPair) @@ -818,47 +863,33 @@ function createClassConversionJson( if (selectorClasses.length == 0) { continue; } + let selector = originalSelector; let classes = selectorConversion[selector] ? [selectorConversion[selector].slice(1)] : selectorClasses; + if (classes && allowClassStartWith.some((start) => selector.startsWith(start))) { - if (selectorClasses.length > 1) { - const haveNotFoundClass = classes.some((className) => { - return !selectorConversion[`.${className}`]; - }); - classes = haveNotFoundClass ? [originalSelector.slice(1)] : classes; - } - classes.forEach((className) => { + classes = classes.map((className) => { if (classIgnore.includes(className)) { - return; + return className; } - let newClassName = selectorConversion[`.${className}`]; - - if (selectorConversion[originalSelector]) { - selector = selectorConversion[originalSelector]; - } else { - if (!newClassName) { - newClassName = createNewClassName(mode, className, classPrefix, classSuffix, classNameLength); - selectorConversion[`.${className}`] = `.${newClassName}`; - } else { - newClassName = newClassName.slice(1); - } - selector = selector.replace(className, newClassName); + let obfuscatedSelector = selectorConversion[`.${className}`]; + if (!obfuscatedSelector) { + const obfuscatedClass = createNewClassName(mode, className, classPrefix, classSuffix, classNameLength); + obfuscatedSelector = `.${obfuscatedClass}`; + selectorConversion[`.${className}`] = obfuscatedSelector; } + // if (selector.includes("dark\\:ring-dark-tremor-ring")) { + // console.log(selector); + // } + // if (obfuscatedSelector.length !== 6) { + // console.log(selector); + // } + return obfuscatedSelector.slice(1) }); - selectorConversion[originalSelector] = selector; - - // for tailwindcss dark mode - if (originalSelector.startsWith(`:is(.dark .dark\\:`)) { - const obfuscatedDarkSelector = selectorConversion[".dark"]; - //eg. :is(.dark .dark\\:bg-emerald-400\\/20 .dark\\:bg-emerald-400\\/20) => .dark\\:bg-emerald-400\\/20 - const matchWholeDarkSelector = /(?<=\.dark\s)([\w\\\/\-:.]*)/; - const match = originalSelector.match(matchWholeDarkSelector); - const wholeDarkSelector = match ? match[0] : ""; - if (obfuscatedDarkSelector && classes.length > 2) { - //? since during the obfuscation, the class name will remove the "." at the start, so we need to add it back to prevent the class name got sliced - const obfuscatedWholeDarkSelector = wholeDarkSelector.replace(".dark", obfuscatedDarkSelector).replace(classes[2], selectorConversion[`.${classes[2]}`].slice(1)); - selectorConversion[wholeDarkSelector] = obfuscatedWholeDarkSelector; - } + const { selector: obfuscatedSelector } = extractClassFromSelector(originalSelector, classes); + selectorConversion[originalSelector] = obfuscatedSelector; + if (originalSelector.includes(".dark")) { + console.log(selector); } } } From 50ce7bfa86d2b6046a22121a634f2068d2ac59fd Mon Sep 17 00:00:00 2001 From: Freeman Date: Tue, 30 Jan 2024 23:17:10 +0000 Subject: [PATCH 02/12] Fixed `:hover` Action #6 --- src/utils.test.ts | 2 +- src/utils.ts | 54 +++++++++++++++++------------------------------ 2 files changed, 20 insertions(+), 36 deletions(-) diff --git a/src/utils.test.ts b/src/utils.test.ts index e301f21..dd8f6b0 100644 --- a/src/utils.test.ts +++ b/src/utils.test.ts @@ -445,7 +445,7 @@ describe("extractClassFromSelector", () => { // Assert expect(result).toEqual({ selector: sample, - extractedClasses: ["escaped\\:class", "action"] + extractedClasses: ["escaped\\:class"] }); }); diff --git a/src/utils.ts b/src/utils.ts index 1951544..cf007ec 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -522,6 +522,10 @@ function copyCssData(targetSelector: string, newSelectorName: string, cssObj: an // remove empty selectors item.selectors = item.selectors.filter((selector: any) => selector !== ""); if (item.selectors.includes(targetSelector)) { + // if (targetSelector.endsWith(".hover\\:border-b-2:hover")) { + // if (targetSelector.endsWith("border-b-2:hover")) { + // console.log("targetSelector", targetSelector); + // } const newRule = JSON.parse(JSON.stringify(item)); newRule.selectors = [newSelectorName]; @@ -552,6 +556,12 @@ function obfuscateCss(classConversion: ClassConversion, cssPath: string) { } }); + // join all selectors with action selectors + const actionSelectors = getAllSelector(cssObj).filter((selector) => selector.match(findActionSelectorsRegex)); + actionSelectors.forEach((actionSelector) => { + usedKeyRegistery.add(actionSelector); + }); + // copy css rules usedKeyRegistery.forEach((key) => { const originalSelectorName = key; @@ -564,7 +574,8 @@ function obfuscateCss(classConversion: ClassConversion, cssPath: string) { log("info", "CSS rules:", `Added ${cssObj.stylesheet.rules.length - cssRulesCount} new CSS rules to ${getFilenameFromPath(cssPath)}`); const cssOptions = { - compress: true, + // compress: true, + compress: false, }; const cssObfuscatedContent = css.stringify(cssObj, cssOptions); @@ -674,6 +685,11 @@ function createNewClassName(mode: obfuscateMode, className: string, classPrefix: return newClassName; } +//? CSS action selectors always at the end of the selector +//? and they can be stacked, eg. "class:hover:active" +//? action selectors can start with ":" or "::" +const findActionSelectorsRegex = /(? { - const regex = new RegExp(`(? { - console.log(selector); - return createKey(match); - }); + selector = selector.replace(findActionSelectorsRegex, (match) => { + return createKey(match); }); // replace vendor pseudo class @@ -859,7 +854,6 @@ function createClassConversionJson( for (let i = 0; i < sortedSelectorClassPair.length; i++) { const [originalSelector, selectorClasses] = sortedSelectorClassPair[i]; - // const selectorStartWith = originalSelector.slice(0, 1); if (selectorClasses.length == 0) { continue; } @@ -878,19 +872,10 @@ function createClassConversionJson( obfuscatedSelector = `.${obfuscatedClass}`; selectorConversion[`.${className}`] = obfuscatedSelector; } - // if (selector.includes("dark\\:ring-dark-tremor-ring")) { - // console.log(selector); - // } - // if (obfuscatedSelector.length !== 6) { - // console.log(selector); - // } return obfuscatedSelector.slice(1) }); const { selector: obfuscatedSelector } = extractClassFromSelector(originalSelector, classes); selectorConversion[originalSelector] = obfuscatedSelector; - if (originalSelector.includes(".dark")) { - console.log(selector); - } } } @@ -987,7 +972,6 @@ function obfuscateForwardComponentJs(searchContent: string, wholeContent: string componentObfuscatedcomponentCodePairs.push(...childComponentObfuscatedcomponentCodePairs); } - console.log(componentObfuscatedcomponentCodePairs); return componentObfuscatedcomponentCodePairs; } From d62f49be18c2aea0318a7c15db4bd76c26af8d90 Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 00:48:59 +0000 Subject: [PATCH 03/12] Automatically Remove Original CSS after Full Obfuscation #6 --- src/index.ts | 2 +- src/utils.test.ts | 63 ++++++++++++++++------------------------------- src/utils.ts | 60 ++++++++++++++++++++++++++++++-------------- 3 files changed, 63 insertions(+), 62 deletions(-) diff --git a/src/index.ts b/src/index.ts index 731aeb7..1ee738a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -40,7 +40,7 @@ function obfuscate(options: Options) { classSuffix: options.classSuffix, classIgnore: options.classIgnore, - enableObfuscateMarkers: options.enableMarkers, + enableObfuscateMarkerClasses: options.enableMarkers, }); log("success", "Obfuscation", "Class conversion JSON created/updated"); diff --git a/src/utils.test.ts b/src/utils.test.ts index dd8f6b0..7859e9e 100644 --- a/src/utils.test.ts +++ b/src/utils.test.ts @@ -3,7 +3,8 @@ import css from "css"; import { copyCssData, findContentBetweenMarker, findHtmlTagContentsByClass, getFilenameFromPath, - extractClassFromSelector, searchForwardComponent + extractClassFromSelector, searchForwardComponent, + renameCssSelector } from "./utils"; const testCss = ` @@ -72,27 +73,6 @@ const testCss = ` // } // return recursive(cssObj.stylesheet.rules) || []; // } -// function renameCssSelector(oldSelector: string, newSelector: string, cssObj: any): any[] { -// function recursive(rules: any[]): any[] { -// return rules.map((item: any) => { -// if (item.rules) { -// return { ...item, rules: recursive(item.rules) }; -// } else if (item.selectors) { -// // remove empty selectors -// item.selectors = item.selectors.filter((selector: any) => selector !== ""); - -// let updatedSelectors = item.selectors.map((selector: any) => -// selector === oldSelector ? newSelector : selector -// ); - -// return { ...item, selectors: updatedSelectors }; -// } else { -// return item; -// } -// }); -// } -// return recursive(cssObj.stylesheet.rules); -// } // describe("getCssRulesIncludedSelector", () => { // it("should return the correct CSS rules (single selector, no nested rule)", () => { @@ -136,30 +116,29 @@ const testCss = ` // }); // }); -// describe("renameCssSelector", () => { -// it("should rename the CSS selector (single selector, no nested rule)", () => { -// const cssObj = css.parse(testCss); +describe("renameCssSelector", () => { + it("should rename the CSS selector (single selector, no nested rule)", () => { + const cssObj = css.parse(testCss); -// const oldSelector = ".s1-1"; -// const newSelector = ".s1-1-new"; -// const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 29, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 33, "column": 9 }, "end": { "line": 33, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 34, "column": 9 }, "end": { "line": 34, "column": 23 } } }], "position": { "start": { "line": 31, "column": 5 }, "end": { "line": 35, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 36, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 39, "column": 5 }, "end": { "line": 39, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 40, "column": 5 }, "end": { "line": 40, "column": 19 } } }], "position": { "start": { "line": 38, "column": 1 }, "end": { "line": 41, "column": 2 } } }]; + const oldSelector = ".s1-1"; + const newSelector = ".s1-1-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; -// const result = renameCssSelector(oldSelector, newSelector, cssObj); -// expect(result).toEqual(expectedOutput); -// }); + const result = renameCssSelector(oldSelector, newSelector, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); -// // it("should rename the CSS selector (multiple nested media queries)", () => { -// // const cssObj = css.parse(testCss); + it("should rename the CSS selector (multiple nested media queries)", () => { + const cssObj = css.parse(testCss); -// // const oldSelector = ".s2-2"; -// // const newSelector = ".s2-2-new"; -// // const expectedOutput = [{ "type": "rule", "selectors": [".s0"], "declarations": [{ "type": "declaration", "property": "background", "value": "#eee", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 21 } } }, { "type": "declaration", "property": "color", "value": "#888", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 16 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#eee", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 25 } } }, { "type": "declaration", "property": "color", "value": "#888", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 20 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#eee", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 29 } } }, { "type": "declaration", "property": "color", "value": "#888", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 24 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#eee", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 29 } } }, { "type": "declaration", "property": "color", "value": "#888", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 24 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#eee", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 29 } } }, { "type": "declaration", "property": "color", "value": "#888", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 24 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 29, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 30, "column": 2 } } }]; + const oldSelector = ".s2-2"; + const newSelector = ".s2-2-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2-new", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; -// // const result = renameCssSelector(oldSelector, newSelector, cssObj); -// // console.log(JSON.stringify(result)); -// // expect(result).toEqual(expectedOutput); -// // }); -// }); + const result = renameCssSelector(oldSelector, newSelector, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); +}); //! ================================ //! copyCssData @@ -591,7 +570,7 @@ describe("extractClassFromSelector", () => { extractedClasses: ["class-1\\/2"] }) }); - + test("should handle Tailwind CSS universal selector", () => { const sample = ".\\*\\:class1 .class2\\*\\:class3"; diff --git a/src/utils.ts b/src/utils.ts index cf007ec..4a974ba 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -215,7 +215,7 @@ function replaceJsonKeysInFiles( // Obfuscate CSS files cssPaths.forEach((cssPath) => { - obfuscateCss(classConversion, cssPath); + obfuscateCss(classConversion, cssPath, enableObfuscateMarkerClasses); }); } @@ -492,7 +492,6 @@ function obfuscateJs(content: string, key: string, classCoversion: ClassConversi }); } - const { obfuscatedContent, usedKeys } = obfuscateKeys(classCoversion, truncatedContent, contentIgnoreRegexes); addKeysToRegistery(usedKeys); if (truncatedContent !== obfuscatedContent) { @@ -521,12 +520,9 @@ function copyCssData(targetSelector: string, newSelectorName: string, cssObj: an } else if (item.selectors) { // remove empty selectors item.selectors = item.selectors.filter((selector: any) => selector !== ""); - if (item.selectors.includes(targetSelector)) { - // if (targetSelector.endsWith(".hover\\:border-b-2:hover")) { - // if (targetSelector.endsWith("border-b-2:hover")) { - // console.log("targetSelector", targetSelector); - // } + // check if the selector is the target selector + if (item.selectors.includes(targetSelector)) { const newRule = JSON.parse(JSON.stringify(item)); newRule.selectors = [newSelectorName]; @@ -543,14 +539,38 @@ function copyCssData(targetSelector: string, newSelectorName: string, cssObj: an return cssObj; } -function obfuscateCss(classConversion: ClassConversion, cssPath: string) { +function renameCssSelector(oldSelector: string, newSelector: string, cssObj: any) { + function recursive(rules: any[]): any[] { + return rules.map((item: any) => { + if (item.rules) { + return { ...item, rules: recursive(item.rules) }; + } else if (item.selectors) { + // remove empty selectors + item.selectors = item.selectors.filter((selector: any) => selector !== ""); + + let updatedSelectors = item.selectors.map((selector: any) => + selector === oldSelector ? newSelector : selector + ); + + return { ...item, selectors: updatedSelectors }; + } else { + return item; + } + }); + } + + cssObj.stylesheet.rules = recursive(cssObj.stylesheet.rules); + return cssObj; +} + +function obfuscateCss(selectorConversion: ClassConversion, cssPath: string, replaceOriginalSelector: boolean = false) { let cssContent = fs.readFileSync(cssPath, "utf-8"); let cssObj = css.parse(cssContent); const cssRulesCount = cssObj.stylesheet.rules.length; // join all selectors start with ":" (eg. ":is") - Object.keys(classConversion).forEach((key) => { + Object.keys(selectorConversion).forEach((key) => { if (key.startsWith(":")) { usedKeyRegistery.add(key); } @@ -562,20 +582,22 @@ function obfuscateCss(classConversion: ClassConversion, cssPath: string) { usedKeyRegistery.add(actionSelector); }); - // copy css rules + // modify css rules usedKeyRegistery.forEach((key) => { const originalSelectorName = key; - const obfuscatedSelectorName = classConversion[key]; + const obfuscatedSelectorName = selectorConversion[key]; if (obfuscatedSelectorName) { - // copy the original css rules and paste it with the obfuscated selector name - cssObj = copyCssData(originalSelectorName, classConversion[key], cssObj); + if (replaceOriginalSelector) { + cssObj = renameCssSelector(originalSelectorName, selectorConversion[key], cssObj); + } else { + cssObj = copyCssData(originalSelectorName, selectorConversion[key], cssObj); + } } }); log("info", "CSS rules:", `Added ${cssObj.stylesheet.rules.length - cssRulesCount} new CSS rules to ${getFilenameFromPath(cssPath)}`); const cssOptions = { - // compress: true, - compress: false, + compress: true, }; const cssObfuscatedContent = css.stringify(cssObj, cssOptions); @@ -785,7 +807,7 @@ function createClassConversionJson( classSuffix = "", classIgnore = [], - enableObfuscateMarkers = false, + enableObfuscateMarkerClasses = false, }: { classConversionJsonFolderPath: string, buildFolderPath: string, @@ -796,7 +818,7 @@ function createClassConversionJson( classSuffix?: string, classIgnore?: string[], - enableObfuscateMarkers?: boolean, + enableObfuscateMarkerClasses?: boolean, }) { if (!fs.existsSync(classConversionJsonFolderPath)) { fs.mkdirSync(classConversionJsonFolderPath); @@ -805,7 +827,7 @@ function createClassConversionJson( const selectorConversion: ClassConversion = loadAndMergeJsonFiles(classConversionJsonFolderPath); // pre-defined ".dark", mainly for tailwindcss dark mode - if (enableObfuscateMarkers) { + if (enableObfuscateMarkerClasses) { selectorConversion[".dark"] = ".dark"; } @@ -980,5 +1002,5 @@ export { , replaceJsonKeysInFiles, setLogLevel , copyCssData, findContentBetweenMarker, findHtmlTagContentsByClass , findAllFilesWithExt, createClassConversionJson, extractClassFromSelector - , obfuscateKeys, searchForwardComponent, obfuscateForwardComponentJs + , obfuscateKeys, searchForwardComponent, obfuscateForwardComponentJs, renameCssSelector }; From 6b8c1337021b6a0febcd40ab782af71ee5edfc0d Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 01:27:04 +0000 Subject: [PATCH 04/12] Restructured Folder Structure --- .prettierignore | 5 + .prettierrc | 7 + src/config.ts | 2 +- src/handlers/css.test.ts | 489 +++++++++++++++++++++++++++++ src/handlers/css.ts | 364 ++++++++++++++++++++++ src/handlers/html.test.ts | 29 ++ src/handlers/html.ts | 106 +++++++ src/handlers/js.test.ts | 125 ++++++++ src/handlers/js.ts | 128 ++++++++ src/index.ts | 12 +- src/{type.ts => types.ts} | 4 +- src/utils.test.ts | 630 +------------------------------------- src/utils.ts | 579 +---------------------------------- 13 files changed, 1278 insertions(+), 1202 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 src/handlers/css.test.ts create mode 100644 src/handlers/css.ts create mode 100644 src/handlers/html.test.ts create mode 100644 src/handlers/html.ts create mode 100644 src/handlers/js.test.ts create mode 100644 src/handlers/js.ts rename src/{type.ts => types.ts} (94%) diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..7605e7f --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +build +coverage +dist +node_modules +*.test.* \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..cf7c9eb --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "semi": true, + "trailingComma": "all", + "singleQuote": false, + "printWidth": 100, + "tabWidth": 2 +} diff --git a/src/config.ts b/src/config.ts index cf4f8dd..0905ca2 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,4 +1,4 @@ -import { type Options, type OptionalOptions } from "./type"; +import { type Options, type OptionalOptions } from "./types"; const defaultOptions: Options = { enable: true, // Enable or disable the plugin. diff --git a/src/handlers/css.test.ts b/src/handlers/css.test.ts new file mode 100644 index 0000000..947affa --- /dev/null +++ b/src/handlers/css.test.ts @@ -0,0 +1,489 @@ +// @ts-ignore +import css from "css"; + +import { + copyCssData, + renameCssSelector, + extractClassFromSelector, +} from "./css"; + +const testCss = ` +.s0-1 { + background: #181810; + color: #181811; +} + +@media (min-width: 640px) +{ + .s1-1 + { + background: #181812; + color: #181813; + } + + @media (min-width: 768px) + { + .s2-1, .s2-1-1 { + background: #181814; + color: #181815; + }, + .s2-1, .s2-1-1 { + background: #181814; + color: #181815; + }, + .s2-2, .s2-2-2 { + background: #181816; + color: #181817; + }, + .s2-3 { + background: #181818; + color: #181819; + } + } + + .s1-2 + { + background: #181820; + color: #181821; + } +} + +.s0-2 { + background: #181822; + color: #181823; +} +` + +// function getCssRulesIncludedSelector(selector: string, cssObj: any): any[] { +// function recursive(rules: any[]) { +// for (const item of rules) { +// if (item.rules) { +// const result: any = recursive(item.rules); +// if (result !== null) { +// return [{ ...item, rules: result }]; +// } +// } else if (item.selectors.includes(selector)) { +// // remove empty selectors +// item.selectors = item.selectors.filter((selector: any) => selector !== ""); + +// return [{ ...item, selectors: [selector] }]; +// } +// } +// return null; +// } +// return recursive(cssObj.stylesheet.rules) || []; +// } + +// describe("getCssRulesIncludedSelector", () => { +// it("should return the correct CSS rules (single selector, no nested rule)", () => { +// const cssObj = css.parse(testCss); + +// const selector = ".s0-1"; +// const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }]; + +// const result = getCssRulesIncludedSelector(selector, cssObj); +// expect(result).toEqual(expectedOutput); +// }); + +// it("should return the correct CSS rules (multiple nested rules)", () => { +// const cssObj = css.parse(testCss); + +// const selector = ".s2-3"; +// const expectedOutput = [{ "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 29, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 36, "column": 2 } } }]; + +// const result = getCssRulesIncludedSelector(selector, cssObj); +// expect(result).toEqual(expectedOutput); +// }); + +// it("should return the correct CSS rules (multiple selector in same rule)", () => { +// const cssObj = css.parse(testCss); + +// const selector = ".s2-2-2"; +// const expectedOutput = [{ "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 29, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 36, "column": 2 } } }]; + +// const result = getCssRulesIncludedSelector(selector, cssObj); +// expect(result).toEqual(expectedOutput); +// }); + +// it("should return the empty array", () => { +// const cssObj = css.parse(testCss); + +// const selector = ".s2-2-3"; +// const expectedOutput: [] = []; + +// const result = getCssRulesIncludedSelector(selector, cssObj); +// expect(result).toEqual(expectedOutput); +// }); +// }); + + +//! ================================ +//! renameCssSelector +//! ================================ + +describe("renameCssSelector", () => { + it("should rename the CSS selector (single selector, no nested rule)", () => { + const cssObj = css.parse(testCss); + + const oldSelector = ".s1-1"; + const newSelector = ".s1-1-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; + + const result = renameCssSelector(oldSelector, newSelector, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); + + it("should rename the CSS selector (multiple nested media queries)", () => { + const cssObj = css.parse(testCss); + + const oldSelector = ".s2-2"; + const newSelector = ".s2-2-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2-new", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; + + const result = renameCssSelector(oldSelector, newSelector, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); +}); + +//! ================================ +//! copyCssData +//! ================================ + +describe("copyCssData", () => { + it("should copy the CSS data (single selector, no nested rule)", () => { + const cssObj = css.parse(testCss); + + const targetSelector = ".s0-2"; + const newSelectorName = ".s0-2-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; + + const result = copyCssData(targetSelector, newSelectorName, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); + + it("should copy the CSS data (multiple nested rules)", () => { + const cssObj = css.parse(testCss); + + const targetSelector = ".s2-3"; + const newSelectorName = ".s2-3-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; + + const result = copyCssData(targetSelector, newSelectorName, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); + + it("should copy the CSS data (multiple selector in same rule)", () => { + const cssObj = css.parse(testCss); + + const targetSelector = ".s2-2-2"; + const newSelectorName = ".s2-2-2-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2-2-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; + + const result = copyCssData(targetSelector, newSelectorName, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); + + it("should copy the CSS data (same selector with different declarations)", () => { + const cssObj = css.parse(testCss); + + const targetSelector = ".s2-1"; + const newSelectorName = ".s2-1-new"; + const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; + + const result = copyCssData(targetSelector, newSelectorName, cssObj); + expect(result.stylesheet.rules).toEqual(expectedOutput); + }); +}); + +//! ================================ +//! extractClassFromSelector +//! ================================ + +describe("extractClassFromSelector", () => { + + test("should extract single class from simple selector", () => { + const sample = ".example"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["example"] + }); + }); + + test("should extract multiple classes from complex selector", () => { + const sample = ":is(.some-class .some-class\\:bg-dark::-moz-placeholder)[data-active=\'true\']"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["some-class", "some-class\\:bg-dark"] + }); + }); + + test("should handle selector with no classes", () => { + const sample = "div"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: [] + }); + }); + + test("should handle selector with action pseudo-classes and not extract them", () => { + const sample = ".btn:hover .btn-active::after"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["btn", "btn-active"] + }); + }); + + test("should handle selector with vendor pseudo-classes and not extract them", () => { + const sample = ".btn-moz:-moz-focusring .btn-ms::-ms-placeholder .btn-webkit::-webkit-placeholder .btn-o::-o-placeholder"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["btn-moz", "btn-ms", "btn-webkit", "btn-o"] + }); + }); + + test("should handle selector with escaped characters", () => { + const sample = ".escaped\\:class:action"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["escaped\\:class"] + }); + }); + + test("should handle selector with multiple classes separated by spaces", () => { + const sample = ".class1 .class2 .class3"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2", "class3"] + }); + }); + + test("should handle selector with multiple classes separated by commas", () => { + const sample = ".class1, .class2, .class3"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2", "class3"] + }); + }); + + test("should handle selector with a combination of classes and ids", () => { + const sample = ".class1 #id .class2"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2"] + }); + }); + + test("should handle [attribute] selector", () => { + const sample = ".class1[data-attr=\"value\"] .class2[data-attr='value']"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1[data-attr=\"value\"]", "class2[data-attr='value']"] + }); + }); + + test("should handle action pseudo-class selector correctly", () => { + const sample = ".class1\\:hover\\:class2:after .class3\\:hover\\:class4:after:hover :is(.class5 .class6\\:hover\\:class7:hover:after) :is(.hover\\:class8\\:class9):after"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1\\:hover\\:class2", "class3\\:hover\\:class4", "class5", "class6\\:hover\\:class7", "hover\\:class8\\:class9"] + }); + }); + + test("should ignore [attribute] selector that not in the same scope as class", () => { + const sample = ":is(.class1 .class2\\:class3\\:\\!class4)[aria-selected=\"true\"]"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1", "class2\\:class3\\:\\!class4"] + }); + }); + + test("should return null for invalid input types", () => { + // Act & Assert + // @ts-ignore + expect(() => extractClassFromSelector(null)).toThrow(TypeError); + // @ts-ignore + expect(() => extractClassFromSelector(undefined)).toThrow(TypeError); + expect(() => extractClassFromSelector(123 as any)).toThrow(TypeError); + }); + + + //? ********************* + //? Tailwind CSS + //? ********************* + test("should handle Tailwind CSS important selector '!'", () => { + const sample = ".\\!my-0 .some-class\\:\\!bg-white"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["\\!my-0", "some-class\\:\\!bg-white"] + }) + }); + + test("should handle Tailwind CSS selector with start with '-'", () => { + const sample = ".-class-1"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["-class-1"] + }) + }); + + test("should handle Tailwind CSS selector with '.' at the number", () => { + const sample = ".class-0\\.5 .class-1\\.125"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class-0\\.5", "class-1\\.125"] + }) + }); + + test("should handle Tailwind CSS selector with '/' at the number", () => { + const sample = ".class-1\\/2"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class-1\\/2"] + }) + }); + + test("should handle Tailwind CSS universal selector", () => { + const sample = ".\\*\\:class1 .class2\\*\\:class3"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["\\*\\:class1", "class2", "class3"] + }) + }); + + test("should handle Tailwind CSS [custom parameter] selector", () => { + const sample = ".class1[100] .class2-[200]"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1[100]", "class2-[200]"] + }) + }); + + test("should handle Tailwind CSS [custom parameter] selector with escaped characters", () => { + const sample = ".class1\\[1em\\] .class2-\\[2em\\] .class3\\[3\\%\\] .class4-\\[4\\%\\]"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1\\[1em\\]", "class2-\\[2em\\]", "class3\\[3\\%\\]", "class4-\\[4\\%\\]"] + }) + }); + + test("should handle complex Tailwind CSS [custom parameter] selector", () => { + const sample = ".w-\\[calc\\(10\\%\\+5px\\)\\]"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["w-\\[calc\\(10\\%\\+5px\\)\\]"] + }) + }); + + test("should ignore Tailwind CSS [custom parameter] selector that not in the same scope as class", () => { + const sample = ":is(.class1)[100]"; + + // Act + const result = extractClassFromSelector(sample); + + // Assert + expect(result).toEqual({ + selector: sample, + extractedClasses: ["class1"] + }) + }); +}); diff --git a/src/handlers/css.ts b/src/handlers/css.ts new file mode 100644 index 0000000..f271864 --- /dev/null +++ b/src/handlers/css.ts @@ -0,0 +1,364 @@ +import path from "path"; +import fs from "fs"; +// @ts-ignore +import css from 'css'; + +import { + log, + getRandomString, + simplifyString, + loadAndMergeJsonFiles, + findAllFilesWithExt, + usedKeyRegistery, + getFilenameFromPath, +} from "../utils"; +import { obfuscateMode, SelectorConversion } from "../types"; + +function createNewClassName(mode: obfuscateMode, className: string, classPrefix: string = "", classSuffix: string = "", classNameLength: number = 5) { + let newClassName = className; + + switch (mode) { + case "random": + newClassName = getRandomString(classNameLength); + break; + case "simplify": + newClassName = simplifyString(className); + break; + default: + break; + } + + if (classPrefix) { + newClassName = `${classPrefix}${newClassName}`; + } + if (classSuffix) { + newClassName = `${newClassName}${classSuffix}`; + } + + return newClassName; +} + +//? CSS action selectors always at the end of the selector +//? and they can be stacked, eg. "class:hover:active" +//? action selectors can start with ":" or "::" +const findActionSelectorsRegex = /(? { + // Calculate the number of '=' needed + const padding = p1.length % 4 === 0 ? 0 : 4 - (p1.length % 4); + // Add back the '=' + const b64 = p1 + "=".repeat(padding); + return fromBase64Key(b64); + }); + return str; + } + + //? "(?:\\\*)?" for "*" selector, eg. ".\*\:pt-2" + //? "\\\:" for eg.".hover\:border-b-2:hover" the ".hover\:border-b-2" should be in the same group + //? "\\\.\d+" for number with ".", eg. ".ml-1\.5" the ".ml-1.5" should be in the same group, before that ".ml-1\.5" will split into ".ml-1" and ".5" + //? "\\\/\d+" for number with "/", eg. ".bg-emerald-400\/20" the ".bg-emerald-400\/20" should be in the same group, before that ".bg-emerald-400\/20" will split into ".bg-emerald-400" and "\/20" + //? "(?:\\?\[[\w\-="\\%\+\(\)]+\])?" for [attribute / Tailwind CSS custom parameter] selector + const extractClassRegex = /(?<=[.:!\s]|(? { + return createKey(match); + }); + + // replace vendor pseudo class + vendorPseudoClassRegexes.forEach((regex, i) => { + selector = selector.replace(regex, (match) => { + return createKey(match); + }); + }); + + let classes = selector.match(extractClassRegex) as string[] | undefined; + + // replace classes with replacementClassNames + if (replacementClassNames !== undefined) { + selector = selector.replace(extractClassRegex, (originalClassName) => { + return replacementClassNames.shift() || originalClassName; + }); + } + selector = decodeKey(selector); + + return { + selector: selector, + extractedClasses: classes || [] + }; +} + +function getAllSelector(cssObj: any): any[] { + const selectors: string[] = []; + function recursive(rules: any[]) { + for (const item of rules) { + if (item.rules) { + recursive(item.rules); + } else if (item.selectors) { + // remove empty selectors + item.selectors = item.selectors.filter((selector: any) => selector !== ""); + + selectors.push(...item.selectors); + } + } + return null; + } + recursive(cssObj.stylesheet.rules); + return selectors; +} + +function createSelectorConversionJson( + { + selectorConversionJsonFolderPath, + buildFolderPath, + + mode = "random", + classNameLength = 5, + classPrefix = "", + classSuffix = "", + classIgnore = [], + + enableObfuscateMarkerClasses = false, + }: { + selectorConversionJsonFolderPath: string, + buildFolderPath: string, + + mode?: obfuscateMode, + classNameLength?: number, + classPrefix?: string, + classSuffix?: string, + classIgnore?: string[], + + enableObfuscateMarkerClasses?: boolean, + }) { + if (!fs.existsSync(selectorConversionJsonFolderPath)) { + fs.mkdirSync(selectorConversionJsonFolderPath); + } + + const selectorConversion: SelectorConversion = loadAndMergeJsonFiles(selectorConversionJsonFolderPath); + + // pre-defined ".dark", mainly for tailwindcss dark mode + if (enableObfuscateMarkerClasses) { + selectorConversion[".dark"] = ".dark"; + } + + // get all css selectors + const cssPaths = findAllFilesWithExt(".css", buildFolderPath); + const selectors: string[] = []; + cssPaths.forEach((cssPath) => { + const cssContent = fs.readFileSync(cssPath, "utf-8"); + const cssObj = css.parse(cssContent); + selectors.push(...getAllSelector(cssObj)); + }); + + // remove duplicated selectors + const uniqueSelectors = [...new Set(selectors)]; + + const allowClassStartWith = [".", ":is(", ":where(", ":not(" + , ":matches(", ":nth-child(", ":nth-last-child(" + , ":nth-of-type(", ":nth-last-of-type(", ":first-child(" + , ":last-child(", ":first-of-type(", ":last-of-type(" + , ":only-child(", ":only-of-type(", ":empty(", ":link(" + , ":visited(", ":active(", ":hover(", ":focus(", ":target(" + , ":lang(", ":enabled(", ":disabled(", ":checked(", ":default(" + , ":indeterminate(", ":root(", ":before(" + , ":after(", ":first-letter(", ":first-line(", ":selection(" + , ":read-only(", ":read-write(", ":fullscreen(", ":optional(" + , ":required(", ":valid(", ":invalid(", ":in-range(", ":out-of-range(" + , ":placeholder-shown(" + ]; + + const selectorClassPair: { [key: string]: string[] } = {}; + + for (let i = 0; i < uniqueSelectors.length; i++) { + const originalSelector = uniqueSelectors[i]; + const { extractedClasses } = extractClassFromSelector(originalSelector) || []; + selectorClassPair[originalSelector] = extractedClasses; + } + + //? since a multi part selector normally grouped by multiple basic selectors + //? so we need to obfuscate the basic selector first + //? eg. ":is(.class1 .class2)" grouped by ".class1" and ".class2" + // sort the selectorClassPair by the number of classes in the selector (from least to most) + // and remove the selector with no class + const sortedSelectorClassPair = Object.entries(selectorClassPair) + .sort((a, b) => a[1].length - b[1].length) + .filter((pair) => pair[1].length > 0); + + for (let i = 0; i < sortedSelectorClassPair.length; i++) { + const [originalSelector, selectorClasses] = sortedSelectorClassPair[i]; + if (selectorClasses.length == 0) { + continue; + } + + let selector = originalSelector; + let classes = selectorConversion[selector] ? [selectorConversion[selector].slice(1)] : selectorClasses; + + if (classes && allowClassStartWith.some((start) => selector.startsWith(start))) { + classes = classes.map((className) => { + if (classIgnore.includes(className)) { + return className; + } + let obfuscatedSelector = selectorConversion[`.${className}`]; + if (!obfuscatedSelector) { + const obfuscatedClass = createNewClassName(mode, className, classPrefix, classSuffix, classNameLength); + obfuscatedSelector = `.${obfuscatedClass}`; + selectorConversion[`.${className}`] = obfuscatedSelector; + } + return obfuscatedSelector.slice(1) + }); + const { selector: obfuscatedSelector } = extractClassFromSelector(originalSelector, classes); + selectorConversion[originalSelector] = obfuscatedSelector; + } + } + + const jsonPath = path.join(process.cwd(), selectorConversionJsonFolderPath, "conversion.json"); + fs.writeFileSync(jsonPath, JSON.stringify(selectorConversion, null, 2)); +} + +function copyCssData(targetSelector: string, newSelectorName: string, cssObj: any) { + function recursive(rules: any[]): any[] { + return rules.map((item: any) => { + if (item.rules) { + let newRules = recursive(item.rules); + if (Array.isArray(newRules)) { + newRules = newRules.flat(); + } + return { ...item, rules: newRules }; + } else if (item.selectors) { + // remove empty selectors + item.selectors = item.selectors.filter((selector: any) => selector !== ""); + + // check if the selector is the target selector + if (item.selectors.includes(targetSelector)) { + const newRule = JSON.parse(JSON.stringify(item)); + newRule.selectors = [newSelectorName]; + + return [item, newRule]; + } else { + return item; + } + } else { + return item; + } + }); + } + cssObj.stylesheet.rules = recursive(cssObj.stylesheet.rules).flat(); + return cssObj; +} + +function renameCssSelector(oldSelector: string, newSelector: string, cssObj: any) { + function recursive(rules: any[]): any[] { + return rules.map((item: any) => { + if (item.rules) { + return { ...item, rules: recursive(item.rules) }; + } else if (item.selectors) { + // remove empty selectors + item.selectors = item.selectors.filter((selector: any) => selector !== ""); + + let updatedSelectors = item.selectors.map((selector: any) => + selector === oldSelector ? newSelector : selector + ); + + return { ...item, selectors: updatedSelectors }; + } else { + return item; + } + }); + } + + cssObj.stylesheet.rules = recursive(cssObj.stylesheet.rules); + return cssObj; +} + +function obfuscateCss(selectorConversion: SelectorConversion, cssPath: string, replaceOriginalSelector: boolean = false) { + let cssContent = fs.readFileSync(cssPath, "utf-8"); + + let cssObj = css.parse(cssContent); + const cssRulesCount = cssObj.stylesheet.rules.length; + + // join all selectors start with ":" (eg. ":is") + Object.keys(selectorConversion).forEach((key) => { + if (key.startsWith(":")) { + usedKeyRegistery.add(key); + } + }); + + // join all selectors with action selectors + const actionSelectors = getAllSelector(cssObj).filter((selector) => selector.match(findActionSelectorsRegex)); + actionSelectors.forEach((actionSelector) => { + usedKeyRegistery.add(actionSelector); + }); + + // modify css rules + usedKeyRegistery.forEach((key) => { + const originalSelectorName = key; + const obfuscatedSelectorName = selectorConversion[key]; + if (obfuscatedSelectorName) { + if (replaceOriginalSelector) { + cssObj = renameCssSelector(originalSelectorName, selectorConversion[key], cssObj); + } else { + cssObj = copyCssData(originalSelectorName, selectorConversion[key], cssObj); + } + } + }); + log("info", "CSS rules:", `Added ${cssObj.stylesheet.rules.length - cssRulesCount} new CSS rules to ${getFilenameFromPath(cssPath)}`); + + const cssOptions = { + compress: true, + }; + const cssObfuscatedContent = css.stringify(cssObj, cssOptions); + + const sizeBefore = Buffer.byteLength(cssContent, "utf8"); + fs.writeFileSync(cssPath, cssObfuscatedContent); + const sizeAfter = Buffer.byteLength(cssObfuscatedContent, "utf8"); + const percentChange = Math.round(((sizeAfter) / sizeBefore) * 100); + log("success", "CSS obfuscated:", `Size from ${sizeBefore} to ${sizeAfter} bytes (${percentChange}%) in ${getFilenameFromPath(cssPath)}`); +} + +export { + copyCssData, + renameCssSelector, + createSelectorConversionJson, + obfuscateCss, + extractClassFromSelector, +} \ No newline at end of file diff --git a/src/handlers/html.test.ts b/src/handlers/html.test.ts new file mode 100644 index 0000000..2f74499 --- /dev/null +++ b/src/handlers/html.test.ts @@ -0,0 +1,29 @@ +import { + findHtmlTagContentsByClass, +} from "./html"; + +//! ================================ +//! findHtmlTagContentsByClass +//! ================================ + +describe("findHtmlTagContentsByClass", () => { + const content = `
12345678
901234
56789
0123456
`; + + it("should return the correct content within the tag that with a given class", () => { + const targetClass = "test1"; + + const expectedOutput = ['
12345678
901234
56789
']; + + const result = findHtmlTagContentsByClass(content, targetClass); + expect(result).toEqual(expectedOutput); + }); + + it("should return empty array if no content found", () => { + const targetClass = "test5"; + + const expectedOutput: any[] = []; + + const result = findHtmlTagContentsByClass(content, targetClass); + expect(result).toEqual(expectedOutput); + }); +}); diff --git a/src/handlers/html.ts b/src/handlers/html.ts new file mode 100644 index 0000000..16f3131 --- /dev/null +++ b/src/handlers/html.ts @@ -0,0 +1,106 @@ +import { log } from "../utils"; + +function findHtmlTagContentsRecursive(content: string, targetTag: string, targetClass: string | null = null, foundTagContents: string[] = [], deep: number = 0, maxDeep: number = -1) { + let contentAfterTag = content; + const startTagWithClassRegexStr = targetClass ? + // ref: https://stackoverflow.com/a/16559544 + `(<\\w+?\\s+?class\\s*=\\s*['\"][^'\"]*?\\b${targetClass}\\b)` + : ""; + const startTagRegexStr = `(<${targetTag}[\\s|>])`; + const endTagRegexStr = `(<\/${targetTag}>)`; + + // clear content before the start tag + const clearContentBeforeStartTagRegex = new RegExp(`${startTagWithClassRegexStr ? startTagWithClassRegexStr + ".*|" + startTagRegexStr : startTagRegexStr + ".*"}`, "i"); + const contentAfterStartTagMatch = contentAfterTag.match(clearContentBeforeStartTagRegex); + if (contentAfterStartTagMatch) { + contentAfterTag = contentAfterStartTagMatch[0]; + } + + let endTagCont = 0; + + const endTagContRegex = new RegExp(endTagRegexStr, "gi"); + const endTagContMatch = contentAfterTag.match(endTagContRegex); + if (endTagContMatch) { + endTagCont = endTagContMatch.length; + } + + let closeTagPoition = 0; + + const tagPatternRegex = new RegExp(`${startTagWithClassRegexStr ? startTagWithClassRegexStr + "|" + startTagRegexStr : startTagRegexStr}|${endTagRegexStr}`, "gi"); + const tagPatternMatch = contentAfterTag.match(tagPatternRegex); + if (tagPatternMatch) { + let tagCount = 0; + let markedPosition = false; + for (let i = 0; i < tagPatternMatch.length; i++) { + if (tagPatternMatch[i].startsWith(")`, "i"); + const remainingHtmlTagMatch = remainingHtml.match(remainingHtmlTagRegex); + if (remainingHtmlTagMatch) { + if (maxDeep === -1 || deep < maxDeep) { + return findHtmlTagContentsRecursive(remainingHtml, targetTag, targetClass, foundTagContents, deep + 1, maxDeep); + } else { + log("warn", "HTML search:", "Max deep reached, recursive break"); + return foundTagContents; + } + } + } + + return foundTagContents; +} +function findHtmlTagContents(content: string, targetTag: string, targetClass: string | null = null) { + return findHtmlTagContentsRecursive(content, targetTag, targetClass); +} + +function findHtmlTagContentsByClass(content: string, targetClass: string) { + const regex = new RegExp(`(<(\\w+)\\s+class\\s*=\\s*['\"][^'\"]*?\\b${targetClass}\\b)`, "i"); + const match = content.match(regex); + if (match) { + const tag = match[2]; + return findHtmlTagContents(content, tag, targetClass); + } else { + return []; + } +} + +export { + findHtmlTagContents, + findHtmlTagContentsByClass, +} \ No newline at end of file diff --git a/src/handlers/js.test.ts b/src/handlers/js.test.ts new file mode 100644 index 0000000..f8e5a76 --- /dev/null +++ b/src/handlers/js.test.ts @@ -0,0 +1,125 @@ +import { + searchForwardComponent, +} from "./js"; + +//! ================================ +//! searchForwardComponent +//! ================================ + +describe("searchForwardComponent", () => { + + test("should return component name when jsx format is correct", () => { + // Arrange + const content = `const element = o.jsx(ComponentName, {data: dataValue, index: "date"});`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual(["ComponentName"]); + }); + + test("should return multiple component names for multiple matches", () => { + // Arrange + const content = `o.jsx(FirstComponent, props); o.jsx(SecondComponent, otherProps);`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual(["FirstComponent", "SecondComponent"]); + }); + + test("should return an empty array when no component name is found", () => { + // Arrange + const content = `o.jsx("h1", {data: dataValue, index: "date"});`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual([]); + }); + + test("should return an empty array when content is empty", () => { + // Arrange + const content = ""; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual([]); + }); + + test("should return an empty array when jsx is not used", () => { + // Arrange + const content = `const element = React.createElement("div", null, "Hello World");`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual([]); + }); + + test("should handle special characters in component names", () => { + // Arrange + const content = `o.jsx($Comp_1, props); o.jsx(_Comp$2, otherProps);`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual(["$Comp_1", "_Comp$2"]); + }); + + test("should not return component names when they are quoted", () => { + // Arrange + const content = `o.jsx("ComponentName", props); o.jsx('AnotherComponent', otherProps);`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual([]); + }); + + test("should return component names when they are followed by a brace", () => { + // Arrange + const content = `o.jsx(ComponentName, {props: true});`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual(["ComponentName"]); + }); + + test("should handle content with line breaks and multiple jsx calls", () => { + // Arrange + const content = ` + o.jsx(FirstComponent, {data: dataValue}); + o.jsx(SecondComponent, {index: "date"}); + o.jsx(ThirdComponent, {flag: true}); + `; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual(["FirstComponent", "SecondComponent", "ThirdComponent"]); + }); + + test("should handle content with nested jsx calls", () => { + // Arrange + const content = `o.jsx(ParentComponent, {children: o.jsx(ChildComponent, {})})`; + + // Act + const result = searchForwardComponent(content); + + // Assert + expect(result).toEqual(["ParentComponent", "ChildComponent"]); + }); + +}); diff --git a/src/handlers/js.ts b/src/handlers/js.ts new file mode 100644 index 0000000..c4d97d3 --- /dev/null +++ b/src/handlers/js.ts @@ -0,0 +1,128 @@ +import { + log, + findContentBetweenMarker, + replaceFirstMatch, + normalizePath, + obfuscateKeys, + addKeysToRegistery, + findClosestSymbolPosition +} from "../utils"; + +import { SelectorConversion } from "../types"; + + +function searchForwardComponent(content: string) { + const componentSearchRegex = /(?<=\.jsx\()[^,|"|']+/g; + //eg. o.jsx(yt,{data:yc,index:"date + // then return yt + //eg. o.jsx("h1",{data:yc,index:"date + // then nothing should be returned + + const match = content.match(componentSearchRegex); + if (match) { + return match; + } + return []; +} + +function searchComponent(content: string, componentName: string) { + const componentSearchRegex = new RegExp(`\\b(?:const|let|var)\\s+(${componentName})\\s*=\\s*.*?(\\{)`, "g"); + // eg, let yt=l().forwardRef((e,t)=>{let + const match = content.match(componentSearchRegex); + let openSymbolPos = -1; + if (match) { + openSymbolPos = content.indexOf(match[0]) + match[0].length; + } + + const closeMarkerPos = findClosestSymbolPosition(content, "{", "}", openSymbolPos, "forward"); + const componentContent = content.slice(openSymbolPos, closeMarkerPos); + + return componentContent; +} + +function obfuscateForwardComponentJs(searchContent: string, wholeContent: string, selectorConversion: SelectorConversion) { + const componentNames = searchForwardComponent(searchContent).filter((componentName) => { + return !componentName.includes("."); + }); + + const componentsCode = componentNames.map(componentName => { + const componentContent = searchComponent(wholeContent, componentName); + return { + name: componentName, + code: componentContent + } + }); + const componentsObfuscatedCode = componentsCode.map((componentContent) => { + const classNameBlocks = findContentBetweenMarker(componentContent.code, "className:", "{", "}"); + const obfuscatedClassNameBlocks = classNameBlocks.map(block => { + const { obfuscatedContent, usedKeys } = obfuscateKeys(selectorConversion, block); + addKeysToRegistery(usedKeys); + return obfuscatedContent; + }); + + if (classNameBlocks.length !== obfuscatedClassNameBlocks.length) { + log("error", `Component obfuscation:`, `classNameBlocks.length !== obfuscatedClassNameBlocks.length`); + return componentContent; + } + let obscuredCode = componentContent.code; + for (let i = 0; i < classNameBlocks.length; i++) { + obscuredCode = replaceFirstMatch(obscuredCode, classNameBlocks[i], obfuscatedClassNameBlocks[i]); + } + log("debug", `Obscured keys in component:`, componentContent.name); + return { + name: componentContent.name, + code: obscuredCode + } + }); + + const componentObfuscatedcomponentCodePairs: { name: string, componentCode: string, componentObfuscatedCode: string }[] = []; + for (let i = 0; i < componentsCode.length; i++) { + if (componentsCode[i] !== componentsObfuscatedCode[i]) { + componentObfuscatedcomponentCodePairs.push({ + name: componentsCode[i].name, + componentCode: componentsCode[i].code, + componentObfuscatedCode: componentsObfuscatedCode[i].code + }); + } + } + + for (let i = 0; i < componentsCode.length; i++) { + const childComponentObfuscatedcomponentCodePairs = obfuscateForwardComponentJs(componentsCode[i].code, wholeContent, selectorConversion); + componentObfuscatedcomponentCodePairs.push(...childComponentObfuscatedcomponentCodePairs); + } + + return componentObfuscatedcomponentCodePairs; +} + +function obfuscateJs(content: string, key: string, classCoversion: SelectorConversion + , filePath: string, contentIgnoreRegexes: RegExp[] = [], enableForwardComponentObfuscation = false) { + const truncatedContents = findContentBetweenMarker(content, key, "{", "}"); + truncatedContents.forEach((truncatedContent) => { + + if (enableForwardComponentObfuscation) { + //! this is a experimental feature, it may not work properly + const componentObfuscatedcomponentCodePairs = obfuscateForwardComponentJs(truncatedContent, content, classCoversion); + componentObfuscatedcomponentCodePairs.map((pair) => { + const { componentCode, componentObfuscatedCode } = pair; + if (componentCode !== componentObfuscatedCode) { + content = replaceFirstMatch(content, componentCode, componentObfuscatedCode); + log("debug", `Obscured keys in component:`, `${normalizePath(filePath)}`); + } + }); + } + + const { obfuscatedContent, usedKeys } = obfuscateKeys(classCoversion, truncatedContent, contentIgnoreRegexes); + addKeysToRegistery(usedKeys); + if (truncatedContent !== obfuscatedContent) { + content = content.replace(truncatedContent, obfuscatedContent); + log("debug", `Obscured keys with marker "${key}":`, `${normalizePath(filePath)}`); + } + }); + return content; +} + +export { + obfuscateForwardComponentJs, + obfuscateJs, + searchForwardComponent, +} \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index 1ee738a..f43fa97 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,12 +5,13 @@ import { log, replaceJsonKeysInFiles, setLogLevel, - createClassConversionJson, findAllFilesWithExt, } from "./utils"; +import { createSelectorConversionJson } from "./handlers/css"; + import Config from "./config"; -import { Options, OptionalOptions } from "./type"; +import { Options, OptionalOptions } from "./types"; function obfuscate(options: Options) { setLogLevel(options.logLevel); @@ -30,8 +31,8 @@ function obfuscate(options: Options) { } log("info", "Obfuscation", "Creating/Updating class conversion JSON"); - createClassConversionJson({ - classConversionJsonFolderPath: options.classConversionJsonFolderPath, + createSelectorConversionJson({ + selectorConversionJsonFolderPath: options.classConversionJsonFolderPath, buildFolderPath: options.buildFolderPath, mode: options.mode, @@ -47,7 +48,7 @@ function obfuscate(options: Options) { replaceJsonKeysInFiles({ targetFolder: options.buildFolderPath, allowExtensions: options.allowExtensions, - classConversionJsonFolderPath: options.classConversionJsonFolderPath, + selectorConversionJsonFolderPath: options.classConversionJsonFolderPath, contentIgnoreRegexes: options.contentIgnoreRegexes, @@ -94,6 +95,7 @@ function obfuscateCli() { const config = new Config(configPath ? require(configPath) : undefined).get(); obfuscate(config); log("success", "Obfuscation", "Obfuscation complete"); + log("info", "Give me a ⭐️ on GitHub if you like this plugin", "https://github.com/soranoo/next-css-obfuscator"); } export { obfuscateCli, type OptionalOptions as Options }; diff --git a/src/type.ts b/src/types.ts similarity index 94% rename from src/type.ts rename to src/types.ts index 29c2593..5ae169c 100644 --- a/src/type.ts +++ b/src/types.ts @@ -1,6 +1,6 @@ type LogLevel = "debug" | "info" | "warn" | "error" | "success"; type obfuscateMode = "random" | "simplify"; -type ClassConversion = { [key: string]: string }; +type SelectorConversion = { [key: string]: string }; type Options = { enable: boolean; @@ -54,7 +54,7 @@ type OptionalOptions = { export { type LogLevel, type obfuscateMode, - type ClassConversion, + type SelectorConversion, type Options, type OptionalOptions, } \ No newline at end of file diff --git a/src/utils.test.ts b/src/utils.test.ts index 7859e9e..96f1ed7 100644 --- a/src/utils.test.ts +++ b/src/utils.test.ts @@ -1,195 +1,8 @@ -// @ts-ignore -import css from "css"; import { - copyCssData, findContentBetweenMarker, - findHtmlTagContentsByClass, getFilenameFromPath, - extractClassFromSelector, searchForwardComponent, - renameCssSelector + findContentBetweenMarker, + getFilenameFromPath, } from "./utils"; -const testCss = ` -.s0-1 { - background: #181810; - color: #181811; -} - -@media (min-width: 640px) -{ - .s1-1 - { - background: #181812; - color: #181813; - } - - @media (min-width: 768px) - { - .s2-1, .s2-1-1 { - background: #181814; - color: #181815; - }, - .s2-1, .s2-1-1 { - background: #181814; - color: #181815; - }, - .s2-2, .s2-2-2 { - background: #181816; - color: #181817; - }, - .s2-3 { - background: #181818; - color: #181819; - } - } - - .s1-2 - { - background: #181820; - color: #181821; - } -} - -.s0-2 { - background: #181822; - color: #181823; -} -` - -// function getCssRulesIncludedSelector(selector: string, cssObj: any): any[] { -// function recursive(rules: any[]) { -// for (const item of rules) { -// if (item.rules) { -// const result: any = recursive(item.rules); -// if (result !== null) { -// return [{ ...item, rules: result }]; -// } -// } else if (item.selectors.includes(selector)) { -// // remove empty selectors -// item.selectors = item.selectors.filter((selector: any) => selector !== ""); - -// return [{ ...item, selectors: [selector] }]; -// } -// } -// return null; -// } -// return recursive(cssObj.stylesheet.rules) || []; -// } - -// describe("getCssRulesIncludedSelector", () => { -// it("should return the correct CSS rules (single selector, no nested rule)", () => { -// const cssObj = css.parse(testCss); - -// const selector = ".s0-1"; -// const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }]; - -// const result = getCssRulesIncludedSelector(selector, cssObj); -// expect(result).toEqual(expectedOutput); -// }); - -// it("should return the correct CSS rules (multiple nested rules)", () => { -// const cssObj = css.parse(testCss); - -// const selector = ".s2-3"; -// const expectedOutput = [{ "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 29, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 36, "column": 2 } } }]; - -// const result = getCssRulesIncludedSelector(selector, cssObj); -// expect(result).toEqual(expectedOutput); -// }); - -// it("should return the correct CSS rules (multiple selector in same rule)", () => { -// const cssObj = css.parse(testCss); - -// const selector = ".s2-2-2"; -// const expectedOutput = [{ "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 29, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 36, "column": 2 } } }]; - -// const result = getCssRulesIncludedSelector(selector, cssObj); -// expect(result).toEqual(expectedOutput); -// }); - -// it("should return the empty array", () => { -// const cssObj = css.parse(testCss); - -// const selector = ".s2-2-3"; -// const expectedOutput: [] = []; - -// const result = getCssRulesIncludedSelector(selector, cssObj); -// expect(result).toEqual(expectedOutput); -// }); -// }); - -describe("renameCssSelector", () => { - it("should rename the CSS selector (single selector, no nested rule)", () => { - const cssObj = css.parse(testCss); - - const oldSelector = ".s1-1"; - const newSelector = ".s1-1-new"; - const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; - - const result = renameCssSelector(oldSelector, newSelector, cssObj); - expect(result.stylesheet.rules).toEqual(expectedOutput); - }); - - it("should rename the CSS selector (multiple nested media queries)", () => { - const cssObj = css.parse(testCss); - - const oldSelector = ".s2-2"; - const newSelector = ".s2-2-new"; - const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2-new", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; - - const result = renameCssSelector(oldSelector, newSelector, cssObj); - expect(result.stylesheet.rules).toEqual(expectedOutput); - }); -}); - -//! ================================ -//! copyCssData -//! ================================ - -describe("copyCssData", () => { - it("should copy the CSS data (single selector, no nested rule)", () => { - const cssObj = css.parse(testCss); - - const targetSelector = ".s0-2"; - const newSelectorName = ".s0-2-new"; - const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; - - const result = copyCssData(targetSelector, newSelectorName, cssObj); - expect(result.stylesheet.rules).toEqual(expectedOutput); - }); - - it("should copy the CSS data (multiple nested rules)", () => { - const cssObj = css.parse(testCss); - - const targetSelector = ".s2-3"; - const newSelectorName = ".s2-3-new"; - const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; - - const result = copyCssData(targetSelector, newSelectorName, cssObj); - expect(result.stylesheet.rules).toEqual(expectedOutput); - }); - - it("should copy the CSS data (multiple selector in same rule)", () => { - const cssObj = css.parse(testCss); - - const targetSelector = ".s2-2-2"; - const newSelectorName = ".s2-2-2-new"; - const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2-2-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; - - const result = copyCssData(targetSelector, newSelectorName, cssObj); - expect(result.stylesheet.rules).toEqual(expectedOutput); - }); - - it("should copy the CSS data (same selector with different declarations)", () => { - const cssObj = css.parse(testCss); - - const targetSelector = ".s2-1"; - const newSelectorName = ".s2-1-new"; - const expectedOutput = [{ "type": "rule", "selectors": [".s0-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181810", "position": { "start": { "line": 3, "column": 5 }, "end": { "line": 3, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181811", "position": { "start": { "line": 4, "column": 5 }, "end": { "line": 4, "column": 19 } } }], "position": { "start": { "line": 2, "column": 1 }, "end": { "line": 5, "column": 2 } } }, { "type": "media", "media": "(min-width: 640px)", "rules": [{ "type": "rule", "selectors": [".s1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181812", "position": { "start": { "line": 11, "column": 9 }, "end": { "line": 11, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181813", "position": { "start": { "line": 12, "column": 9 }, "end": { "line": 12, "column": 23 } } }], "position": { "start": { "line": 9, "column": 5 }, "end": { "line": 13, "column": 6 } } }, { "type": "media", "media": "(min-width: 768px)", "rules": [{ "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 18, "column": 13 }, "end": { "line": 18, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 19, "column": 13 }, "end": { "line": 19, "column": 27 } } }], "position": { "start": { "line": 17, "column": 9 }, "end": { "line": 20, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1", ".s2-1-1"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-1-new"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181814", "position": { "start": { "line": 22, "column": 13 }, "end": { "line": 22, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181815", "position": { "start": { "line": 23, "column": 13 }, "end": { "line": 23, "column": 27 } } }], "position": { "start": { "line": 20, "column": 10 }, "end": { "line": 24, "column": 10 } } }, { "type": "rule", "selectors": [".s2-2", ".s2-2-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181816", "position": { "start": { "line": 26, "column": 13 }, "end": { "line": 26, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181817", "position": { "start": { "line": 27, "column": 13 }, "end": { "line": 27, "column": 27 } } }], "position": { "start": { "line": 24, "column": 10 }, "end": { "line": 28, "column": 10 } } }, { "type": "rule", "selectors": [".s2-3"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181818", "position": { "start": { "line": 30, "column": 13 }, "end": { "line": 30, "column": 32 } } }, { "type": "declaration", "property": "color", "value": "#181819", "position": { "start": { "line": 31, "column": 13 }, "end": { "line": 31, "column": 27 } } }], "position": { "start": { "line": 28, "column": 10 }, "end": { "line": 32, "column": 10 } } }], "position": { "start": { "line": 15, "column": 5 }, "end": { "line": 33, "column": 6 } } }, { "type": "rule", "selectors": [".s1-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181820", "position": { "start": { "line": 37, "column": 9 }, "end": { "line": 37, "column": 28 } } }, { "type": "declaration", "property": "color", "value": "#181821", "position": { "start": { "line": 38, "column": 9 }, "end": { "line": 38, "column": 23 } } }], "position": { "start": { "line": 35, "column": 5 }, "end": { "line": 39, "column": 6 } } }], "position": { "start": { "line": 7, "column": 1 }, "end": { "line": 40, "column": 2 } } }, { "type": "rule", "selectors": [".s0-2"], "declarations": [{ "type": "declaration", "property": "background", "value": "#181822", "position": { "start": { "line": 43, "column": 5 }, "end": { "line": 43, "column": 24 } } }, { "type": "declaration", "property": "color", "value": "#181823", "position": { "start": { "line": 44, "column": 5 }, "end": { "line": 44, "column": 19 } } }], "position": { "start": { "line": 42, "column": 1 }, "end": { "line": 45, "column": 2 } } }]; - - const result = copyCssData(targetSelector, newSelectorName, cssObj); - expect(result.stylesheet.rules).toEqual(expectedOutput); - }); -}); - //! ================================ //! findContentBetweenMarker @@ -222,31 +35,7 @@ describe("findContentBetweenMarker", () => { // }); }); -//! ================================ -//! findHtmlTagContentsByClass -//! ================================ - -describe("findHtmlTagContentsByClass", () => { - const content = `
12345678
901234
56789
0123456
`; - it("should return the correct content within the tag that with a given class", () => { - const targetClass = "test1"; - - const expectedOutput = ['
12345678
901234
56789
']; - - const result = findHtmlTagContentsByClass(content, targetClass); - expect(result).toEqual(expectedOutput); - }); - - it("should return empty array if no content found", () => { - const targetClass = "test5"; - - const expectedOutput: any[] = []; - - const result = findHtmlTagContentsByClass(content, targetClass); - expect(result).toEqual(expectedOutput); - }); -}); //! ================================ //! getFilenameFromPath @@ -343,418 +132,3 @@ describe("getFilenameFromPath", () => { }); }); - -//! ================================ -//! extractClassFromSelector -//! ================================ - -describe("extractClassFromSelector", () => { - - test("should extract single class from simple selector", () => { - const sample = ".example"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["example"] - }); - }); - - test("should extract multiple classes from complex selector", () => { - const sample = ":is(.some-class .some-class\\:bg-dark::-moz-placeholder)[data-active=\'true\']"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["some-class", "some-class\\:bg-dark"] - }); - }); - - test("should handle selector with no classes", () => { - const sample = "div"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: [] - }); - }); - - test("should handle selector with action pseudo-classes and not extract them", () => { - const sample = ".btn:hover .btn-active::after"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["btn", "btn-active"] - }); - }); - - test("should handle selector with vendor pseudo-classes and not extract them", () => { - const sample = ".btn-moz:-moz-focusring .btn-ms::-ms-placeholder .btn-webkit::-webkit-placeholder .btn-o::-o-placeholder"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["btn-moz", "btn-ms", "btn-webkit", "btn-o"] - }); - }); - - test("should handle selector with escaped characters", () => { - const sample = ".escaped\\:class:action"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["escaped\\:class"] - }); - }); - - test("should handle selector with multiple classes separated by spaces", () => { - const sample = ".class1 .class2 .class3"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1", "class2", "class3"] - }); - }); - - test("should handle selector with multiple classes separated by commas", () => { - const sample = ".class1, .class2, .class3"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1", "class2", "class3"] - }); - }); - - test("should handle selector with a combination of classes and ids", () => { - const sample = ".class1 #id .class2"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1", "class2"] - }); - }); - - test("should handle [attribute] selector", () => { - const sample = ".class1[data-attr=\"value\"] .class2[data-attr='value']"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1[data-attr=\"value\"]", "class2[data-attr='value']"] - }); - }); - - test("should handle action pseudo-class selector correctly", () => { - const sample = ".class1\\:hover\\:class2:after .class3\\:hover\\:class4:after:hover :is(.class5 .class6\\:hover\\:class7:hover:after) :is(.hover\\:class8\\:class9):after"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1\\:hover\\:class2", "class3\\:hover\\:class4", "class5", "class6\\:hover\\:class7", "hover\\:class8\\:class9"] - }); - }); - - test("should ignore [attribute] selector that not in the same scope as class", () => { - const sample = ":is(.class1 .class2\\:class3\\:\\!class4)[aria-selected=\"true\"]"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1", "class2\\:class3\\:\\!class4"] - }); - }); - - test("should return null for invalid input types", () => { - // Act & Assert - // @ts-ignore - expect(() => extractClassFromSelector(null)).toThrow(TypeError); - // @ts-ignore - expect(() => extractClassFromSelector(undefined)).toThrow(TypeError); - expect(() => extractClassFromSelector(123 as any)).toThrow(TypeError); - }); - - - //? ********************* - //? Tailwind CSS - //? ********************* - test("should handle Tailwind CSS important selector '!'", () => { - const sample = ".\\!my-0 .some-class\\:\\!bg-white"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["\\!my-0", "some-class\\:\\!bg-white"] - }) - }); - - test("should handle Tailwind CSS selector with start with '-'", () => { - const sample = ".-class-1"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["-class-1"] - }) - }); - - test("should handle Tailwind CSS selector with '.' at the number", () => { - const sample = ".class-0\\.5 .class-1\\.125"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class-0\\.5", "class-1\\.125"] - }) - }); - - test("should handle Tailwind CSS selector with '/' at the number", () => { - const sample = ".class-1\\/2"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class-1\\/2"] - }) - }); - - test("should handle Tailwind CSS universal selector", () => { - const sample = ".\\*\\:class1 .class2\\*\\:class3"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["\\*\\:class1", "class2", "class3"] - }) - }); - - test("should handle Tailwind CSS [custom parameter] selector", () => { - const sample = ".class1[100] .class2-[200]"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1[100]", "class2-[200]"] - }) - }); - - test("should handle Tailwind CSS [custom parameter] selector with escaped characters", () => { - const sample = ".class1\\[1em\\] .class2-\\[2em\\] .class3\\[3\\%\\] .class4-\\[4\\%\\]"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1\\[1em\\]", "class2-\\[2em\\]", "class3\\[3\\%\\]", "class4-\\[4\\%\\]"] - }) - }); - - test("should handle complex Tailwind CSS [custom parameter] selector", () => { - const sample = ".w-\\[calc\\(10\\%\\+5px\\)\\]"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["w-\\[calc\\(10\\%\\+5px\\)\\]"] - }) - }); - - test("should ignore Tailwind CSS [custom parameter] selector that not in the same scope as class", () => { - const sample = ":is(.class1)[100]"; - - // Act - const result = extractClassFromSelector(sample); - - // Assert - expect(result).toEqual({ - selector: sample, - extractedClasses: ["class1"] - }) - }); -}); - -//! ================================ -//! searchForwardComponent -//! ================================ - -describe("searchForwardComponent", () => { - - test("should return component name when jsx format is correct", () => { - // Arrange - const content = `const element = o.jsx(ComponentName, {data: dataValue, index: "date"});`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual(["ComponentName"]); - }); - - test("should return multiple component names for multiple matches", () => { - // Arrange - const content = `o.jsx(FirstComponent, props); o.jsx(SecondComponent, otherProps);`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual(["FirstComponent", "SecondComponent"]); - }); - - test("should return an empty array when no component name is found", () => { - // Arrange - const content = `o.jsx("h1", {data: dataValue, index: "date"});`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual([]); - }); - - test("should return an empty array when content is empty", () => { - // Arrange - const content = ""; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual([]); - }); - - test("should return an empty array when jsx is not used", () => { - // Arrange - const content = `const element = React.createElement("div", null, "Hello World");`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual([]); - }); - - test("should handle special characters in component names", () => { - // Arrange - const content = `o.jsx($Comp_1, props); o.jsx(_Comp$2, otherProps);`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual(["$Comp_1", "_Comp$2"]); - }); - - test("should not return component names when they are quoted", () => { - // Arrange - const content = `o.jsx("ComponentName", props); o.jsx('AnotherComponent', otherProps);`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual([]); - }); - - test("should return component names when they are followed by a brace", () => { - // Arrange - const content = `o.jsx(ComponentName, {props: true});`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual(["ComponentName"]); - }); - - test("should handle content with line breaks and multiple jsx calls", () => { - // Arrange - const content = ` - o.jsx(FirstComponent, {data: dataValue}); - o.jsx(SecondComponent, {index: "date"}); - o.jsx(ThirdComponent, {flag: true}); - `; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual(["FirstComponent", "SecondComponent", "ThirdComponent"]); - }); - - test("should handle content with nested jsx calls", () => { - // Arrange - const content = `o.jsx(ParentComponent, {children: o.jsx(ChildComponent, {})})`; - - // Act - const result = searchForwardComponent(content); - - // Assert - expect(result).toEqual(["ParentComponent", "ChildComponent"]); - }); - -}); diff --git a/src/utils.ts b/src/utils.ts index 4a974ba..ed7eed6 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,8 +1,10 @@ import fs from "fs"; import path from "path"; -// @ts-ignore -import css from 'css'; -import { LogLevel, obfuscateMode, ClassConversion } from "./type"; +import { LogLevel, SelectorConversion } from "./types"; + +import { obfuscateCss } from "./handlers/css"; +import { findHtmlTagContentsByClass, findHtmlTagContents } from "./handlers/html"; +import { obfuscateJs } from "./handlers/js"; //! ==================== //! Log @@ -58,7 +60,7 @@ function replaceJsonKeysInFiles( { targetFolder, allowExtensions, - classConversionJsonFolderPath, + selectorConversionJsonFolderPath, contentIgnoreRegexes, @@ -72,7 +74,7 @@ function replaceJsonKeysInFiles( }: { targetFolder: string, allowExtensions: string[], - classConversionJsonFolderPath: string, + selectorConversionJsonFolderPath: string, contentIgnoreRegexes: RegExp[], @@ -86,7 +88,7 @@ function replaceJsonKeysInFiles( }) { //ref: https://github.com/n4j1Br4ch1D/postcss-obfuscator/blob/main/utils.js - const classConversion: ClassConversion = loadAndMergeJsonFiles(classConversionJsonFolderPath); + const classConversion: SelectorConversion = loadAndMergeJsonFiles(selectorConversionJsonFolderPath); if (removeObfuscateMarkerClassesAfterObfuscated) { obfuscateMarkerClasses.forEach(obfuscateMarkerClass => { @@ -220,7 +222,7 @@ function replaceJsonKeysInFiles( } -function obfuscateKeys(jsonData: ClassConversion, fileContent: string, contentIgnoreRegexes: RegExp[] = []) { +function obfuscateKeys(jsonData: SelectorConversion, fileContent: string, contentIgnoreRegexes: RegExp[] = []) { //ref: https://github.com/n4j1Br4ch1D/postcss-obfuscator/blob/main/utils.js const usedKeys = new Set(); @@ -295,7 +297,6 @@ function normalizePath(filePath: string) { return filePath.replace(/\\/g, "/"); } - function loadAndMergeJsonFiles(jsonFolderPath: string) { //ref: https://github.com/n4j1Br4ch1D/postcss-obfuscator/blob/main/utils.js const jsonFiles: { [key: string]: any } = {}; @@ -309,106 +310,6 @@ function loadAndMergeJsonFiles(jsonFolderPath: string) { return jsonFiles; } -function findHtmlTagContentsRecursive(content: string, targetTag: string, targetClass: string | null = null, foundTagContents: string[] = [], deep: number = 0, maxDeep: number = -1) { - let contentAfterTag = content; - const startTagWithClassRegexStr = targetClass ? - // ref: https://stackoverflow.com/a/16559544 - `(<\\w+?\\s+?class\\s*=\\s*['\"][^'\"]*?\\b${targetClass}\\b)` - : ""; - const startTagRegexStr = `(<${targetTag}[\\s|>])`; - const endTagRegexStr = `(<\/${targetTag}>)`; - - // clear content before the start tag - const clearContentBeforeStartTagRegex = new RegExp(`${startTagWithClassRegexStr ? startTagWithClassRegexStr + ".*|" + startTagRegexStr : startTagRegexStr + ".*"}`, "i"); - const contentAfterStartTagMatch = contentAfterTag.match(clearContentBeforeStartTagRegex); - if (contentAfterStartTagMatch) { - contentAfterTag = contentAfterStartTagMatch[0]; - } - - let endTagCont = 0; - - const endTagContRegex = new RegExp(endTagRegexStr, "gi"); - const endTagContMatch = contentAfterTag.match(endTagContRegex); - if (endTagContMatch) { - endTagCont = endTagContMatch.length; - } - - let closeTagPoition = 0; - - const tagPatternRegex = new RegExp(`${startTagWithClassRegexStr ? startTagWithClassRegexStr + "|" + startTagRegexStr : startTagRegexStr}|${endTagRegexStr}`, "gi"); - const tagPatternMatch = contentAfterTag.match(tagPatternRegex); - if (tagPatternMatch) { - let tagCount = 0; - let markedPosition = false; - for (let i = 0; i < tagPatternMatch.length; i++) { - if (tagPatternMatch[i].startsWith(")`, "i"); - const remainingHtmlTagMatch = remainingHtml.match(remainingHtmlTagRegex); - if (remainingHtmlTagMatch) { - if (maxDeep === -1 || deep < maxDeep) { - return findHtmlTagContentsRecursive(remainingHtml, targetTag, targetClass, foundTagContents, deep + 1, maxDeep); - } else { - log("warn", "HTML search:", "Max deep reached, recursive break"); - return foundTagContents; - } - } - } - - return foundTagContents; -} -function findHtmlTagContents(content: string, targetTag: string, targetClass: string | null = null) { - return findHtmlTagContentsRecursive(content, targetTag, targetClass); -} - -function findHtmlTagContentsByClass(content: string, targetClass: string) { - const regex = new RegExp(`(<(\\w+)\\s+class\\s*=\\s*['\"][^'\"]*?\\b${targetClass}\\b)`, "i"); - const match = content.match(regex); - if (match) { - const tag = match[2]; - return findHtmlTagContents(content, tag, targetClass); - } else { - return []; - } -} - /** * * @param content @@ -474,140 +375,12 @@ function findContentBetweenMarker(content: string, targetStr: string, openMarker return truncatedContents; } - -function obfuscateJs(content: string, key: string, classCoversion: ClassConversion - , filePath: string, contentIgnoreRegexes: RegExp[] = [], enableForwardComponentObfuscation = false) { - const truncatedContents = findContentBetweenMarker(content, key, "{", "}"); - truncatedContents.forEach((truncatedContent) => { - - if (enableForwardComponentObfuscation) { - //! this is a experimental feature, it may not work properly - const componentObfuscatedcomponentCodePairs = obfuscateForwardComponentJs(truncatedContent, content, classCoversion); - componentObfuscatedcomponentCodePairs.map((pair) => { - const { componentCode, componentObfuscatedCode } = pair; - if (componentCode !== componentObfuscatedCode) { - content = replaceFirstMatch(content, componentCode, componentObfuscatedCode); - log("debug", `Obscured keys in component:`, `${normalizePath(filePath)}`); - } - }); - } - - const { obfuscatedContent, usedKeys } = obfuscateKeys(classCoversion, truncatedContent, contentIgnoreRegexes); - addKeysToRegistery(usedKeys); - if (truncatedContent !== obfuscatedContent) { - content = content.replace(truncatedContent, obfuscatedContent); - log("debug", `Obscured keys with marker "${key}":`, `${normalizePath(filePath)}`); - } - }); - return content; -} - function addKeysToRegistery(usedKeys: Set) { usedKeys.forEach((key) => { usedKeyRegistery.add(key); }); } -function copyCssData(targetSelector: string, newSelectorName: string, cssObj: any) { - function recursive(rules: any[]): any[] { - return rules.map((item: any) => { - if (item.rules) { - let newRules = recursive(item.rules); - if (Array.isArray(newRules)) { - newRules = newRules.flat(); - } - return { ...item, rules: newRules }; - } else if (item.selectors) { - // remove empty selectors - item.selectors = item.selectors.filter((selector: any) => selector !== ""); - - // check if the selector is the target selector - if (item.selectors.includes(targetSelector)) { - const newRule = JSON.parse(JSON.stringify(item)); - newRule.selectors = [newSelectorName]; - - return [item, newRule]; - } else { - return item; - } - } else { - return item; - } - }); - } - cssObj.stylesheet.rules = recursive(cssObj.stylesheet.rules).flat(); - return cssObj; -} - -function renameCssSelector(oldSelector: string, newSelector: string, cssObj: any) { - function recursive(rules: any[]): any[] { - return rules.map((item: any) => { - if (item.rules) { - return { ...item, rules: recursive(item.rules) }; - } else if (item.selectors) { - // remove empty selectors - item.selectors = item.selectors.filter((selector: any) => selector !== ""); - - let updatedSelectors = item.selectors.map((selector: any) => - selector === oldSelector ? newSelector : selector - ); - - return { ...item, selectors: updatedSelectors }; - } else { - return item; - } - }); - } - - cssObj.stylesheet.rules = recursive(cssObj.stylesheet.rules); - return cssObj; -} - -function obfuscateCss(selectorConversion: ClassConversion, cssPath: string, replaceOriginalSelector: boolean = false) { - let cssContent = fs.readFileSync(cssPath, "utf-8"); - - let cssObj = css.parse(cssContent); - const cssRulesCount = cssObj.stylesheet.rules.length; - - // join all selectors start with ":" (eg. ":is") - Object.keys(selectorConversion).forEach((key) => { - if (key.startsWith(":")) { - usedKeyRegistery.add(key); - } - }); - - // join all selectors with action selectors - const actionSelectors = getAllSelector(cssObj).filter((selector) => selector.match(findActionSelectorsRegex)); - actionSelectors.forEach((actionSelector) => { - usedKeyRegistery.add(actionSelector); - }); - - // modify css rules - usedKeyRegistery.forEach((key) => { - const originalSelectorName = key; - const obfuscatedSelectorName = selectorConversion[key]; - if (obfuscatedSelectorName) { - if (replaceOriginalSelector) { - cssObj = renameCssSelector(originalSelectorName, selectorConversion[key], cssObj); - } else { - cssObj = copyCssData(originalSelectorName, selectorConversion[key], cssObj); - } - } - }); - log("info", "CSS rules:", `Added ${cssObj.stylesheet.rules.length - cssRulesCount} new CSS rules to ${getFilenameFromPath(cssPath)}`); - - const cssOptions = { - compress: true, - }; - const cssObfuscatedContent = css.stringify(cssObj, cssOptions); - - const sizeBefore = Buffer.byteLength(cssContent, "utf8"); - fs.writeFileSync(cssPath, cssObfuscatedContent); - const sizeAfter = Buffer.byteLength(cssObfuscatedContent, "utf8"); - const percentChange = Math.round(((sizeAfter) / sizeBefore) * 100); - log("success", "CSS obfuscated:", `Size from ${sizeBefore} to ${sizeAfter} bytes (${percentChange}%) in ${getFilenameFromPath(cssPath)}`); -} - /** * Find all files with the specified extension in the build folder * @param ext - the extension of the files to find (e.g. .css) "." is required @@ -645,25 +418,6 @@ function findAllFilesWithExt(ext: string, targetFolderPath: string): string[] { return targetExtFiles; } -function getAllSelector(cssObj: any): any[] { - const selectors: string[] = []; - function recursive(rules: any[]) { - for (const item of rules) { - if (item.rules) { - recursive(item.rules); - } else if (item.selectors) { - // remove empty selectors - item.selectors = item.selectors.filter((selector: any) => selector !== ""); - - selectors.push(...item.selectors); - } - } - return null; - } - recursive(cssObj.stylesheet.rules); - return selectors; -} - function getRandomString(length: number) { //ref: https://github.com/n4j1Br4ch1D/postcss-obfuscator/blob/main/utils.js // Generate a random string of characters with the specified length @@ -683,257 +437,6 @@ function simplifyString(str: string) { : tempStr; } -function createNewClassName(mode: obfuscateMode, className: string, classPrefix: string = "", classSuffix: string = "", classNameLength: number = 5) { - let newClassName = className; - - switch (mode) { - case "random": - newClassName = getRandomString(classNameLength); - break; - case "simplify": - newClassName = simplifyString(className); - break; - default: - break; - } - - if (classPrefix) { - newClassName = `${classPrefix}${newClassName}`; - } - if (classSuffix) { - newClassName = `${newClassName}${classSuffix}`; - } - - return newClassName; -} - -//? CSS action selectors always at the end of the selector -//? and they can be stacked, eg. "class:hover:active" -//? action selectors can start with ":" or "::" -const findActionSelectorsRegex = /(? { - // Calculate the number of '=' needed - const padding = p1.length % 4 === 0 ? 0 : 4 - (p1.length % 4); - // Add back the '=' - const b64 = p1 + "=".repeat(padding); - return fromBase64Key(b64); - }); - return str; - } - - //? "(?:\\\*)?" for "*" selector, eg. ".\*\:pt-2" - //? "\\\:" for eg.".hover\:border-b-2:hover" the ".hover\:border-b-2" should be in the same group - //? "\\\.\d+" for number with ".", eg. ".ml-1\.5" the ".ml-1.5" should be in the same group, before that ".ml-1\.5" will split into ".ml-1" and ".5" - //? "\\\/\d+" for number with "/", eg. ".bg-emerald-400\/20" the ".bg-emerald-400\/20" should be in the same group, before that ".bg-emerald-400\/20" will split into ".bg-emerald-400" and "\/20" - //? "(?:\\?\[[\w\-="\\%\+\(\)]+\])?" for [attribute / Tailwind CSS custom parameter] selector - const extractClassRegex = /(?<=[.:!\s]|(? { - return createKey(match); - }); - - // replace vendor pseudo class - vendorPseudoClassRegexes.forEach((regex, i) => { - selector = selector.replace(regex, (match) => { - return createKey(match); - }); - }); - - let classes = selector.match(extractClassRegex) as string[] | undefined; - - // replace classes with replacementClassNames - if (replacementClassNames !== undefined) { - selector = selector.replace(extractClassRegex, (originalClassName) => { - return replacementClassNames.shift() || originalClassName; - }); - } - selector = decodeKey(selector); - - return { - selector: selector, - extractedClasses: classes || [] - }; -} - -function createClassConversionJson( - { - classConversionJsonFolderPath, - buildFolderPath, - - mode = "random", - classNameLength = 5, - classPrefix = "", - classSuffix = "", - classIgnore = [], - - enableObfuscateMarkerClasses = false, - }: { - classConversionJsonFolderPath: string, - buildFolderPath: string, - - mode?: obfuscateMode, - classNameLength?: number, - classPrefix?: string, - classSuffix?: string, - classIgnore?: string[], - - enableObfuscateMarkerClasses?: boolean, - }) { - if (!fs.existsSync(classConversionJsonFolderPath)) { - fs.mkdirSync(classConversionJsonFolderPath); - } - - const selectorConversion: ClassConversion = loadAndMergeJsonFiles(classConversionJsonFolderPath); - - // pre-defined ".dark", mainly for tailwindcss dark mode - if (enableObfuscateMarkerClasses) { - selectorConversion[".dark"] = ".dark"; - } - - // get all css selectors - const cssPaths = findAllFilesWithExt(".css", buildFolderPath); - const selectors: string[] = []; - cssPaths.forEach((cssPath) => { - const cssContent = fs.readFileSync(cssPath, "utf-8"); - const cssObj = css.parse(cssContent); - selectors.push(...getAllSelector(cssObj)); - }); - - // remove duplicated selectors - const uniqueSelectors = [...new Set(selectors)]; - - const allowClassStartWith = [".", ":is(", ":where(", ":not(" - , ":matches(", ":nth-child(", ":nth-last-child(" - , ":nth-of-type(", ":nth-last-of-type(", ":first-child(" - , ":last-child(", ":first-of-type(", ":last-of-type(" - , ":only-child(", ":only-of-type(", ":empty(", ":link(" - , ":visited(", ":active(", ":hover(", ":focus(", ":target(" - , ":lang(", ":enabled(", ":disabled(", ":checked(", ":default(" - , ":indeterminate(", ":root(", ":before(" - , ":after(", ":first-letter(", ":first-line(", ":selection(" - , ":read-only(", ":read-write(", ":fullscreen(", ":optional(" - , ":required(", ":valid(", ":invalid(", ":in-range(", ":out-of-range(" - , ":placeholder-shown(" - ]; - - const selectorClassPair: { [key: string]: string[] } = {}; - - for (let i = 0; i < uniqueSelectors.length; i++) { - const originalSelector = uniqueSelectors[i]; - const { extractedClasses } = extractClassFromSelector(originalSelector) || []; - selectorClassPair[originalSelector] = extractedClasses; - } - - //? since a multi part selector normally grouped by multiple basic selectors - //? so we need to obfuscate the basic selector first - //? eg. ":is(.class1 .class2)" grouped by ".class1" and ".class2" - // sort the selectorClassPair by the number of classes in the selector (from least to most) - // and remove the selector with no class - const sortedSelectorClassPair = Object.entries(selectorClassPair) - .sort((a, b) => a[1].length - b[1].length) - .filter((pair) => pair[1].length > 0); - - for (let i = 0; i < sortedSelectorClassPair.length; i++) { - const [originalSelector, selectorClasses] = sortedSelectorClassPair[i]; - if (selectorClasses.length == 0) { - continue; - } - - let selector = originalSelector; - let classes = selectorConversion[selector] ? [selectorConversion[selector].slice(1)] : selectorClasses; - - if (classes && allowClassStartWith.some((start) => selector.startsWith(start))) { - classes = classes.map((className) => { - if (classIgnore.includes(className)) { - return className; - } - let obfuscatedSelector = selectorConversion[`.${className}`]; - if (!obfuscatedSelector) { - const obfuscatedClass = createNewClassName(mode, className, classPrefix, classSuffix, classNameLength); - obfuscatedSelector = `.${obfuscatedClass}`; - selectorConversion[`.${className}`] = obfuscatedSelector; - } - return obfuscatedSelector.slice(1) - }); - const { selector: obfuscatedSelector } = extractClassFromSelector(originalSelector, classes); - selectorConversion[originalSelector] = obfuscatedSelector; - } - } - - const jsonPath = path.join(process.cwd(), classConversionJsonFolderPath, "conversion.json"); - fs.writeFileSync(jsonPath, JSON.stringify(selectorConversion, null, 2)); -} - -function searchForwardComponent(content: string) { - const componentSearchRegex = /(?<=\.jsx\()[^,|"|']+/g; - //eg. o.jsx(yt,{data:yc,index:"date - // then return yt - //eg. o.jsx("h1",{data:yc,index:"date - // then nothing should be returned - - const match = content.match(componentSearchRegex); - if (match) { - return match; - } - return []; -} - -function searchComponent(content: string, componentName: string) { - const componentSearchRegex = new RegExp(`\\b(?:const|let|var)\\s+(${componentName})\\s*=\\s*.*?(\\{)`, "g"); - // eg, let yt=l().forwardRef((e,t)=>{let - const match = content.match(componentSearchRegex); - let openSymbolPos = -1; - if (match) { - openSymbolPos = content.indexOf(match[0]) + match[0].length; - } - - const closeMarkerPos = findClosestSymbolPosition(content, "{", "}", openSymbolPos, "forward"); - const componentContent = content.slice(openSymbolPos, closeMarkerPos); - - return componentContent; -} - function replaceFirstMatch(source: string, find: string, replace: string): string { const index = source.indexOf(find); if (index !== -1) { @@ -942,65 +445,9 @@ function replaceFirstMatch(source: string, find: string, replace: string): strin return source; } - -function obfuscateForwardComponentJs(searchContent: string, wholeContent: string, classConversion: ClassConversion) { - const componentNames = searchForwardComponent(searchContent).filter((componentName) => { - return !componentName.includes("."); - }); - - const componentsCode = componentNames.map(componentName => { - const componentContent = searchComponent(wholeContent, componentName); - return { - name: componentName, - code: componentContent - } - }); - const componentsObfuscatedCode = componentsCode.map((componentContent) => { - const classNameBlocks = findContentBetweenMarker(componentContent.code, "className:", "{", "}"); - const obfuscatedClassNameBlocks = classNameBlocks.map(block => { - const { obfuscatedContent, usedKeys } = obfuscateKeys(classConversion, block); - addKeysToRegistery(usedKeys); - return obfuscatedContent; - }); - - if (classNameBlocks.length !== obfuscatedClassNameBlocks.length) { - log("error", `Component obfuscation:`, `classNameBlocks.length !== obfuscatedClassNameBlocks.length`); - return componentContent; - } - let obscuredCode = componentContent.code; - for (let i = 0; i < classNameBlocks.length; i++) { - obscuredCode = replaceFirstMatch(obscuredCode, classNameBlocks[i], obfuscatedClassNameBlocks[i]); - } - log("debug", `Obscured keys in component:`, componentContent.name); - return { - name: componentContent.name, - code: obscuredCode - } - }); - - const componentObfuscatedcomponentCodePairs: { name: string, componentCode: string, componentObfuscatedCode: string }[] = []; - for (let i = 0; i < componentsCode.length; i++) { - if (componentsCode[i] !== componentsObfuscatedCode[i]) { - componentObfuscatedcomponentCodePairs.push({ - name: componentsCode[i].name, - componentCode: componentsCode[i].code, - componentObfuscatedCode: componentsObfuscatedCode[i].code - }); - } - } - - for (let i = 0; i < componentsCode.length; i++) { - const childComponentObfuscatedcomponentCodePairs = obfuscateForwardComponentJs(componentsCode[i].code, wholeContent, classConversion); - componentObfuscatedcomponentCodePairs.push(...childComponentObfuscatedcomponentCodePairs); - } - - return componentObfuscatedcomponentCodePairs; -} - export { - getFilenameFromPath, log, normalizePath - , replaceJsonKeysInFiles, setLogLevel - , copyCssData, findContentBetweenMarker, findHtmlTagContentsByClass - , findAllFilesWithExt, createClassConversionJson, extractClassFromSelector - , obfuscateKeys, searchForwardComponent, obfuscateForwardComponentJs, renameCssSelector + getFilenameFromPath, log, normalizePath, loadAndMergeJsonFiles + , replaceJsonKeysInFiles, setLogLevel, findContentBetweenMarker, replaceFirstMatch + , findAllFilesWithExt, getRandomString, simplifyString, usedKeyRegistery + , obfuscateKeys, findClosestSymbolPosition, addKeysToRegistery }; From 016b123ee733258daf8bd1b7e7c764eec5f54d1f Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 01:27:59 +0000 Subject: [PATCH 05/12] Updated Docs --- README.md | 67 +++++++++++++++++++++++++++++++++++++------ docs/upgrade-to-v2.md | 1 - package-lock.json | 20 +++++++++++-- package.json | 9 ++++-- 4 files changed, 83 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 99bc9b7..1333b7f 100644 --- a/README.md +++ b/README.md @@ -7,11 +7,23 @@ Project start on 30-10-2023 [![npm version](https://img.shields.io/npm/v/next-css-obfuscator?color=red&style=flat)](https://www.npmjs.com/package/next-css-obfuscator) [![npm downloads](https://img.shields.io/npm/dt/next-css-obfuscator?color=blue&style=flat)](https://www.npmjs.com/package/next-css-obfuscator) -### 🎉 Version 2 has NOW been released 🎉 +Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for better reading experience. + +### 🎉 Version 2.1.0 has NOW been released 🎉 + Shout out to [hoangnhan2ka3](https://github.com/hoangnhan2ka3) for providing a wonderful [issue](https://github.com/soranoo/next-css-obfuscator/issues/6) report. + + #### Changes: + - Much Much Much better CSS selector obfuscation + - Auto delete orginal CSS after obfuscation (only apply at full obfuscation) + - Removed `customTailwindDarkModeSelector` option, the dark mode selector will be automatically obfuscated at full obfuscation. + - Support TailwindCSS Universal Selector (eg. `*:pt-4`) + - More tests + +### Version 2 (Major Update) This version is deeply inspired by [PostCSS-Obfuscator](https://github.com/n4j1Br4ch1D/postcss-obfuscator). Shout out to [n4j1Br4ch1D](https://github.com/n4j1Br4ch1D) for creating such a great package and thank you [tremor](https://github.com/tremorlabs) for sponsoring this project. #### Changes: - - Support basic partially obfuscation + - Support basic partial obfuscation - Support TailwindCSS Dark Mode - New configuration file `next-css-obfuscator.config.cjs` - More configuration options @@ -47,6 +59,8 @@ Give me a ⭐ if you like it. - [1. Not work at Vercel after updated](#1-not-work-at-vercel-after-updated) - [2. Lazy Setup - Obfuscate all files](#2-lazy-setup---obfuscate-all-files) - [3. It was working normally just now, but not now?](#3-it-was-working-normally-just-now-but-not-now) + - [4. Why are some original selectors still in the obfuscated CSS file after full obfuscation?](#4-why-are-some-original-selectors-still-in-the-obfuscated-css-file-after-full-obfuscation) + - [5. Why did I get a copy of the original CSS after partial obfuscation?](#5-why-did-i-get-a-copy-of-the-original-css-after-partial-obfuscation) - [👀 Demos](#-demos) - [⭐ TODO](#-todo) - [🐛 Known Issues](#-known-issues) @@ -101,9 +115,9 @@ Edit the build files directly. (It may not be the best solution but it works.) (Theoretically it supports all CSS frameworks but I only tested it with TailwindCSS.) - +- ⌛ TIME 🕛 ## 🚀 Getting Started @@ -269,7 +283,6 @@ It may not be the best setting but it works for me. :) |enableMarkers|boolean|false|Enable or disable the obfuscation markers.| |markers|string[ ]|[ ]|Classes that indicate component(s) need to obfuscate.| |removeMarkersAfterObfuscated|boolean|true|Remove the obfuscation markers from HTML elements after obfuscation.| -|customTailwindDarkModeSelector|string \| null|null| [TailwindCSS ONLY] The custom new dark mode selector, e.g. "dark-mode".| |logLevel|"debug" \| "info" \| "warn" \| "error" \| "success"| "info"|The log level.| ###### All options in one place @@ -295,7 +308,6 @@ module.exports = { enableMarkers: false, // Enable or disable the obfuscate marker classes. markers: ["next-css-obfuscation"], // Classes that indicate component(s) need to obfuscate. removeMarkersAfterObfuscated: true, // Remove the obfuscation markers from HTML elements after obfuscation. - customTailwindDarkModeSelector: null, // [TailwindCSS ONLY] The custom new dark mode selector, e.g. "dark-mode". logLevel: "info", // Log level }; @@ -321,6 +333,43 @@ Enable `enableMarkers` and put the obfuscate marker class at every component inc Your convertion table may be messed up. Try to delete the `classConversionJsonFolderPath`(default: `css-obfuscator`) folder to reset the convertion table. +### 4. Why are some original selectors still in the obfuscated CSS file after full obfuscation? + +In a normal situation, the package will only remove the original CSS that is related to the obfuscation and you should not see any CSS sharing the same declaration block. + +You are not expected to see this: +```css +/* example */ + +/* orginal form */ +.text-stone-300 { + --tw-text-opacity: 1; + color: rgb(214 211 209 / var(--tw-text-opacity)); +} + +/* obfuscated form */ +.d8964 { + --tw-text-opacity: 1; + color: rgb(214 211 209 / var(--tw-text-opacity)); +} +``` +But this: +```css +/* example */ + +/* obfuscated form */ +.d8964 { + --tw-text-opacity: 1; + color: rgb(214 211 209 / var(--tw-text-opacity)); +} +``` + +If you encounter the first situation, it means something is wrong with the obfuscation. You may need to raise an [issue](https://github.com/soranoo/next-css-obfuscator/issues) with your configuration and the related code. + +### 5. Why did I get a copy of the original CSS after partial obfuscation? + +Since the original CSS may referenced by other components not included in the obfuscation, the package will not remove the original CSS to prevent breaking the the site. + ## 👀 Demos 1. [Next 14 App Router](https://github.com/soranoo/next-css-obfuscator/tree/main/demo/next14-app-router) @@ -328,15 +377,17 @@ Your convertion table may be messed up. Try to delete the `classConversionJsonFo ## ⭐ TODO -- [x] Partially obfuscation +- [x] Partial obfuscation - [x] To be a totally independent package (remove dependency on [PostCSS-Obfuscator](https://github.com/n4j1Br4ch1D/postcss-obfuscato)) - [ ] More tests +- [ ] More domes ? ## 🐛 Known Issues -- Partially obfuscation +- Partial Obfuscation - Not work with complex component. (eg. A component with children components) - Reason: The obfuscation marker can't locate the correct code block to obfuscate. + - Potential Solution: track the function/variable call stack to locate the correct code block to obfuscate. ## 💖 Sponsors diff --git a/docs/upgrade-to-v2.md b/docs/upgrade-to-v2.md index e959262..c4cc31d 100644 --- a/docs/upgrade-to-v2.md +++ b/docs/upgrade-to-v2.md @@ -36,5 +36,4 @@ We have added a new individual configuration file `next-css-obfuscator.config.cj | ➡️ | refreshClassConversionJson | | ➡️ | enableMarkers | | ➡️ | removeMarkersAfterObfuscated | -| ➡️ | customTailwindDarkModeSelector | | ➡️ | logLevel | diff --git a/package-lock.json b/package-lock.json index e0f19c6..4628390 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "next-css-obfuscator", - "version": "2.0.0-beta.23", + "version": "2.0.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "next-css-obfuscator", - "version": "2.0.0-beta.23", + "version": "2.0.6", "license": "MIT", "dependencies": { "css-parse": "^2.0.0", @@ -20,6 +20,7 @@ "@types/node": "^20.8.10", "@types/react": "^18.2.31", "jest": "^29.7.0", + "prettier": "^3.2.4", "ts-jest": "^29.1.1", "tslib": "^2.6.2", "typescript": "^5.0.2" @@ -3196,6 +3197,21 @@ "node": ">=8" } }, + "node_modules/prettier": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", diff --git a/package.json b/package.json index 05825b7..8ca6417 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,16 @@ { "name": "next-css-obfuscator", - "version": "2.0.6", + "version": "2.1.0-beta1", "description": "A temporary solution for using postcss-obfuscator in Next.js.", "main": "dist/index.js", "type": "commonjs", "scripts": { - "build": "tsc", + "build": "npm run test && tsc", "dev": "tsc -w", "pub": "npm run build && npm publish", - "test": "jest" + "test": "jest", + "publish": "npm run build && npm publish", + "publish@beta": "npm run build && npm publish --tag beta" }, "repository": { "type": "git", @@ -25,6 +27,7 @@ "@types/node": "^20.8.10", "@types/react": "^18.2.31", "jest": "^29.7.0", + "prettier": "^3.2.4", "ts-jest": "^29.1.1", "tslib": "^2.6.2", "typescript": "^5.0.2" From 9da42ac4a8355ebbebc77654d212724fe67bb3c4 Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 01:56:39 +0000 Subject: [PATCH 06/12] Fixed `README.md` Typos --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1333b7f..331b371 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for bet Shout out to [hoangnhan2ka3](https://github.com/hoangnhan2ka3) for providing a wonderful [issue](https://github.com/soranoo/next-css-obfuscator/issues/6) report. #### Changes: - - Much Much Much better CSS selector obfuscation - - Auto delete orginal CSS after obfuscation (only apply at full obfuscation) + - Much Much Much better quality of CSS selector obfuscation + - Delete original CSS automatically after obfuscation (only apply at full obfuscation) - Removed `customTailwindDarkModeSelector` option, the dark mode selector will be automatically obfuscated at full obfuscation. - Support TailwindCSS Universal Selector (eg. `*:pt-4`) - More tests @@ -341,7 +341,7 @@ You are not expected to see this: ```css /* example */ -/* orginal form */ +/* original form */ .text-stone-300 { --tw-text-opacity: 1; color: rgb(214 211 209 / var(--tw-text-opacity)); From bb81bcfdff76307d5117a69feed23d945fb2e5e3 Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 10:54:21 +0000 Subject: [PATCH 07/12] Fixed Incorrect Full Obfuscation CSS Deletion Behavior #6 --- src/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils.ts b/src/utils.ts index ed7eed6..16ffb35 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -217,7 +217,7 @@ function replaceJsonKeysInFiles( // Obfuscate CSS files cssPaths.forEach((cssPath) => { - obfuscateCss(classConversion, cssPath, enableObfuscateMarkerClasses); + obfuscateCss(classConversion, cssPath, !enableObfuscateMarkerClasses); }); } From 7c6b06c6fff9fcc113976f085827181ef61b4333 Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 11:41:01 +0000 Subject: [PATCH 08/12] Added `removeOriginalCss` option --- src/config.ts | 2 +- src/index.ts | 1 + src/types.ts | 2 ++ src/utils.ts | 4 +++- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/config.ts b/src/config.ts index 0905ca2..aaa6736 100644 --- a/src/config.ts +++ b/src/config.ts @@ -21,7 +21,7 @@ const defaultOptions: Options = { enableMarkers: false, // Enable or disable the obfuscate marker classes. markers: ["next-css-obfuscation"], // Classes that indicate component(s) need to obfuscate. removeMarkersAfterObfuscated: true, // Remove the obfuscation markers from HTML elements after obfuscation. - + removeOriginalCss: false, // Delete original CSS from CSS files if it has a obfuscated version. logLevel: "info", // Log level }; diff --git a/src/index.ts b/src/index.ts index f43fa97..265f7ca 100644 --- a/src/index.ts +++ b/src/index.ts @@ -59,6 +59,7 @@ function obfuscate(options: Options) { enableObfuscateMarkerClasses: options.enableMarkers, obfuscateMarkerClasses: options.markers, removeObfuscateMarkerClassesAfterObfuscated: options.removeMarkersAfterObfuscated, + removeOriginalCss: options.removeOriginalCss, }); } diff --git a/src/types.ts b/src/types.ts index 5ae169c..9fe351c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -23,6 +23,7 @@ type Options = { enableMarkers: boolean; markers: string[]; removeMarkersAfterObfuscated: boolean; + removeOriginalCss: boolean; logLevel: LogLevel; } @@ -47,6 +48,7 @@ type OptionalOptions = { enableMarkers?: boolean; markers?: string[]; removeMarkersAfterObfuscated?: boolean; + removeOriginalCss?: boolean; logLevel?: LogLevel; } diff --git a/src/utils.ts b/src/utils.ts index 16ffb35..6503320 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -71,6 +71,7 @@ function replaceJsonKeysInFiles( enableObfuscateMarkerClasses, obfuscateMarkerClasses, removeObfuscateMarkerClassesAfterObfuscated, + removeOriginalCss, }: { targetFolder: string, allowExtensions: string[], @@ -85,6 +86,7 @@ function replaceJsonKeysInFiles( enableObfuscateMarkerClasses: boolean, obfuscateMarkerClasses: string[], removeObfuscateMarkerClassesAfterObfuscated: boolean, + removeOriginalCss: boolean, }) { //ref: https://github.com/n4j1Br4ch1D/postcss-obfuscator/blob/main/utils.js @@ -217,7 +219,7 @@ function replaceJsonKeysInFiles( // Obfuscate CSS files cssPaths.forEach((cssPath) => { - obfuscateCss(classConversion, cssPath, !enableObfuscateMarkerClasses); + obfuscateCss(classConversion, cssPath, removeOriginalCss); }); } From 80aacb7eb5f9fc639cf4b4c286fc69c4ef4150e3 Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 14:59:03 +0000 Subject: [PATCH 09/12] Fixed Incorrect Class Extraction with Normal Attribute & Fixed Universal Selectors #6 --- src/handlers/css.test.ts | 6 +++--- src/handlers/css.ts | 31 ++++++++++++++++++++++++++++--- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/src/handlers/css.test.ts b/src/handlers/css.test.ts index 947affa..7606ccf 100644 --- a/src/handlers/css.test.ts +++ b/src/handlers/css.test.ts @@ -327,7 +327,7 @@ describe("extractClassFromSelector", () => { // Assert expect(result).toEqual({ selector: sample, - extractedClasses: ["class1[data-attr=\"value\"]", "class2[data-attr='value']"] + extractedClasses: ["class1", "class2"] }); }); @@ -436,7 +436,7 @@ describe("extractClassFromSelector", () => { }); test("should handle Tailwind CSS [custom parameter] selector", () => { - const sample = ".class1[100] .class2-[200]"; + const sample = ".class1\\[100\\] .class2-\\[200\\]"; // Act const result = extractClassFromSelector(sample); @@ -444,7 +444,7 @@ describe("extractClassFromSelector", () => { // Assert expect(result).toEqual({ selector: sample, - extractedClasses: ["class1[100]", "class2-[200]"] + extractedClasses: ["class1\\[100\\]", "class2-\\[200\\]"] }) }); diff --git a/src/handlers/css.ts b/src/handlers/css.ts index f271864..ab3ff81 100644 --- a/src/handlers/css.ts +++ b/src/handlers/css.ts @@ -90,7 +90,7 @@ function extractClassFromSelector(selector: string, replacementClassNames?: (str //? "\\\.\d+" for number with ".", eg. ".ml-1\.5" the ".ml-1.5" should be in the same group, before that ".ml-1\.5" will split into ".ml-1" and ".5" //? "\\\/\d+" for number with "/", eg. ".bg-emerald-400\/20" the ".bg-emerald-400\/20" should be in the same group, before that ".bg-emerald-400\/20" will split into ".bg-emerald-400" and "\/20" //? "(?:\\?\[[\w\-="\\%\+\(\)]+\])?" for [attribute / Tailwind CSS custom parameter] selector - const extractClassRegex = /(?<=[.:!\s]|(? selector.startsWith(start))) { classes = classes.map((className) => { + + // apply ignore list if (classIgnore.includes(className)) { return className; } + + // try to get the obfuscated selector from the selectorConversion + // if not found, create a new one let obfuscatedSelector = selectorConversion[`.${className}`]; if (!obfuscatedSelector) { const obfuscatedClass = createNewClassName(mode, className, classPrefix, classSuffix, classNameLength); obfuscatedSelector = `.${obfuscatedClass}`; selectorConversion[`.${className}`] = obfuscatedSelector; } + + // return the obfuscated class return obfuscatedSelector.slice(1) }); + + // obfuscate the selector const { selector: obfuscatedSelector } = extractClassFromSelector(originalSelector, classes); + selectorConversion[originalSelector] = obfuscatedSelector; } } @@ -310,7 +320,11 @@ function renameCssSelector(oldSelector: string, newSelector: string, cssObj: any return cssObj; } -function obfuscateCss(selectorConversion: SelectorConversion, cssPath: string, replaceOriginalSelector: boolean = false) { +function obfuscateCss( + selectorConversion: SelectorConversion, + cssPath: string, + replaceOriginalSelector: boolean = false +) { let cssContent = fs.readFileSync(cssPath, "utf-8"); let cssObj = css.parse(cssContent); @@ -329,6 +343,12 @@ function obfuscateCss(selectorConversion: SelectorConversion, cssPath: string, r usedKeyRegistery.add(actionSelector); }); + // join all universal selectors (with ">*") + const universalSelectors = getAllSelector(cssObj).filter((selector) => selector.includes(">*")); + universalSelectors.forEach((universalSelector) => { + usedKeyRegistery.add(universalSelector); + }); + // modify css rules usedKeyRegistery.forEach((key) => { const originalSelectorName = key; @@ -341,7 +361,12 @@ function obfuscateCss(selectorConversion: SelectorConversion, cssPath: string, r } } }); - log("info", "CSS rules:", `Added ${cssObj.stylesheet.rules.length - cssRulesCount} new CSS rules to ${getFilenameFromPath(cssPath)}`); + + if (replaceOriginalSelector) { + log("info", "CSS rules:", `Modified ${usedKeyRegistery.size} CSS rules to ${getFilenameFromPath(cssPath)}`); + } else { + log("info", "CSS rules:", `Added ${cssObj.stylesheet.rules.length - cssRulesCount} new CSS rules to ${getFilenameFromPath(cssPath)}`); + } const cssOptions = { compress: true, From 2ade691e149812ebb06ec049f8e575782e21f075 Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 16:37:47 +0000 Subject: [PATCH 10/12] Added/Merged Options [+] `removeOriginalCss` Option [#] Merged `includeAnyMatchRegexes` and `excludeAnyMatchRegexes` options into `whiteListedFolderPaths` and `blackListedFolderPaths` options --- README.md | 40 +++++++++++++------------- docs/upgrade-to-v2.md | 66 +++++++++++++++++++++---------------------- package.json | 3 +- src/config.ts | 2 -- src/handlers/css.ts | 4 +-- src/index.ts | 11 +++++--- src/types.ts | 18 ++++++------ src/utils.ts | 27 ++++-------------- 8 files changed, 79 insertions(+), 92 deletions(-) diff --git a/README.md b/README.md index 331b371..a10bf38 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,15 @@ Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for bet #### Changes: - Much Much Much better quality of CSS selector obfuscation - Delete original CSS automatically after obfuscation (only apply at full obfuscation) - - Removed `customTailwindDarkModeSelector` option, the dark mode selector will be automatically obfuscated at full obfuscation. - Support TailwindCSS Universal Selector (eg. `*:pt-4`) - More tests -### Version 2 (Major Update) + ### Configuration Changes: + - Removed `customTailwindDarkModeSelector` option, the dark mode selector will be automatically obfuscated at full obfuscation. + - Merged `includeAnyMatchRegexes` and `excludeAnyMatchRegexes` options into `whiteListedFolderPaths` and `blackListedFolderPaths` options. (Directly move the regexes to the `whiteListedFolderPaths` and `blackListedFolderPaths` options) + - Added `removeOriginalCss` option, default to `false`. Set to `true` to delete original CSS from CSS files if it has a obfuscated version. + +### 💥 Version 2 (Major Update) This version is deeply inspired by [PostCSS-Obfuscator](https://github.com/n4j1Br4ch1D/postcss-obfuscator). Shout out to [n4j1Br4ch1D](https://github.com/n4j1Br4ch1D) for creating such a great package and thank you [tremor](https://github.com/tremorlabs) for sponsoring this project. #### Changes: @@ -31,8 +35,8 @@ Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for bet - More tests - Better CSS parsing - #### Migration Guide: - - [Migrate from version 1.x to 2.x](docs/upgrade-to-v2.md) +### Migration Guide: +- [Migrate from version 1.x to 2.x](docs/upgrade-to-v2.md) [version 1.x README](https://github.com/soranoo/next-css-obfuscator/tree/v.1.1.0) @@ -48,6 +52,7 @@ Give me a ⭐ if you like it. - [How does this package work?](#how-does-this-package-work) - [🗝️ Features](#️-features) - [🛠️ Development Environment](#️-development-environment) +- [📦 Requirements](#-requirements) - [🚀 Getting Started](#-getting-started) - [Installation](#installation) - [Setup](#setup) @@ -59,7 +64,7 @@ Give me a ⭐ if you like it. - [1. Not work at Vercel after updated](#1-not-work-at-vercel-after-updated) - [2. Lazy Setup - Obfuscate all files](#2-lazy-setup---obfuscate-all-files) - [3. It was working normally just now, but not now?](#3-it-was-working-normally-just-now-but-not-now) - - [4. Why are some original selectors still in the obfuscated CSS file after full obfuscation?](#4-why-are-some-original-selectors-still-in-the-obfuscated-css-file-after-full-obfuscation) + - [4. Why are some original selectors still in the obfuscated CSS file even the `removeOriginalCss` option is set to `true`?](#4-why-are-some-original-selectors-still-in-the-obfuscated-css-file-even-the-removeoriginalcss-option-is-set-to-true) - [5. Why did I get a copy of the original CSS after partial obfuscation?](#5-why-did-i-get-a-copy-of-the-original-css-after-partial-obfuscation) - [👀 Demos](#-demos) - [⭐ TODO](#-todo) @@ -249,13 +254,12 @@ module.exports = { refreshClassConversionJson: false, // recommended set to true if not in production allowExtensions: [".jsx", ".tsx", ".js", ".ts", ".html", ".rsc"], - blackListedFolderPaths: ["./.next/cache"], - excludeAnyMatchRegexes: [ + blackListedFolderPaths: [ + "./.next/cache", /\.next\/server\/pages\/api/, /_document..*js/, /_app-.*/, - ], - customTailwindDarkModeSelector: "dm", + ] }; ``` @@ -273,16 +277,15 @@ It may not be the best setting but it works for me. :) |classLength|number|5|The length of the obfuscated class name if in random mode.| |classPrefix|string|""|The prefix of the obfuscated class name.| |classSuffix|string|""|The suffix of the obfuscated class name.| -|classIgnore|string[ ]|[ ]|The class names to be ignored during obfuscation.| +|classIgnore|(string | Regex)[ ]|[ ]|The class names to be ignored during obfuscation.| |allowExtensions|string[ ]|[".jsx", ".tsx", ".js", ".ts", ".html", ".rsc"]|The file extensions to be processed.| |contentIgnoreRegexes|RegExp[ ]|[ ]|The regexes to match the content to be ignored during obfuscation.| -|whiteListedFolderPaths|string[ ]|[ ]|The folder paths to be processed. Empty array means all folders will be processed.| -|blackListedFolderPaths|string[ ]|[ ]|The folder paths to be ignored.| -|includeAnyMatchRegexes|RegExp[ ]|[ ]|The regexes to match the file/folder paths to be processed.| -|excludeAnyMatchRegex|RegExp[ ]|[ ]|The regexes to match the file/folder paths to be ignored.| +|whiteListedFolderPaths|(string | Regex)[ ]|[ ]|The folder paths/Regex to be processed. Empty array means all folders will be processed.| +|blackListedFolderPaths|(string | Regex)[ ]|[ ]|The folder paths/Regex to be ignored.| |enableMarkers|boolean|false|Enable or disable the obfuscation markers.| |markers|string[ ]|[ ]|Classes that indicate component(s) need to obfuscate.| |removeMarkersAfterObfuscated|boolean|true|Remove the obfuscation markers from HTML elements after obfuscation.| +|removeOriginalCss|boolean|false|Delete original CSS from CSS files if it has a obfuscated version. (*NOT recommended* using in partial obfuscation) |logLevel|"debug" \| "info" \| "warn" \| "error" \| "success"| "info"|The log level.| ###### All options in one place @@ -303,11 +306,10 @@ module.exports = { whiteListedFolderPaths: [], // Only obfuscate files in these folders blackListedFolderPaths: ["./.next/cache"], // Don't obfuscate files in these folders - includeAnyMatchRegexes: [], // The regexes to match the file/folder paths to be processed. - excludeAnyMatchRegexes: [], // The regexes to match the file/folder paths to be ignored. enableMarkers: false, // Enable or disable the obfuscate marker classes. markers: ["next-css-obfuscation"], // Classes that indicate component(s) need to obfuscate. removeMarkersAfterObfuscated: true, // Remove the obfuscation markers from HTML elements after obfuscation. + removeOriginalCss: false, // Delete original CSS from CSS files if it has a obfuscated version. logLevel: "info", // Log level }; @@ -333,13 +335,13 @@ Enable `enableMarkers` and put the obfuscate marker class at every component inc Your convertion table may be messed up. Try to delete the `classConversionJsonFolderPath`(default: `css-obfuscator`) folder to reset the convertion table. -### 4. Why are some original selectors still in the obfuscated CSS file after full obfuscation? +### 4. Why are some original selectors still in the obfuscated CSS file even the `removeOriginalCss` option is set to `true`? In a normal situation, the package will only remove the original CSS that is related to the obfuscation and you should not see any CSS sharing the same declaration block. You are not expected to see this: ```css -/* example */ +/* example.css */ /* original form */ .text-stone-300 { @@ -355,7 +357,7 @@ You are not expected to see this: ``` But this: ```css -/* example */ +/* example.css */ /* obfuscated form */ .d8964 { diff --git a/docs/upgrade-to-v2.md b/docs/upgrade-to-v2.md index c4cc31d..df4ea02 100644 --- a/docs/upgrade-to-v2.md +++ b/docs/upgrade-to-v2.md @@ -4,36 +4,36 @@ We have added a new individual configuration file `next-css-obfuscator.config.cjs`. The old configuration in `postcss.config.cjs` was deprecated. You can use the following Table to migrate your configuration. -| Old configuration | New configuration | -| -------------------- | ------------------------------ | -| enable | enabled | -| length | classLength | -| classMethod | mode | -| classPrefix | classPrefix | -| classSuffix | classSuffix | -| classIgnore | classIgnore | -| ids | ⛔ | -| idMethod | ⛔ | -| idPrefix | ⛔ | -| idSuffix | ⛔ | -| idIgnore | ⛔ | -| indicatorStart | ⛔ | -| indicatorEnd | ⛔ | -| jsonsPath | classConversionJsonFolderPath | -| srcPath | buildFolderPath | -| desPath | buildFolderPath | -| extensions | allowExtensions | -| ➡️ | contentIgnoreRegexes | -| formatJson | ⛔ | -| showConfig | ⛔ | -| keepData | ⛔ | -| preRun | ⛔ | -| callBack | ⛔ | -| whiteListedPaths | whiteListedFolderPaths | -| blackListedPaths | blackListedFolderPaths | -| ➡️ | includeAnyMatchRegexes | -| excludeAnyMatchRegex | excludeAnyMatchRegex | -| ➡️ | refreshClassConversionJson | -| ➡️ | enableMarkers | -| ➡️ | removeMarkersAfterObfuscated | -| ➡️ | logLevel | +| Old configuration | New configuration | +| -------------------- | ----------------------------- | +| enable | enabled | +| length | classLength | +| classMethod | mode | +| classPrefix | classPrefix | +| classSuffix | classSuffix | +| classIgnore | classIgnore | +| ids | ⛔ | +| idMethod | ⛔ | +| idPrefix | ⛔ | +| idSuffix | ⛔ | +| idIgnore | ⛔ | +| indicatorStart | ⛔ | +| indicatorEnd | ⛔ | +| jsonsPath | classConversionJsonFolderPath | +| srcPath | buildFolderPath | +| desPath | buildFolderPath | +| extensions | allowExtensions | +| ➡️ | contentIgnoreRegexes | +| formatJson | ⛔ | +| showConfig | ⛔ | +| keepData | ⛔ | +| preRun | ⛔ | +| callBack | ⛔ | +| whiteListedPaths | whiteListedFolderPaths | +| blackListedPaths | blackListedFolderPaths | +| excludeAnyMatchRegex | blackListedFolderPaths | +| ➡️ | refreshClassConversionJson | +| ➡️ | enableMarkers | +| ➡️ | removeMarkersAfterObfuscated | +| ➡️ | removeOriginalCss | +| ➡️ | logLevel | diff --git a/package.json b/package.json index 8ca6417..22ea561 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,12 @@ { "name": "next-css-obfuscator", - "version": "2.1.0-beta1", + "version": "2.1.0-beta2", "description": "A temporary solution for using postcss-obfuscator in Next.js.", "main": "dist/index.js", "type": "commonjs", "scripts": { "build": "npm run test && tsc", "dev": "tsc -w", - "pub": "npm run build && npm publish", "test": "jest", "publish": "npm run build && npm publish", "publish@beta": "npm run build && npm publish --tag beta" diff --git a/src/config.ts b/src/config.ts index aaa6736..07aabd3 100644 --- a/src/config.ts +++ b/src/config.ts @@ -16,8 +16,6 @@ const defaultOptions: Options = { whiteListedFolderPaths: [], // Only obfuscate files in these folders blackListedFolderPaths: ["./.next/cache"], // Don't obfuscate files in these folders - includeAnyMatchRegexes: [], // The regexes to match the file/folder paths to be processed. - excludeAnyMatchRegexes: [], // The regexes to match the file/folder paths to be ignored. enableMarkers: false, // Enable or disable the obfuscate marker classes. markers: ["next-css-obfuscation"], // Classes that indicate component(s) need to obfuscate. removeMarkersAfterObfuscated: true, // Remove the obfuscation markers from HTML elements after obfuscation. diff --git a/src/handlers/css.ts b/src/handlers/css.ts index ab3ff81..f61467c 100644 --- a/src/handlers/css.ts +++ b/src/handlers/css.ts @@ -166,7 +166,7 @@ function createSelectorConversionJson( classNameLength?: number, classPrefix?: string, classSuffix?: string, - classIgnore?: string[], + classIgnore?: (string | RegExp)[], enableObfuscateMarkerClasses?: boolean, }) { @@ -237,7 +237,7 @@ function createSelectorConversionJson( classes = classes.map((className) => { // apply ignore list - if (classIgnore.includes(className)) { + if (classIgnore.some(regex => new RegExp(regex).test(className))) { return className; } diff --git a/src/index.ts b/src/index.ts index 265f7ca..8aeb84d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -45,6 +45,11 @@ function obfuscate(options: Options) { }); log("success", "Obfuscation", "Class conversion JSON created/updated"); + if ((options.includeAnyMatchRegexes && options.includeAnyMatchRegexes.length > 0) + || (options.excludeAnyMatchRegexes && options.excludeAnyMatchRegexes.length > 0)) { + log("warn", "Obfuscation", "'includeAnyMatchRegexes' and 'excludeAnyMatchRegexes' are deprecated, please use whiteListedFolderPaths and blackListedFolderPaths instead"); + } + replaceJsonKeysInFiles({ targetFolder: options.buildFolderPath, allowExtensions: options.allowExtensions, @@ -52,10 +57,8 @@ function obfuscate(options: Options) { contentIgnoreRegexes: options.contentIgnoreRegexes, - whiteListedFolderPaths: options.whiteListedFolderPaths, - blackListedFolderPaths: options.blackListedFolderPaths, - includeAnyMatchRegexes: options.includeAnyMatchRegexes, - excludeAnyMatchRegexes: options.excludeAnyMatchRegexes, + whiteListedFolderPaths: [...options.whiteListedFolderPaths, ...(options.includeAnyMatchRegexes || [])], + blackListedFolderPaths: [...options.blackListedFolderPaths, ...(options.excludeAnyMatchRegexes || [])], enableObfuscateMarkerClasses: options.enableMarkers, obfuscateMarkerClasses: options.markers, removeObfuscateMarkerClassesAfterObfuscated: options.removeMarkersAfterObfuscated, diff --git a/src/types.ts b/src/types.ts index 9fe351c..c5feb49 100644 --- a/src/types.ts +++ b/src/types.ts @@ -12,14 +12,14 @@ type Options = { classLength: number; classPrefix: string; classSuffix: string; - classIgnore: string[]; + classIgnore: (string | RegExp)[]; allowExtensions: string[]; contentIgnoreRegexes: RegExp[]; - whiteListedFolderPaths: string[]; - blackListedFolderPaths: string[]; - includeAnyMatchRegexes: RegExp[]; - excludeAnyMatchRegexes: RegExp[]; + whiteListedFolderPaths: (string | RegExp)[]; + blackListedFolderPaths: (string | RegExp)[]; + includeAnyMatchRegexes?: RegExp[]; //! @deprecated + excludeAnyMatchRegexes?: RegExp[]; //! @deprecated enableMarkers: boolean; markers: string[]; removeMarkersAfterObfuscated: boolean; @@ -41,10 +41,10 @@ type OptionalOptions = { allowExtensions?: string[]; contentIgnoreRegexes: RegExp[]; - whiteListedFolderPaths?: string[]; - blackListedFolderPaths?: string[]; - includeAnyMatchRegexes?: RegExp[]; - excludeAnyMatchRegexes?: RegExp[]; + whiteListedFolderPaths?: (string | RegExp)[]; + blackListedFolderPaths?: (string | RegExp)[]; + includeAnyMatchRegexes?: RegExp[]; //! @deprecated + excludeAnyMatchRegexes?: RegExp[]; //! @deprecated enableMarkers?: boolean; markers?: string[]; removeMarkersAfterObfuscated?: boolean; diff --git a/src/utils.ts b/src/utils.ts index 6503320..5abd0ab 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -66,8 +66,6 @@ function replaceJsonKeysInFiles( whiteListedFolderPaths, blackListedFolderPaths, - includeAnyMatchRegexes, - excludeAnyMatchRegexes, enableObfuscateMarkerClasses, obfuscateMarkerClasses, removeObfuscateMarkerClassesAfterObfuscated, @@ -79,10 +77,8 @@ function replaceJsonKeysInFiles( contentIgnoreRegexes: RegExp[], - whiteListedFolderPaths: string[], - blackListedFolderPaths: string[], - includeAnyMatchRegexes: RegExp[], - excludeAnyMatchRegexes: RegExp[], + whiteListedFolderPaths: (string | RegExp)[], + blackListedFolderPaths: (string | RegExp)[], enableObfuscateMarkerClasses: boolean, obfuscateMarkerClasses: string[], removeObfuscateMarkerClassesAfterObfuscated: boolean, @@ -115,25 +111,14 @@ function replaceJsonKeysInFiles( let isTargetFile = true; if (whiteListedFolderPaths.length > 0) { isTargetFile = whiteListedFolderPaths.some((incloudPath) => { - return normalizePath(filePath).includes(normalizePath(incloudPath)); + const regex = new RegExp(incloudPath); + return regex.test(normalizePath(filePath)); }); } if (blackListedFolderPaths.length > 0) { const res = !blackListedFolderPaths.some((incloudPath) => { - return normalizePath(filePath).includes(normalizePath(incloudPath)); - }); - if (!res) { - isTargetFile = false; - } - } - if (includeAnyMatchRegexes.length > 0) { - isTargetFile = includeAnyMatchRegexes.some((regex) => { - return normalizePath(filePath).match(regex); - }); - } - if (excludeAnyMatchRegexes.length > 0) { - const res = !excludeAnyMatchRegexes.some((regex) => { - return normalizePath(filePath).match(regex); + const regex = new RegExp(incloudPath); + return regex.test(normalizePath(filePath)); }); if (!res) { isTargetFile = false; From cc64ff07602b7b36a62f53716ed3c2347a00bb46 Mon Sep 17 00:00:00 2001 From: Freeman Date: Wed, 31 Jan 2024 16:45:25 +0000 Subject: [PATCH 11/12] Removed Double `Obfuscation` in Log #6 --- README.md | 1 + src/index.ts | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a10bf38..9caa6c1 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for bet - Removed `customTailwindDarkModeSelector` option, the dark mode selector will be automatically obfuscated at full obfuscation. - Merged `includeAnyMatchRegexes` and `excludeAnyMatchRegexes` options into `whiteListedFolderPaths` and `blackListedFolderPaths` options. (Directly move the regexes to the `whiteListedFolderPaths` and `blackListedFolderPaths` options) - Added `removeOriginalCss` option, default to `false`. Set to `true` to delete original CSS from CSS files if it has a obfuscated version. + - `classIgnore` option now supports Regex. ### 💥 Version 2 (Major Update) This version is deeply inspired by [PostCSS-Obfuscator](https://github.com/n4j1Br4ch1D/postcss-obfuscator). Shout out to [n4j1Br4ch1D](https://github.com/n4j1Br4ch1D) for creating such a great package and thank you [tremor](https://github.com/tremorlabs) for sponsoring this project. diff --git a/src/index.ts b/src/index.ts index 8aeb84d..9aeeaba 100644 --- a/src/index.ts +++ b/src/index.ts @@ -98,7 +98,7 @@ function obfuscateCli() { const config = new Config(configPath ? require(configPath) : undefined).get(); obfuscate(config); - log("success", "Obfuscation", "Obfuscation complete"); + log("success", "Obfuscation", "Completed~"); log("info", "Give me a ⭐️ on GitHub if you like this plugin", "https://github.com/soranoo/next-css-obfuscator"); } From 9b51f351c710c209ad880892c5744227ee87b6d6 Mon Sep 17 00:00:00 2001 From: Freeman Date: Thu, 1 Feb 2024 00:02:24 +0000 Subject: [PATCH 12/12] Updated Docs and Default Config --- README.md | 52 +++++++++++++++++------ demo/next14-app-router/package-lock.json | 8 ++-- demo/next14-app-router/package.json | 4 +- docs/imgs/banner.pdn | Bin 0 -> 439145 bytes docs/imgs/banner.png | Bin 0 -> 228099 bytes package.json | 18 +++----- src/config.ts | 4 +- 7 files changed, 53 insertions(+), 33 deletions(-) create mode 100644 docs/imgs/banner.pdn create mode 100644 docs/imgs/banner.png diff --git a/README.md b/README.md index 9caa6c1..c50a0ae 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,27 @@ Project start on 30-10-2023 ![Tests](https://github.com/soranoo/next-css-obfuscator/actions/workflows/auto_test.yml/badge.svg) [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)   [![Donation](https://img.shields.io/static/v1?label=Donation&message=❤️&style=social)](https://github.com/soranoo/Donation) +[![banner](./docs/imgs/banner.png)](https://github.com/soranoo/next-css-obfuscator) [![npm version](https://img.shields.io/npm/v/next-css-obfuscator?color=red&style=flat)](https://www.npmjs.com/package/next-css-obfuscator) [![npm downloads](https://img.shields.io/npm/dt/next-css-obfuscator?color=blue&style=flat)](https://www.npmjs.com/package/next-css-obfuscator) -Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for better reading experience. +--- + +Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for better reading experience and latest docs. 😎 + +--- + ### 🎉 Version 2.1.0 has NOW been released 🎉 - Shout out to [hoangnhan2ka3](https://github.com/hoangnhan2ka3) for providing a wonderful [issue](https://github.com/soranoo/next-css-obfuscator/issues/6) report. + Shout out to [hoangnhan2ka3](https://github.com/hoangnhan2ka3) for providing a 💪wonderful [issue](https://github.com/soranoo/next-css-obfuscator/issues/6) report and a demo site. - #### Changes: + #### 📌 Changes - Much Much Much better quality of CSS selector obfuscation - Delete original CSS automatically after obfuscation (only apply at full obfuscation) - Support TailwindCSS Universal Selector (eg. `*:pt-4`) - More tests - ### Configuration Changes: + #### 📌 Configuration Changes - Removed `customTailwindDarkModeSelector` option, the dark mode selector will be automatically obfuscated at full obfuscation. - Merged `includeAnyMatchRegexes` and `excludeAnyMatchRegexes` options into `whiteListedFolderPaths` and `blackListedFolderPaths` options. (Directly move the regexes to the `whiteListedFolderPaths` and `blackListedFolderPaths` options) - Added `removeOriginalCss` option, default to `false`. Set to `true` to delete original CSS from CSS files if it has a obfuscated version. @@ -27,7 +33,7 @@ Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for bet ### 💥 Version 2 (Major Update) This version is deeply inspired by [PostCSS-Obfuscator](https://github.com/n4j1Br4ch1D/postcss-obfuscator). Shout out to [n4j1Br4ch1D](https://github.com/n4j1Br4ch1D) for creating such a great package and thank you [tremor](https://github.com/tremorlabs) for sponsoring this project. - #### Changes: + #### 📌 Changes - Support basic partial obfuscation - Support TailwindCSS Dark Mode - New configuration file `next-css-obfuscator.config.cjs` @@ -36,7 +42,7 @@ Visit the [GitHub Page](https://github.com/soranoo/next-css-obfuscator/) for bet - More tests - Better CSS parsing -### Migration Guide: +### 📚 Migration Guides - [Migrate from version 1.x to 2.x](docs/upgrade-to-v2.md) @@ -71,6 +77,7 @@ Give me a ⭐ if you like it. - [⭐ TODO](#-todo) - [🐛 Known Issues](#-known-issues) - [💖 Sponsors](#-sponsors) +- [🦾 Special Thanks](#-special-thanks) - [🤝 Contributing](#-contributing) - [📝 License](#-license) - [☕ Donation](#-donation) @@ -215,6 +222,9 @@ For convenience, you may update your build script to: to make sure the build is always obfuscated and no need to run `obfuscate-build` manually. +> [!NOTE]\ +> It is a good idea to add the `/css-obfuscator` folder to `.gitignore` to prevent the convertion table from being uploaded to the repository. + #### Partially obfuscate To partially obfuscate your project, you have to add the obfuscate marker class to the components you want to obfuscate. @@ -260,9 +270,11 @@ module.exports = { /\.next\/server\/pages\/api/, /_document..*js/, /_app-.*/, - ] + /__.*/, // <= maybe helpful if you are using Next.js Lcal Fonts [1*] + ], }; ``` +[*1] See this [comment](https://github.com/soranoo/next-css-obfuscator/issues/6#issuecomment-1919495298) It may not be the best setting but it works for me. :) @@ -278,11 +290,11 @@ It may not be the best setting but it works for me. :) |classLength|number|5|The length of the obfuscated class name if in random mode.| |classPrefix|string|""|The prefix of the obfuscated class name.| |classSuffix|string|""|The suffix of the obfuscated class name.| -|classIgnore|(string | Regex)[ ]|[ ]|The class names to be ignored during obfuscation.| +|classIgnore|(string \| Regex)[ ]|[ ]|The class names to be ignored during obfuscation.| |allowExtensions|string[ ]|[".jsx", ".tsx", ".js", ".ts", ".html", ".rsc"]|The file extensions to be processed.| -|contentIgnoreRegexes|RegExp[ ]|[ ]|The regexes to match the content to be ignored during obfuscation.| -|whiteListedFolderPaths|(string | Regex)[ ]|[ ]|The folder paths/Regex to be processed. Empty array means all folders will be processed.| -|blackListedFolderPaths|(string | Regex)[ ]|[ ]|The folder paths/Regex to be ignored.| +|contentIgnoreRegexes|RegExp[ ]|[/\.jsxs\)\("\w+"/g]|The regexes to match the content to be ignored during obfuscation.| +|whiteListedFolderPaths|(string \| Regex)[ ]|[ ]|The folder paths/Regex to be processed. Empty array means all folders will be processed.| +|blackListedFolderPaths|(string \| Regex)[ ]|[ ]|The folder paths/Regex to be ignored.| |enableMarkers|boolean|false|Enable or disable the obfuscation markers.| |markers|string[ ]|[ ]|Classes that indicate component(s) need to obfuscate.| |removeMarkersAfterObfuscated|boolean|true|Remove the obfuscation markers from HTML elements after obfuscation.| @@ -303,7 +315,9 @@ module.exports = { classSuffix: "", // Suffix of the obfuscated class name. classIgnore: [], // The class names to be ignored during obfuscation. allowExtensions: [".jsx", ".tsx", ".js", ".ts", ".html", ".rsc"], // The file extensions to be processed. - contentIgnoreRegexes: [], // The regexes to match the file content to be ignored during obfuscation. + contentIgnoreRegexes: [ + /\.jsxs\)\("\w+"/g, // avoid accidentally obfuscate the HTML tag + ], // The regexes to match the file content to be ignored during obfuscation. whiteListedFolderPaths: [], // Only obfuscate files in these folders blackListedFolderPaths: ["./.next/cache"], // Don't obfuscate files in these folders @@ -311,7 +325,6 @@ module.exports = { markers: ["next-css-obfuscation"], // Classes that indicate component(s) need to obfuscate. removeMarkersAfterObfuscated: true, // Remove the obfuscation markers from HTML elements after obfuscation. removeOriginalCss: false, // Delete original CSS from CSS files if it has a obfuscated version. - logLevel: "info", // Log level }; ``` @@ -377,6 +390,7 @@ Since the original CSS may referenced by other components not included in the ob 1. [Next 14 App Router](https://github.com/soranoo/next-css-obfuscator/tree/main/demo/next14-app-router) 2. [Next 14 App Router Partially Obfuscated](https://github.com/soranoo/next-css-obfuscator/tree/main/demo/next14-app-router-partially-obfuscated) +3. [hoangnhan.co.uk](https://hoangnhan.co.uk/) (BY [hoangnhan2ka3](https://github.com/hoangnhan2ka3)) ## ⭐ TODO @@ -408,6 +422,18 @@ Since the original CSS may referenced by other components not included in the ob #### Individuals (0) +## 🦾 Special Thanks + + + + +
+ + +
hoangnhan2ka3 +
+
+ ## 🤝 Contributing Contributions are welcome! If you find a bug or have a feature request, please open an issue. If you want to contribute code, please fork the repository and run `npm run test` before submit a pull request. diff --git a/demo/next14-app-router/package-lock.json b/demo/next14-app-router/package-lock.json index 22e695e..6b95f13 100644 --- a/demo/next14-app-router/package-lock.json +++ b/demo/next14-app-router/package-lock.json @@ -25,7 +25,7 @@ "cross-env": "^7.0.3", "eslint": "^8.54.0", "eslint-config-next": "^14.0.4", - "next-css-obfuscator": "^2.0.0", + "next-css-obfuscator": "^2.1.0-beta2", "postcss": "^8.4.32", "postcss-cli": "^11.0.0", "prettier": "^3.1.0", @@ -3538,9 +3538,9 @@ } }, "node_modules/next-css-obfuscator": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/next-css-obfuscator/-/next-css-obfuscator-2.0.0.tgz", - "integrity": "sha512-74GgfbuB0wSpWynauAotQhZfJs2upI+HbPcjs5hBVN3kcZelolWjrdJsiGN+SdB/CBGy1gidjLSW87fCSVT7PA==", + "version": "2.1.0-beta2", + "resolved": "https://registry.npmjs.org/next-css-obfuscator/-/next-css-obfuscator-2.1.0-beta2.tgz", + "integrity": "sha512-w9+nNi/9dGCubqgCDOBOTNPZEKGpjl+xYnc3zjTm0ho91vTiIhFO3pvnPwAoJ0HhAsIJ+3N1nSCudctlaVo/kQ==", "dev": true, "dependencies": { "css-parse": "^2.0.0", diff --git a/demo/next14-app-router/package.json b/demo/next14-app-router/package.json index 375d142..a1ccc7a 100644 --- a/demo/next14-app-router/package.json +++ b/demo/next14-app-router/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "scripts": { - "build": "next build && npm run obfuscate-build", + "build": "next build ", "dev": "next dev", "lint": "next lint", "start": "next start", @@ -28,7 +28,7 @@ "cross-env": "^7.0.3", "eslint": "^8.54.0", "eslint-config-next": "^14.0.4", - "next-css-obfuscator": "^2.0.0", + "next-css-obfuscator": "^2.1.0-beta2", "postcss": "^8.4.32", "postcss-cli": "^11.0.0", "prettier": "^3.1.0", diff --git a/docs/imgs/banner.pdn b/docs/imgs/banner.pdn new file mode 100644 index 0000000000000000000000000000000000000000..d6f81a1ac6556c1a53f19847a6fc22bdf553c249 GIT binary patch literal 439145 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%0D3mVNR;4<25@Y+c}9C=ADo3rwewFdkuW{N!yqN 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

1XG;-(D{^iV#y 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

<* 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

#c;&J89cS4HC_R0dQOSR!Q-Z@;X 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

<8b(!H7-_PftQp8e2(R1AUD~{Q6YQ&)31I z?NwZnJ&LBfL1g^n`Tkb%4{sN?t-Nub$+3Ow+ydP<%-3dRb+I*<>g zC*vp;`LjASs?ve_><;9)e|m+<9}i|s z#Bb8FUk9}HP^tpUpJf_mf0ORM(KH%WRs6zMxt^gIzylYD>yDXOEYmitHOnTm8C=KR zXniF4b_43=HG?5@W3MOO9ZrDUcYuBci@4$R@7f@I9mOXCq-Va)E^`%gxTg6A!A_8k zrah*2CStb_Brwdf;SH_C`$~s+Av5uCW01$@8}$^wE--_0_iu>nt%}3qce<1(h7I&{ zA;u>v-Wg1dH)kpAmgUE?C1j(eFj$>EDC&O>jFq)ma$*s6Q(24UW{{{8pUcRf7Y!tk zb#or&`RaFJqFRp<0}CApbd>LR_5l%)*_ueubGGvSjuH3=~p76$|1kmCL&E+0?X6j|PRoP4R0!-yUOZx(JbxWHL8dgS|VXnofr5F;7Lf8!L2x zh(%OfD^u#(pg)MXkdVG0a3peKLdf<)@Cc-ABh|e)Efz1T}Z3e+@lgWg@mm6LwfX7g#2k0Kt-* zgcq40R2Yx$g0=%2QJ0S$>CIpCGR0=4tv29h4}IlUSr@ye9Z3;|x22AHQSzbD<4fK? zMi_6)ri2FAs>`3ip=HUP$v`t~Cp`^5w;Tx2z6mI!XQ*%<#2^zc0#Z^KM3@h+EHc}G zTOmiWW#apbUII((MI~L~Ctkzu^%bUg(bZ~@8e^&h_Lg@pW7>V+h4Ks8#= zV>cEx|EX9Rl9J+T2El$MM_W&tS9;=sE`mEq-bDt77JaN(kLro2!M4reLwvRN#D4T! zoW$b4XJW7Z8u0M)nD0Di)d}p~-#P(10+=avQ=wO3uXWC5b@t!{=8Lik_s4waSG0%x zCiH;>{YLy8gvnM6tdlpMp@s7hvJSBaugmFGGJqV&alB-iFMXIK{PxrQQY!pH|Nraj z1s{;ML%2ZN4?CaURrpGv%xP|(!|hoe+ia9S73Umt5u_6t>ZJI_NcM%wvrJ)-^dd`Q zipGQ$Pkl&@xwSl?U?_$+1S?GnvrGR{X)9cs_+_A5_fmFXe8S069`c3C>EWT&6x5!= z=>eaG&Ppa1@+O-O%w3kJ^c@DT<+`Nz&HX_$&*8q*{_~~m!+qMu(cm=RG@WwIknsbe z6izZf9wnKdsVON_S|O}LtdKO*5*nY7S1=a;QH%X;7ng`NI7q-ropojE|Nl1-GfaCq z;Hj9Va^uxn+Cy_#D4L7<~l zI!l&_h!;ADniZeNC#!=zh>RB!D+!@$4?rop_T`TxaxI>ht^?I zKbS~&fq&nZC!c}Wb%@>|KyvM4af2U~l@~rwfyJz{pV3+Nz4ZP49_2zk7fUU)0w~&U zk`JrWvV@u>q`S)fV*Pf!wjxEgC>rlwowU}gYxMj5TCM>L!e*(tKJDZW#DbvBHQbu> z?|oN@$0ihd!-Uq687=L!epi=D74VA3gw&H$a`nFL{KA606rUt#SXHq0%7?RLQg;r& zfj#^|b#aOBjJwv062E~%n17r<0vbHEz%SJY)67LHXN z69JU-LmHgv`CJdE&uWwP5E%#Q`}wWL6fbL#VN#y*OT!~KBFKJ&>U>2n0G&d54%b<> zPIKs*Ipj}K>P;chFm0(1ajEG&MpOkDbZ-MQm`*pknkXIoXWy2){|0Q6PA=UMxPaJ} zj)I}b>ciywjQf-pu^~62B4KIE1D74GA+H}5A`d?B4yhy@CX%Gs3dN4#o~;5crK~Dj z>)r_3+sESjiEOc`Wi$5^+M0J)860}nMftsIaWPxpC+J?s%}6d$%b`5a&Xa3PB0s){ z=#{3im&B!xmW&w0l%2&t+P2Yc=v{9l*&NxHLp3;?Wxu#2I#x7=q{W!=}&U~x2P zbFS{dw=F!qTv+qH=Iy-BpXM)KO(i9^B)!%XEc%NQ6YmW#Ua}MhG13__JEPwrUAH8G zXNRjj-73lC%@oG%cu->i-)6MPFxMKEQ;FRLC9NAT6(<8=gU|m43XAxV4zghG`S7p7 z9snLNSRs#)FG=5oj39{acm&M+w(E7~~WRnTSHPBKFp9ov$Oqf&;@K4AaTl47&P0pkMQiJ9+Tz+O9Zn}7#Um*L`TktXu^ zW0a%vIzqYv7D0!YUy(yy{dU0BdLTV&<=L!UF)UisV6TETf6*O36f)#e9w>*udC}~eOV`oDs zNmTT-vZYS7@b=jG9t7hrMR5FQ|HNMP5qFdwqreon>5{r5doo~8BjP-gSpS4S27q$-!gE7?SRfCagG$x@+zuQCNtg65uuag= zP5WT#`&;mdV%pV13M7elHfKE(KSK1j#c?xyX#>f+%qvTZkzacATR{9q2G#BcrC^&( zJC6^kdUx{1SHBIF%O8P<@IdlhPMaa-!-WG@&kXnk3E?aG-;A0Utsbcit49$X7Zsr9 zkVE8mhyu{@bvK3Q#4sfbrHi75$2}aK0mVM~{$0aI80$mhztnj6;zmc)V44#7rKN#; zilN@;Sk6?NKg8@P&9VK$2cn8@?mcUJwoSHH{E31!R&&~f0u5^F{?md_DQ}y)KAjGD zxp?Opj<&j2Cn=lon>4(N^ifSM5wJeaPntIpVVbOE;ATb{p@6GfCgTOZ^Ro*a8fPaz z)z;WbTAxk-k^N%?()1&hV0ybpJM=oHTN5R@`oY;363%~;r2J03-@%+z`NW~%A7CJS zU_TtXgeDQv?E|-Mn`N@FP}I|9`ufDS6`N`aKfwT48ILCX&+Bg*e*~t<`ChC`d)(bo zm4O9bl4RUmE$apc0O&jz_;0V@j1CBdSHTINxCmb%zkv1ki^CW1ElyKH_D(_s$UuSk z>)Rk7%-<8z)k>adsvB}7QDoas1zEp)w@o=xoLqyrToF^`Qh?t3Q|5nD#YoCJ6xt>a zs4*nSFdKO0=H_UgII$Q+Y=lxD6eJJ@u!pm^Wn&=fGCL13ABM?o0`QK_Z7z(WQ$c@2 zFR_Rw|0@nz6&#|zn^_A0Kw*DRhGWS0NnytDkjRD`QMaHgQt-p_-{l!6EJx2O1*;)! zBuQrYV!-i|oZ|jcpc0#GsJBPda&b_b)(TdseDV(9q~8{Kk02@gPGAT%9h-~Gu6m|Z zYHJl!wQ5b!lu_arB1Q(4+coDkFE>wgXt3|@3}09ebTMfy7WuZQ*wu<9z0O(CDg_yK zMzQV`iR0yc%Z}oS6li$~>xbE11DQrUR!sj@kYI`pUyY=zbC7ua$9{PfP$C}6PaUt~ zWMBAyP@5|f+-83t7IO8`k;CU(>oWb4BZkx?9pC1^V-`pWFT78zP_p;mP$?&ksUnE4g1Y05 z(v(2}Re-0c#utkn)1oDZliMOoW_Kn?qG%`R?nJ?+*fs$8Yk=!{76!kKmW+$pw%eO4 zoPLqY(y)2%4Fc1LGhKfJZZ`)=l_wVa9<+v`fsW6*+a@{iO$;WWA>G=<4;$a%&Fn?lRdDRQ{y^Yuq%5-PzdTnl&u#aU& zfYQjZmqQ_ZGGfZy<^Fna2EqXOLX)fWEzUNL zinH;r6`T_JPZ9>EQ*Iu2JY>HyJLqtDxeVU^Kl0-t;aZZv2|U!)=77QDt}T=KNT35q z7oZwUph>2iC7+6_H5D%xxjb1KT{0k>AOi>N*Gr^%-uJ1R%FYFXtN`5WGEQ_$RtFB> z!2qAY7qfS(uCwO|on0-{IMUXWUIc2v@q=-0a5s|7fc?99Z6G=C9nA7y2}V%b=>4s> zlLHRi&w6?sEI+&TE@5cq>n424)YOr`p1w)pJ31JBz~mfu?EZL=yrmxDev-$wdc)w> zw%T=t(cmjTd@gk2tD7vt7u3REiDaNEGFf)g5k~8Fuha=(gVg`JyG$||hjj*6lvAG| zT{8d{A&@>?is&vQgCX+bP`175Bl|M$`o&86lFU8;$=&Jt7i@E_Y}MDi#B+Tx5Z@5u z9!gSXYUI)5p~MvDN(s69jS;vYv%}#?*S(@w!M@R%ESu-Z&U${tI*5ErD2Yes^?fw> zt?GJT8N#m-b!Vbq>NLe#N9GnpgT}${6A>BP--&gnZ~9m^1Ns?OxqB=i+36GFoB7_P z#8)n1q{JVUsAc&>VYjAsghPFFTfWHI_m>J z57Y0}bK13`5ByE5ezl3}X&itX+hYPsPZZ=pt|!q~{t${*cwLmIf0rKRZ9Bbf45Y7R zLrrGqwjn@DcZ1gVVAy=Vo~QFVT&QEZ&aeYdBC&!!QV({O2b>sAgKfS!eDLVO$P|0V#Cg4YGdEXhsvCUm6yd!x~Ks@^O2jibFMNj-r(;r5Y+i0X(mjK7ME&6%9-c&{s zZ;h){mVE7m5*HCG!74IlD|=G=if!?@F|5crizXr#uLO?oT{txTv-kZEDE{JlYen8* zhKO!tE8PF!PC1VU^$x`uX|$6ZC|7DN>ZV12GCbGx?>H_zfG}+B_nPlG<(T+8X8kNghy zc1$s^_qL-nsAIu5KTyIyvSZqOQDVLS)Nq>G9$xj8azrA?l~TNvVe^f@d(i3a24lbe zstAXks&Axiv=7uYC~)Z}0$n5_EeQP6=8IBI|vudYtv-7i6$LoJl*^;HwqOxl_tbYBwsc zZ^_HQX8UW4YJLlz5aFETtKWvpi+V~JYMTZU1^inIY5xKRfAV4+OS1%2g`Y3Z>K+t(WjK2j;}3%`hlo_91I`K}7IkgA}PCi+gy)5jKKPFT?QaUxyN zZKHo+^@)&2vCywjcxF+0$NjT!(EL5iH;or@_Y0#bE<1zb)q{_A8kp!^U+ zUVnR!##xJYR(`In|LRk@V5K}K? zWMHjyJy6ReG5r%G$T42{?A(dR=S#bup-)~^%hvv23O-RKU**HRWL34W*7@k^W!_A9)&g!pdCS z{N&50s(G7<_jnQNzTylgA<@F%lRK`10D|9_SMH^U=el)Li5R-Hc=N{Z_c zd%CFq#EwhqX|X8pmp}G#TbUPk(S~4oXA|Dhv|`6C&S9x^1Fk$B^~;qH!(wYK`Opt zFS)cDZ;L^+QayaEsW(UyAQ>KBa4|AYv?P{!@QH2RH-&yKQL zs|Woxu##dw+lC|%&31c-9GyM=)^b2u=RSTOuNP)#A;)`@jRL!hxud!&zc)8(@1n15 zr;u|KbC>>&((fJvoF#pZha`?N2{KG^T;bC<}{NUp_qj_hyYQzrf+KbDzC8Bvyo{qhGUB9_f5bE9K%Y81i zi;Y?CJmJt^e%Imo<#y7xfkAO5!Pn^x{&MQOVWzeC;DS~hPY<`vzX-3C&jRrzC|NSH zVF<{3W{{Z}b$VPO3y=b=HYxZPX(m{PB?KB{r2_qz;L z{izE&_FvU?>Ynwz{qWw6H{=1jU2A-|-J@mtlRdJ!57N)68$zTLDzzF0sK$x*R0@ea zr8<+SZ)XEIkWt2B!{N<_s*(@*%;UJD(@iJO@|F&tn#TA^wrNAVhLzl=H-qA<@aGAfL8SD`&5m9C&}Q)?_cKh#Rtr`E@okk4IG* zHPGT#E4Ew>?O4`wV1JI=?5n2qZI3%XIq67|!#-Y)?RDT96C4Jg(f6nJ^9rgy>v!Zw zu3rOC9tW< z$IhG#DzHWZlmj>m6@?1fsbQ|BCO(1ORL1X>Y0ql>;|H?STY`}ilP^!IWtxeUrq>vQrRamTz%$ihfLlONS#l8>mueZOz$8p-A)BZYVuT)!7b|3 zu7p;@i+DVNj%4- zi?RaW&4+He%gGnbmbi7P)n*K{<^1KB{%m#cKYS&S{h3U!Ac`IHyrrNvA^QHMi4Gx;riMn-KRzKO zYkHIWnP;*w#{<5odwV|-V9)S~JU`>dn%KR&q?XFBh<;zB_BpVWvl(?(OOM@JOU9u# zei)|M5^G!on5@W|tsmyIYeD+j(Z{&y9}9B}f(EJKmW3_4>RY&VuYm|}(@RItl8<)qhyv*~ zU$OX)efcx8OEk3ok&<*zJlhOG-_TKd zItDCxAy}Y>PFqm9REZnvHnT4*3B-O_&ol5g*N@s}X5TA|H$EM;F6oVdHTn=?UoEzD z??=pFZ>Rs&0xJD@c^JJv0A-iFh2!L zVm`7TJVESP3-;HFx++voc}8I#I+!sgYu=jJCC z=_wt%3XVCT^SySLurGegw&q`y$5%wqQCCpF9M6Ba0V4Q{djJ-RI@--cjeDOq5ji=} zQ!LKs@Q@N&GaOs2+kEX#sR!E*-rDeT-1(~IF?}j7kSM$pN{2dzI{2oBI9g^Lq0tPP zP~pLS1K$bk65~q`_qgAQWQ{Cn7a_{rp*=G!J^MUMOo4*N9Y=G zO6~>rv`0Vm6zZ4e+Kg{S85%!pMK}EHiQ!q1@=%^*e)NBPCJOZ^<`9_XugFg(GCy@k z+x&cdhY4J33TXouN%7>$Uif1rE1{u; zqqJwo!<~C3oS-2-=Sb6)fqR9{DxL zp;cCrHeh`$x>!(;9nMua06CVzpGUEhd21OhrcxyZu=GNw-*8*kG< zx*432VZTEsxgB1)$mfpNY(V6_!p8EceucYa^*i&^H_1w1UQ^M&>7xt&N~aPB3^8(XfIuT0sy)(@O4! zBd|>sx~i2`Rgr;?fWw0{xXc`5P1?gwUs~{DLG$vUZeTiLfXQ&9)9^0^>_^USGM}qm zPzrsZaV{=P!A@#pA%8cNC)1w4R`zkvd-wHrT(1@5x>9L$-%LJ=TuQ=Nh*qpI*VAg` zU5dqVxZ>#e&8o)v&hRq0mnZpuD8<)V$C=Qp)5)VU=#>iWVvDcAX*D>VBcTM-&?K!B zr9RP1BXIDwp!=bxg2H`FkcRG*JHFmVa~2zSU0nuMH;CFBv=Nt!FV6?` zxc06NnFD?VFzeIzqp>Mp$0GeBQg$`QtEBZ`VZSts$E_l`b|(qiA94myza5<&J0znv zRhF>^O?p3*gFciMcH2ksP^!L8-MGsC_Q|(@<~ekb&dtjEhVfYS&lTyA3_=C6F(Y*1#Md zYdM3QDEm5e%dG898kZELV6sug8Z>!9YNBaw!aaR!JvMn7$zwJT1A{9G%ct%}t28p_ zH?Y3Z^(jMd3%NNtg&1UwjWa_+LNu8V78eca@7#%KX?YGjkaEc%pRkPQ0mdbM{wIBd zEo8axbVvm5q`>8*oC&RXZfq=rS~uvFbY*=Ul36K+l_9m!Zn0O-4bJ zKBvwuX>oe*=S6Uyi_4Lw)GoONxEZ?f6G>U5SlJzcye4AnT=qkgdHoRRIGIB3&HZ?> z%``p6j9GmV&q)6(vT1}7#d>HDb?uKl=js#nlCJG~Zgmd{5$!6ypOs(83iV8`s-Wu` zXBw~oegZVRq7JJeo@o%6J|H^12TX{I1@x8s9b9TfBkyC)j`e5e z9?%r}MI}dC)lTK8<%nAhO%*l)FD&!8oHL(|165orZ{+~bhDWir^;7*PMb1?AzRk5Z z>nXOmKpu=b=rel2%5Kf~q?CB@i zbgUn_TKLl2@j(mAG81Hej}E)_v`$L=X3gp*&DHqjcT0?bI4&{e>~TR*8(T1 zDuE3G^VyS3ob@T>*Z`_nh>wGG+x zwj4)Y!ns_KS$kh&f6>~?2_xZ*sdZ&_ZHrG}y9gZ4H8Cx%Y6uwZoS2$gsZ>Ox6t1NH zvUc>doKH%!d5IU2+aX(Vn}hw;M!#&HQZ0?>P4O5yCKY&@><09k=W>=lysEO}psh(D zV;?+bFN3>Xx_X#5--*zVHbUvG$oW?{L!CK?YQ9UX?CoUZB$eGMYbUBX;I;W)A8q^j zD-HGP#s(eb&!#ag$QgBxD^r|l!M{t1bttKSVYF#9^hTFL!Ao1)VjTCUqgd3?@6C2M zntjPxtpYD40s3FT-RE-&c(%iCv_B~-49`rVE<5nbTVaLukdsC6QgW*~ii74*CMq%N zftL2d%@ftL!<7UNvLcOBQi+vfK#0dL>yJu9Qn1k``x1+-%}1K>yrxDD(m$-WIpWTG zVQ!ZD4+Nc}t=_>omsSJMzN@OMBNH{+ee5W2`_)h_K?0P}Av~+W1HK}*_`Ax?f_Yx5 zlR`(wYEy~LDZWpql?!z9MpylzcN~Duiy$~J{OGu^GM6pUis!NTK-vyjur&KOrsQtP z%1naNA=BwncSMJ)fd&qL@RfkT5-`(wfhKpTPTwImB9Cet3srw2<5z_zsRfv5Lcxvy z!u@A*EGJ#P1bUxniDmXa#s?6=silWxPSB>(M=C;yTiqs}J~%a>si{+NL4S4QSsGTC zv+qr`7(j8tMFnoBtkd?%#S0ulldQR-c-@EwJVQ$((Dcm+Pf3CGiBmxBxh=tK|MgL) z_fb!+)`wmn5r&}hnitGBv1v4Bl*D_a4<^Mp+C7@H|GpS>*aWlehg#5wwYejiDTYce z@?v9DK_`ylV7YDj%sg}qHZ3hkx6g1;0yY z{w8hqapKn8kz%lM3nGYckF(D>1i?id78*xV?dS8nj_1*n>pBlRL!637{GWa6((dQ? zgP2%!%a>~5B74sdXT8|1I{N_K%0O>a&o$)&p|7#aKzs~Coaog(ZWIdD`P9PFvJk_> zaMkq|NpTP&_RGMfotF|IFAew#fkRXbzJryZFXSz$NsK*i>?iyUSejw`|K$pSYJQ>v zyYtZc@fJ9poFIFgdE6?ktfImj&*HZ`<_V>A>@Ao00v{oa#Gz%I_FooP|9^EYKn3DJ z&QwOjP!r+_s#B};w77$K*0%=N#uW+(OMJs!QQVgs82SST-2M#*Sa7m$-v*(sb=hDn zLwzK@C&QNHndCg9^;g_!?M}l*-H+lIz?iS;?sL3HVXYywJ#uo&$z8?baljc=;wk?R zJbjObwnzrdrzIyx189qrkFV< z4kbiwiEUR5aQ7X5c)Vb;G4+0Z()6gl?PZFZv#) ziu%{K?~xb{$(4`t0EUwEJLSuY6AQBrK(<_Vq9gye&-# zW$73cKwTX^FcB9FI{6mh75*V-;~Z9&#aVr?8XAcd>y00(4E=ca!aWhyc@F_Sx7Uv# zRG3(*d`Flgp!B6F41&B5m1C1_B(loxNpHwKekd-vP7n5Ww^M)gX*I=Ze0cbNYHF%F zFwU}86R?;Fg*S_z^pAd8%YVQ>4vfvE?ulrWjD0++&GoRC!irA}a^Rm_LW;|i_1k#E zWEqiIX0rLrWwm)qH>J4GReued7=J!P_!xYallfp8o431F5b^Viyq0Lg=aXVc_7xL~_q@Y_WBYk-< zFQ#pYkbf3*IuttIv)IIyXu%WJr<1e-4-41!I+WH%WCL8K+)DTAU3%-VxB9D53ao%% z3L6)(>`MTzoL|L3P73n!9_zo*r?z@9(}rtVd7s0Ng+<6ckaH!eeFJDx$|czTaN9Zg zF9vgqJd8%aN9aW0_NLUMSfeRqfG%0*hO?#kAohda+~nN-)A3G~LPBOW%lxV=!>X_@ zQ{~JzC?kCwpjXk6ti7Hi7No$AEz{X~UhVgQQTl%su6z7TY`8Cos#kd4gO!LIg01Yr zi1iYmG0#Zxr(=o{y!HOvE7%v&TX$7w^pXni)N7wRetZXbN7&h8pb1K`MwTb7_2Ts_ z2X=*kZ%51KAe`!Yx4XL=FZ{$vwidN;y3+jpa9BOT90!pS75Rv}+OmwOuF?!^h3QTj ziC!yK5PAdSnaBEqQ&kHfD*Vybe#*a6{8LsjrO`?T6zSO-2moI9@6x2sgT&zbG@0u;QC3G!z!Lk za878rx4$S)Nh*pi>SfG*Hv@D0j>J6iQeB~7)F60x)+yL<7NuEoMZ|sl)&Y@FpZlb> zcY3sXvz-44-3JE#TKI2X{}|W-M|JI^x$hpCvep!p_OPZlD{6Mya>(2)yII#pHk?Nm zJI>AxJ&XGNhp-gQWX#GGgBq2RnVVb30&b!|9venc`*x{tFvJG6Hk`Q{JU%hOmfayU zl6%|?<>MmW0RS4~p*xE{<6ujT>{#6UV&|}Ji+opGrF8pH=4DwON51&#Cw+P-26646 zEH%&Ug_ka|4m0VyF_KIl9v51RjoXwJ{`kEG21GF?B5^so+0R|IcCiF8)HnMS=|+KN zO}oN@r#B8i$i+#Fe`w(30$dR*8F5WWk8(-Z5Vxh$3c7zh1aOTvw8VR|^Giz^9+(yo zcBg(!mYhFuE-<{o>${S4V+8JuUo2Kec*vFEC-Kdw)p#^H5$s zf6n+?#<3?nq;?Bj7?YGC&pD(JPtxnR^J~Yr@`^K`Mm=6VRh93O?1>%Gd+L=92gFqc z*S2$XbNx5&kds(bRjJ08mzv2LWhj8c1l0ayNghf~R8O?!jN4xh#ZDMi>;A^QhsmIY z^L0ZiTiGfqo1XQK%?C{;Nwx`~URjvk%`4Ge%kP+W2l`P|yU#LUa(};YbtjH+8Y#8p zujWgQ{X;@SC0)*MeOf8JB{vCXe*BKERMX#uu6`w$RT}#mQl0Bbl6>V{Wq0?z&Nm}# zj|7YvOIotXf#bHB^7aE;Zc-xDjBQ2b(3*vEY1J{MD45 zH=aQ!`9nof^AhBb32exS^P!FI_U+-12Z?Ys6_sdJ4UOsJ2vF)B`~vKQ>+f+yp0YI^ z`PqjFL;%tPpU-OlAx}mzbV4o^8^D7C>o5eboF6&k80WcCN7K^YmWMXvcx?JMHrl@t z9gV@}3tCLyJI{RUdJ8urK6d^|!?g>l6v~SW%jKWgP87nWvv;9}kcfH<&CJ8ZrdYCbf18Fhb0zFFClJccM;xn>OX540!Su<*(gg z*Tejb*$N~X-!G<>+$DT|(DwH6cNl=9}TJ+DPu)xl6eGiI%Or3=D54>myXrCthLVWWpZzWp4 z^2{25v`C5WOH_9?@97jCsrc&YfixhwkCyqQ9+X@GD4nj!6r*R#$pOSQWkpqg6yO#)FrdnyKPp-Qn+uWBF_3fYB&;i8ZA zEwCtm?_=3&9r1FW4e|r_{!kT zHwYXr`bh{PefPewA)$^9PY*nQ|8#mutu zJRrLnLI%%?U51zJDkRJAp4>EA)8H10zjY?ShC;8*HXj$%a>(TY#RAc49LF2pL4frf z9xhpysLx&epO!f4*M4!pGBYD%Ou5;RHZ%1SM_E}}nq_>2xi5;0eYIuBT@4p_`}DeJ z$9SUBjnnf!r^yQe%L^gX`6<%94MFUI?qt7rcGUzmF^O6h=LYxpoNtDP_)iiVj~dd7JBO6W z8@}jmvtqKQB zz1@E(P#CTcy3!fS@K`|LJ`RWbR^HO_hk&H5bSMcJ*je((57ISPzn+>aA|)%}&TVFF z&g44KgL_ZcQ^M%$tF4iLbYaj7Ij&_`+X_fNbqbuHuxe>noJCZvtJXhP1I&W9+|lmS z;wvZbLa%@Hl(9)V7+dMlbnsDqIZBb4Nhd_pBlaC>)}h=f8#oWofr!VrS3L+%ol-KDB^5=kkx>Zr=TQ#q`)UKx! z%J>{I9E=akYJa@uv$lz;zAc7gDioL0W-sT>?v+HM8YLU! z{7c@tcBCMm@AOyn01a#GH+}KP?|8#2=KnOJn<-(}8n66y8VhXyJp3>G=t7%6)*z;Cyjw3W%tIYNRn^{G1%eP-yoW znnt>EBy02Lsx053d#{|cliFm;`6n;sbHw_!M!57Ych$^J&d<#cXam0|zrrvqUGTw+ z6Py1oln+}VO}JGC+%cTU3p<^jUzuxkA3=<=&OXK2+gldu&dhNnPm^Uox4y;x%@Q^0 z>-(*-M`ltb(yaD`na{E33W~WrsBN#<4F-jyWZC`iNxfOw63<5fOlUOF^S7Ytj@n;7 z#P--jm7I@z2doS2jqB9T?XAYJe$gsf`rDutri;l?t&dd_i{lo)9Gsj23?Nt1uCA^D z{}4i8TU(p@t5>ghh#+gSj2nF}O|}&y_(_59UfPjQf(6Xq*I&l#DN_y?J7{hFil928 z`Xwb9$NH&+%gDj2#yHSDqRY6T=$-YGRBU8beIZ~>53#4ScY8#It*7F!70ubi_O#r0 zEs=m=>(k%!9pNJH_nEzBrX@7xkv%qXw@uVdvW=3aQ3HZZYE95uB$^}t4*$pjq(NKr zaA*?&D_8C#;c@cr_9|UgS;5QBarU(gBO@y+$qiQ3jC1Lgad%m3+O2it<^BBMF;kEF<3?XLM^{`(Ae?oZKf4`Q?bMqVpdZb<1+a8R&w+Zb$UKS z5Q>UJ*wymJ7L=P}V?H*m;ysHNrzuHo-DH9D7cp}c_m>|&^c$%y+>Pgl#{IEvqH+6Z zAiap(erHB>{XL~0Q%*&eCX#!9OMkUoYn#G#<5Xra(t03!RnU(jOCBx!V`fQV9F>bS z2UdB~z*3TZhR!t7MAw>iMP$9GyIOR93_qObVb0edWq;Up_k9tz4*99uR!W&(K>x_# zhfdgmTH^fFz`D@Xxc;9+30`5tYP@Hp^c6kL&Az;8TrFvz%xfuXNHn69=(Ym;H?c?X zJ=tDgH+KcP8GnKzOof~MIf2NU7<7KPs%`Fe->$~=b70WwzIJ9N?d2#xh0F#`Muh7(lX4ajC_sqt}lSmfZ%`>xG z#Wcj{(CV0A1G(HVlh-i4m)nn=RzX6O)RC{9lValHv}ZuIq-JJjK;#PVQIGD6mZRa3 zk&OMow_fUbAwqQBQ;BZN_nFjc^Hkze7;}Y_<TF@X-*M^Oy>HOY{Cm9V_>u`y(v4(X~KQ>b7; zqqP-PtQgYEetJsLH?KTHL;%ecKRj!r)U@fRTR=*Ry=&R<635O*Vlo4nHKCDJpq$(! z%O;AV&y1Aj^m$;1Q5=X#@eB0!!*&>Tx}w*M)uiY&6M|n;0Pz`ovzOxNP(8_-UFYxt zyZ9&Wbly|HMd5F@x1?0Txr#s+il+%MfgMH-ymSQ#Y|U=ib}*iI0Vb0D#pktB;{`|2 z&NyxKF<)cvgVZBm$-KF;3GhwL_NR8Y47W~2MT_2#?;}@i>O83$vjXP z8Q0)Ec@TNbC{B?Qc!zq6aq<*zE}15iCrJl;%)=B5VV z8jHL%PR9m^bN821po0r}WA3$sA}O$2tNu2Donik*wE_cQ^T zrv2GkzCErjCc7NR!+N){aLLjAoB`X+!EizMp8XbA?GV6Yua^z!I&UI{`~SOVyXgxf z+`bZG?Rpxw2N7)@jfUyZNm>bGBF4tX(7hH7%i{Q7e9zONZbkk4hja7oArdYs*09~ia2V$%zc2>q|eX{g)8Yno0U?l(!reC9dLz|WHnb#5L# zb~t_NNO4v)!Ja}%2`bjHZq!$2FZvTbqyA$0U9~pUP;wzG1pe6NjJykXZMVPolI&M* zFECVhX-E!*a5M9w`o9jtL|8)cuoC8$+p1D!zhpP6w6InaDQ7=+R7%@-gOKo|;2Pm; z0=X3{#0h#=p8Q+rtIXAS8C^GR?Ib;t(VH}1(r?#Z+Z(=QON`qLv<2qo6yM3SogJItO@ENxD?u@gu$TjXsc?n+FkV0w&(FnG z<`L2FTgnm{aHb%MzVw@JJ`rqo^*8CfXlG8?UV88w?LEHcTLI5mlsp$IAsdbQJJBge zDX>TS8Yd|bgNAgbPx7K-lzzKI>jw-?5X;6B+ou1@k-H(ys&9gJSrU7cfz%*+&gAPZ zH&_+tf~eh@JaT_6)5u@FZNg74Wmuyiup}=Rh?=-(YuIETVh1e=^kzNfW-ZIioDm5+ z%s~V>s91Y+28Tnc8&-R{FR|r>!KHPt;;sTL3?D$omWwzco8MH~%yI$qvMUzjF-gV%SIQqVzKdWq*rc^Z0Dpflh zTI#xP>^Fo-E!7f4wmcLmPjDDop!-2l`UD6KvIhoCGf<_Ky6&3-l;>FaAsAD5id(9k&RV+n+Yt=W3S##;KG2zTQ7@z#{FguehKlb8vt?fDkr zg6B@kjduyr77tfsIZHeM3zZ^0`VuA#GxznF((`0xw?8KPI0SAUPd}$&J*pkUt5Nl& z56Fu#A9t}`?tD1dU$6LPWH&|lS(^J>8JoKGX4elXOc6Q6S2bO(0slz<4p}TCVcw&8 zivD+WCn=sqGthbSGv-5cng9S?xIfbDzKnRNJx4f|`>Vc9*6MMhWFvfL- zpk2yCHLWI$R%5z^SBkidVr$3I<5?HJ65VBkW~!sZzK%fBzRLGH37jgaa%f_ex=Hfv zWg8&u$UGsg0lnb*`HIs5er`^`+&UyIthXbW4z)UvJTgCT>wf5=Uu!Q@1clp7-r=F} zB9;<6bbW~t;g@HD{2(?&k)9xvsi|q&_I}qf)z96v zwUUOQYMa@|fH7^XYaeU{I_S}EHcOzolUBMY^c-|TYAGWw($(DTT}Z)ri7-@aXh#Yt zuc#mkX;`d1!zrNksM23?_zIt``6SIO>1LvP<-BYJ9(w5C*09&fV81&jx#?@xh8(3k zw7X%&f%%S+|4q^80%Ykpsi>%Qwk?oL5P{g4J}~{js#Rs^2t!|W1J)mJxy8f^8OUhz zAH_?lue)E{MQxS3deWJVA5G-#^7|df9^2IAzTWMN;&s05P!8BwHN^GeXib0izIIYw zJv_@kSQl|Xf?O@;rlwdy?%c6CCUQDFvd$FijAB7qPxuG+tNu~mX$hB2oPgZxojMZB zbV|pww?oT*Yq0%^C~_{)Klk`U$&PY^+>Az)6CR%43YMIjW!>Ffj}**wD*Jv!jwSQ* zuzM#pGtW;aB;4Cz)L0D|LeeQI0E^ary<&a8RZOWrIn(+}8n#j2wzS@Gxg8||B3JJ7<0atd-4sb>G&E7fM>$y){Xd!7k!jOwx)+8LP zkJ=w?Y4wes0}(*I?CBmxBFwXksy}SE?qg#A5bO23O_s)&r<<=-0q4<8k?!G4S>9p^ z#Bg+ZD7~+M7W8vp?<9lAuLbIU`qa|WH6owW!9DGi{-`zxh6p4Lv; zj;gEO!##IvA0a-9-Yp*)gDZ+|?d-g*l^nGZ)$SZ~37QFquASmmb?f&K`lu#5ZER0N zWr>Nqcs8T&OjPl00^Hul0EUqM*s;HOS^aXzZiZwXwf?zBSVf4vel}rQn zb`5XuzAd+c;gA!z+pJd(*!*$7c5cigC)k7!cA0oPMsnR-_qS2sc8e5vQAey@qzN`I z8uEZ|Y`Ag5fq;w%27?na##2O40N4p=gKY>1qHnq>9QALuj^Z5%L<0-k>n8wb41ng z<+8`@#DuA5i*@tl8jvS2l-U){t`tI7Qav;WxsxtQ+@7x1nH|s9D3n)JOgdw0cN-O+ z-+P_`{Y>UTI!)pnLY=IT98u3acX8K8x`Yh_B6ILhZvihbhA2sn!00`5f<38@&IWvi_QN zsooyXf*pnm-^zAbcCnVyxw_k@G(lI#N?lyD7M0O*tIR8G0TW1WknTuUI zu1KLTio9Q`wY47BlMFcTJbt}m8xtDQNMnybkX&XG7u7Y}MaST6tqb`dP0#Rpvb%F( z2fE0_XA}zS^LF>@>)lpXUZ*y}fp!))O3%VL_x;+?!3@@}Y$_k2t9)}F5(ko04Td3>&9@bPHBWo5zI z!_(BvjKT#7wmH>mav^wLf?TA5^AImomqUQyD$8bv5;%tGIu)WBdJW39QA+1Mo$Jfr zOo0LE&}%R+4erIha9Q=;{`T4Wk)%UgocEj^smSFck}cj7iyt7T0`lWF&ICxhuGwsf z4(3|1A@72+9eoX%F3J4kRr(>wFKMMMCI<%xA@EL@Y_O;S;6utVZcyNytExbXez1%F zeBRR7(sUWLZejlJR3}&Wnr_Vl6&AeWKvi6>UPjxNb$j?S!{@i6mz>G5z%KtweeOLs z)fn5C*-V+UOVcsZ`)P)K%{g5Bl3MdaCiEObr74HURW5n_>XG=XaZ<~S73fpu%1YhT z5f}B{S!KG|OO3)Bea}2!Dk>lntxdByxe|Nd{6iAg6gX+g5qw`SAg<~3=_f-Hb((D5Ec=jt=3?*v$8zD@44yPa)!@a>n{at>5Uq69Z!Pm7Nd>XsPIRi>Xc zPZ$_rB(LyY3hO-bA--!~oqW(-X7|m2`(n5;}eKPm2VL!ne_`^X{KN z2cU=2jX!?8Dk&)mjAm=^i{~$e!^6kN)f^oi7XT~u=QI3MVB+8~5=oXbdM&!gvG7&q z4Im3}a&oe{z5TKTGu44xW76ryICmuX1wc;v$Hc0Jn+NFP%6Z)bVSO*loH_NICyv(G|s#rz_UYN}bN{vmoB z5JO$=yY%Zo`%&~YBX@~!!#^)1z37I!rDTr2W6prF$D0O<+l=@~2(oEv1sbF8+Q{KLX=!fmmX;m7D~`aV$$ z{`)13!joa(AayO0xUGApJoXTuvj(LKeApnvW|Cp!*wOf!G*$DpKkbni^BV)PTQ4U+ z+|pfbYci->juhj0;umqv{gE2@WkdT#U;UgCL)mQE0i4ax_Y>@U4^;g2*VzbscXq8F zXHTfr6$apfOXhC0L{36&u4VEqJk#m-o%>3KvLWX&EjQ5HD=+z8a)iY`zI*rXI}MGT z5-x$Gr6m?^ZS6-QBEOLBy>fDLWJ8FtvF~s=xU#bHQ7~_+A`mzNL>bWot-AYnL%H1B zm)eKNii-HMr-ZsDnVFf@y#o5o%Yoe0MUN#LMXxd4%lsY>Z%DSHr}((gs@{L~aZrQbeAiyAI0B$VfoC|(?r z=)4~8*&lmkp6p<9ha> z(NedqtB7vZn)lnK#sYdjHew0JkJP{DFWzX|Q;rekxoLd=MaOM5OEVfy5AkvD(4t=$ zszp{Mv9Ens=V^*Ybhf3n*sJQzMa}`6B-jpWBS!4vV zC4B@A=|aTsNfd4(JfyUV2frd3mtuy(#KI}`^KX#0_))HhlTp3FTV3s`X*2QeGWser z@u^XNjCZ?c`r9iw)0<)g#VL3F=(F`h#VKLR`gcZxTp{K+o0R!P`0qQkDw1#gqVsFWi)qzz@yNsxzEba_=z7j~|td$!Ls z@bmL)0FnE?3B;3=6Qq;?#FcFO6K}1okUG-9t73R!;-|><+ROW<}@@q%c;jv*S*pAVN@9N<%*pgrgq%+)X|eA9}3!)~j_W z{3uZzM=Hv)Zwj`Ki;L4ALIi3TZ`^-yIKd_nPe5=yZ4-!}@=mauB+VTPup_I-=uhN8 zErJheT>kQ>ZuLClv~>? zXUcK5gm5&|jC<8p$`!(vF0$KVLij0N^(q<-<({rSL{-@i_RS^_ZL`jyT}g*nYmOBk zcIKE)GqNhK&LnTz;v4#0j?#8j_s&?;q<=e`ndOuX-Lc=Ej}sS=!d=>v!bv+zxG3uD z&!z6o+@`Z0;jblgC9S=-z0c@x#Y2stm6nR`Lmn&8{=-2!fF9T^gR2V!f~lxGwb1_J#Jw-I3#|c_MW>c>266U{_CIR`~pW z)vofkUXFip@brQ029u27g{K#Q&*eXdKOfc1f4$H=&0KWQu|@H)_Qt?yksF**7hWH{ zy>yx3!p#fUqAmb|>%kdryW?dKr{dfd=-Hhg_k@_Ot`6#1M&VY0+2y-lM=ckh2XR%I z$kFVY6}ntRFG$+5BfJJ}Zr!@2y2r{blpkB5>ow`s*8{ChFY|#8e?C!53Tk*84Z#`} zJ%_Eut8Q{UP@IXJU8A37e>GSbBxc2an`Mvn@j)RsB&`&E3UTUXsw zv}mW9R&U=?bY@13N1QTNN3Ozvg6HAN($mtIv*oS*@R}JkmV%ByKE8H=7)<;3zX;lG zg~&I(Q&uipuGdOCnA<4>UW#24o|@C{p~VS^E#~qWZVBH_|LW6%S}Hs*=d99cg+vKy zb~gW4LV*m<|F821+ND=&6~$<&tFv`1+P%9+{XH*_E3cp+>-B>d0|NuJ!5!Vpd)V-D})OqA~}ukknAau%Pm5;BL}xvuQ#*+`fh8+$30uC%i( zI+I^m7+V$GMaDo~J<6*Uc^fbVt~8wC5E4^!bQHF^9*^X2m%*QQ+@hjGyU zxjH9{Cm<6SOu##imx?*jj}xyC^!L+#Zo%WlQbirUg)xc0%FN6ho10Sv;=LWQD{sU; zWA1$@*Q)h*V^>Ux7@C^W67wR6=rwsHDyB;*fG8Qi1K49@ZH-#-v81E|zz8^=U>09Y z1H8`@QBltA45o@3p|AW{6H;0?50#-%Fa;GAxy!}$i)Jm75>#Pdao*K6x_pbACzru5 z($_%g3-?ZdEbjMdAlvu!s;&WP7c1e)f1UW=*&bE*VMGg%p6sV|aCAfl^0A_#^tQxY z!GOBAWy2VMIG_iw6<;u$L?SbQG~XW2KON{1EVj(6(1QQve}*4Jq>JX{|jfs3P*L1&Qc}{DsZB(2pRJyr z-q`%S5`cp$YHBzo=G#AJF8gzID73G223d(E&Dz?ycYS&yFwB6Auy49BF^b9$SD^%UG^)-cDMR{Lb&A zcxn6D9Ncd4%bI{47*9DSbJ4}S=@Jl*a>WCrOPX%mu=foU1puevKH7b%Ns}M8V}C-N zCBnV-&HzHEHS{+aS?7SJoCRW!JIVRJ?k&*}NIXcys6#I5UfsXI{$4V`o(jdh0V@KY z7Bau3bF0r zfA<;411_4 zlSVpo6;B@GU}Eyps_^@0b4|0;cexgkmeP0NnalfMlma#&s!|$ZKMB%*p9mG2c(L(i zDG_89Wk(@-dFAsOk37U4bEz8_vG<9}UQ+5l!k7OUogq@%N8G#1yV~2o8O*p>_>Rtv za#HPw^#M7bcLEUC1OLHaLE=evK-+PS{y9KfLxsHJ0(`6cBPl!bNo$|X@3xc9KKTan zCtp+V9Nfp8cBAY!h(8F@IDahF-#gV1=lLy<2d zU$VNJ-Mc64PY;-W8z!V&(Yv zPenWFlxY23Pr|ly+pqCX&2=M#mUt3RX*!ZdGP2Gqo>V8djNA>IfIEV+MH%D~|5`yW z_S&%FMxFsU^V_<~Ge0JUryKm0Mxhxsb30W*r<0zI?$z9`*RE9mi*^Tmm z_bMwIHla((&SEjq%1HlKiA&iTR*>;p?%bRSh4t^gDHB)_zT^{w!hNd4hb%Eg6cMAQ zD|qfjwA@i_cTW3ctVn&wame{f-J1TVY2bqMU-NkPZb3)6)0m6*Ls2yU>9HW3I<3@` z0(!G}h<&ITbOnKObuThH&z3WfVkskfB~@+gj-5*T@;&i=2LI4$$LZWb^n>)wC?4G|J@ah0 z^x&jRe7FJamYIM<)+TqHh|{`W?5oi93QeiXU&U79uY$@Gn% zD$)Z7E!uRALbGrE>lr>iV9w%ReuEzkyzl0ct+K;wX0bl@EQBw#>i5)-uXf>YR@ne+ z-0*at*4>XriSTZI#=6U9*?w$dHxG6KW$>5-GK#Fb9Q`RqKiC!Gc%Po#jc-jzbZN3M%rnfkQh1LC%wIN#InkVC1=?w?gD2c z+aEnF%U4A_ew${H!cr;~RL%dc!8q_sC4CUP_5&~eH0gr*Dw7n`GDGBD^Y3$};M)AE zv+c^YyKD6C&i~p8{FZt!k7|32i@z^AMhp%;9Ssb;Ls5BotyMGX9Jli5?7aKJnOnKP zB4y`#VTUswPS?4fPI)+d*hAYm;1&iGecF1=wnBr*EWN<^k$Z`d|v@Bqj)X z22RyN&4&-enmoUG0YlLW6+_9O7i^zVzGw%%n$c??mzkNve-n9{)tPICC!;8Cc;i`) z$bDEZUt3x}ChVZ_w#+g#gM!!3tXa$A#l>DB*Y$Rjkiq^39|K$y9cL~2WX|ezxBb^=mxG_o zOuS^Z7Qmluah=UqD~`_3*FS^m&Sr$4;G-QZ9W5P#q~ImbT_^`e(i6hHVczi#Er{~v zwu-7IMI9X-Kz}DH6~TVlRenoNZ3QcnYrSwa)V4v^cyo8SxpgyUNAy|k@Mz4&-1mt& zg(iJ=+mfEooi=pokyx@SZU-InQt=nU2<`Q5P1bQxp6aTcYh0ffY-L*+cP-d@LcCu=O7yqf z?jHLAIDh+nolxY@aG^SLRvp==iqn)}>J#Vdr32$Sva4&=@j~X7PvrbN?GOAd{S#am zX}$L9`;rglazE4!xJ5*lpIPNpa*0L4JeO<#M}`rY z7epRDJpI*6pAk31bttcwQFYEb7L%A+w|c+#0G!czaJfTJFs8RKVtW2vfaewPF_#=Y zD(C?0`v!i}`HN791@_a!e|Go-0!fEubx8^ZF`P8XqWH(tRi>`f30Yd1Gv@hN1jk<4~VrSCmzkF_Px_c)vzjAIQ3EP zstX@2_dJlTs>B~pv#%?x-dX^IQ}rX=;bxRrHiu|#OJm14>mqf~^m=FK*O+44^zTG3 z;-xdRj#)b_3;tAbk%dULV#Qyz|Hal-L0Z_UtSK|zy0H1V#WD%4ZF;7i3cn1EZ@+YB z&m!e6CX%YI;7N4h58sB{lGlLWm8jzyk5A|R8yNF_PGMZ{?}7*6xpG@HWCFc?Tlp9s zN-LhfY~Ut$nsEClrllZlr4xIteoDPhCNUscd#?vE^~-;C<6`of2)~S~OL2X> zCm0)NUt0a*I!}EkT>1PjOz@wo!w;5F%hyb2AgIQHvm~ew&RgI5u!Qj0Jt;h)siP#= zOmMC;|AYtnS!Y?rk#Pnz2J14Qbm`{z7>fF`Rzxq)4?O~lJ{{#QEiNhw`7N;@ZxOy6 zXtW#``zaZ9n`^lYy7VbginC+h<#xZ!K8)k|-Oe6>diPvz{RMj^o)SMtk~`k)rWn!P zjwFC>CNj5Hg|r9_TK!BhX+R}(Q* z$pdUnGhXm?V0sU8#J=3V6!L`6Swrc5Tf$JLWcffNnN=w@qL-(}OLMjndGoZWEC*aX z`6HIz^4%A&H2C#jz#I3UFQmI29$(z|tF$zdl2PQ|mD-aOMRb_hE!1glueRdF`dH<0 zzMvW_6F>PhH0RB(ss~WbSF#e*OP1#TyRO!^2o2FJJ8$hLd$R{-k5m`#cK6-5dihsf zU6O@`1+aVHp*tB4+jGdRxYNYWHiX$18I>4hgX?*$EGpUdglp8O8d~8j`+bX#ck9qg zdrv`3V+-YSJab%CAi>&z-sU<|NUPv?{C^M~01NKz9v>f%0wYG`p`M4g8qe{YQ5qz5 z5hETR1rxu5>z1YN%3ppci&xhmp%`=LT&jo){(!Bi4yt42voLg>?>l6Wh#jN(q!RXl zXt8=JVp-*)IB&JzdZ%jADw1Vvc;UzSZOAx|JNHFRi`U|9sr2xqq$G}1MHP4Vddz)~ zs;Vkwp4&8%p&dq%rD~5{g0TCI*T4^3DHrc4T3!i#_`=b-CQ)5{a}E1Biqd(!@3W(^NvxPtx;#axZftS8&e4IP7v^lovR=emKJtL*@2A zv|w?5F%f2B^3{uYIzKvpek6g7}8Q;rseRB6!Bgo!!p}eX}-AnGl&DQtSvgDt9 zHSigZ7F;be_wM0i?l^oO^}V*r#MzU1viC~(%rsx4v%EvXBt>-WFp$=>f4Na8GOLLc zGEn_(eKwmCZ}(Kr-~Dbbd|1iM|K3hEV6Uj@+I_ymibx&ojpv;wcfHtN9{LAtz_KtI>#zUsVDl5 zUCC>gvJhd;N*1)P=<>dZCMT+)>a+8O29(A2>Xtu{6&(TB+SOki6RO@*@Ppg;zA8AB)RcVQMG4Xt|U>lipNO6Pxy+UK2c_l|Dp6Vib%yX!QDK1sM<#t6<~HCBkR#71-(PX8b#q@-j4 zfe4E%C+$vr@!V^WhC!~ymtCF4MzAZy7#}ux2>K&5WTQcCOl3C*;o9Kurr9;jkXbK5 zxd!>Z{MkWDn*B8SV;K7KZ2zvN>=$fDq?em#QL2=YxZsTc&I;ipdFW4R$1koU@0o2i z`nk{7xK8u7h^*oy|1BQJ0BC`-4}@MhpmMIC4Y(K^ZmqUl8pv!Cbvucwijs$;b3F zS%UQBr!JG_V%AQPCO|EY-1I|4mefyWQGT&B)DLmDK(10-fac^3_C49QV&`p=Xjk(zlFVimU z{9LPvbA?o^4OoA0z3$u3{^(T*1LK1fFh9Qi>;kOnF@MWvaaZ}8usUjDuYwjc^#5`7 z9*%7OYyWsrv?xXGT{T)tQ9FcMRYg&&_Keo7O@gZ0o7%gos`eHms1?Mj+MC!T5hF(M z&F4Jloag!d{)5~j*L}TT6Je+_0SJE$S2u$!{PrL}tdGCEv(H@l@6YYkzrjk-0FZrH z0|Uh(=Go63kJ#PcJ8h0kXWVrCwD?N($fD25#>b-P9GGy~C5Xpw#`lJAf8|3B+v2s(aK2c~&_v;f%li@)M12K=NN z#}t|q{pYUbMg=J}2tIy1qjQ=h84FqN_1U6F0M_CKeqx<>P=S-bTMGx?bxIf@fVtIz z#PWKkF_*Zu`B&?75{JTmH4PL?DGUk{kltNA#fB%sc)_rr+!Jg?xYt}Kd37NDM)ag> zbznSu$exOy`6f^H*SQVr)9Anf0q?~*In^~L4XZqFR7=T{|DxkHF#o?l`Yn#A;kCZL zzBTF#;nGptUe=R=!AFf29acqe>!TkEu^97!pq=_;ry9IIE7~~o-HPvT;p*%rp<&xjlXZt`W^B-~y zv(pw$5`CcAfC6U^HXp411%)T$2J7h#a4GHB;)Ow0^l#0!2ZM;jag#=m15?iNxdm}s zpNWXQcyB=ozVoi~x8u`FLO~&aXQ1{}SzRGsWhn;`lQtw}H`JK{3OT8f>~tWV*^@Uv zdV;yV1{jtn``eJ5a-Jk2X*1MeW_qpqp8IVct&m-#?4wkIQ?`$P=Uo`|56_h;ZVzpK z`_Gqce9a2;?2H80j2C+IRFaUvxUZe5ON$qd&^3`;oYN7IAlAypsQx){(B~E|>{;vF7?eX#^;f9!7kIjWO7I!B<7YpHN}x z9yPWb_uABweiwEVP6L`ZZDPdn&_wW`HWP?2?}+TYjtv0!-si}_nD<$TV*Lh8hjgBMep+*1sqe9@cO3H{J%q}ize#2V z6_H0Zi;HhwNNF{1-ol>}S3a_T1vBCsMrNTznt)vK>nqXq-jO5UzMlmmisR$sHCQ}Y z{WtT2Rqk#P%${T7;)!^1^bYV}$EY_DZ5$CQC~*pf_bZDBoUfKWFs< z=+giPFi`0hf|IMJb3rxI_blBd^0b=1*GedO2fX0!c>S9`OSara(c z$3z!CrRi#D8P*_eIm<}>5UFOjqljLFmdvX475i^p(UN;!E z=zGd6Nu16U(k`{cP^H0TwLvCK+pVqk?_U|s&X+7j{u1j@<;^I!9M@8;!VT9!Wo{p_ zoZ`LRTOZc0-cA8tuyGgru`_&Mx)omxO`ftk!yC~`Y_y2YL#u5`;_u!l+zic#GkKWY zP)Aj{JX)w#Y#UGGm;4y~&S)4LmT4UHwGh!k{ho^T>6@$-D7)RFTjXZ-*StOn>}}v( zwCR}rRJY23jmoUUzAPMoeqN89wB7Gya|h%~ERvV;U3{=L|1)S>9D;qC$(Rb$UHIqa ze1ItTKz?_75K|I6=cKj%1tcsa^apShFR{U4lkq`Dny&b~;*N)5OZQtafm4oo_qS8S z|KUeqVmF^C0xyo=UkqAYzX-x_|J&`?yX{-i!m#|56uJiW!-R6{cI1q#Tu#1+#}I;; z@Oj3s0&U7;M(BB}EKlBYd4`04cze4DUKJ||51cRk0Cw`D1Sbc{EbSxa&*7^{VenTchBc9MJ7SnIV|};+Ja;JM-ebvxi&A` z)N9Ng_5F{PPQ`yHGB#=V zFL=th1e#$t)vFr08J+zwvDyB^I(CzmR6f7@#0S|XyLjb8!NK6y7*aXDuq!z3B0AFa z$X&$u)i;mCUG~Dx&?)1Cg$L5i7_X;;*y>Z2>UE5Pqz6m5krr&g9j%ynQp(c&rHev% zspxuUw@fL$Kya{s0p|jg^$wHC2>&#fFZ|chDTjKlz?DY;!)|D_UzWDL0%f~T`6tQ5 zUQ1kCGsAd{DgUP8(BlvAm~7c%8E~)U^QtmP>4mt>nxqC^})_Xk32lyfBE1a6qA~=3ONX^2xAprf;Ej4Z> z`P};=hl(=~RBKL6Z)S6XWMvejg+~p^tzDwlwz)lWM&biwj@xP>MH}K6eR^-_; z1yt)1npt7i!s{n#S%|bWDOq{@N$BaL?Fa2F!{YvrP|I!Wf@ZcXWgcbY zXKsaAi*|9r*{k6#yBQvyRe|5bO%%O}wY(dT5@+&R-tGiaHG06Q}gWms-r$cM>wdc{DtG=WIsw>?7Sze&jR;|OZxq%sS%r<4Btl^I+EcCvni>^Z&_-S6IFPSEQ zE;d~w1Br2iXg<;#eroe%HaTuDlJq{WxNPc!hyM3Atd?EO)<7kWdv#lxmQ*D870;CD z#Gm(G&fR1E^0q8MF}S8-*?E*(TuiugHl)!qwynU|YKi>R*GWwZ592uwzL$|0p8r03 zjaXyDg*^DrBKgl;nWt)Zoc=c722NY_UAxE3&Mt%ms?Gn3m{P43Ov?dXkuH*t)P<__ z1!E-U3>U1}`eL^Y{NttJ3+EI82!Cp~g!qg!1wO(BQcq3|XX<8&iB}wGl;ezlb(`oK z^2N<>U1CpRmhKgC%9(wh2E?q=(_#w~78fZH>2Fwb1}MNm_N%FXYK_?EIuDMa?| z1|th|S!Hb8(6}wAcKYKAw6cQZ8#%(lJ;PvUf1eH(3JD8rw?Jx*2eHAJ(at0z4z^lc zG8Czeog$WE#OI7PPXoit%vpA6p;EH|xP)QXH`$lo&Q(r1iRn7tK5T=BL#ui^>l7bz zL=xLBjRLhJ+3hqIkCb}DOy?1}+xwE=RWndAWFsZ9R1u~NJs5GRmzqj0Ca&l&n1>s7 zwO~IjT0pp-U<=3nb~3kc`3<&Fk>ifVvH*jNa7{Xh;&MEJtjJa{$%bnb1r;!UF+<>6 zJY#y0=1!L?S@y3S=eiEMZ;^_V6R#Q0O<@E6tbHzTNz!uJ|M8r#{Kt z%)S-gkvPihsr}<#-g|`I`dfA^N^X1QiK=)?0&WGqm^Qn~|KE{-0KVZ2;a>9PO)h9?kib+u9XP;e zhp^l$4tYMIqZAVP>C7L}np-HD;VLLv$!L=Uchr0T4?rWytM|OGK_3*pdQ5qgJXgjb zEyh?}GaKgmKgPUFZ)aY6phIB_(JElfMTb~EhZzt+ws?2nwr+JGq zv^(+$uQ?`PX>+MQK$^A)2sRiQPZH%*dI}^?f0`Eb!g&1xD>bQ@9o@$x#>&83lr-;m zY`}bHnx+r3_@|N)!bA$w5G;H10tbBd<5AFOC94<*QW)Q8J>y4TjYg=eKJiK8 z*?S>|g16<#PO0ugu9g2eU+68XFFGC|f~$8Wg|tkF&vOjMOgMY>gZ?VbF!K?g&knWM z6SIY$8Nvq0J{-T*HSAW&NJ#eIX+@~f9P{qJl4xP(U;Q<&2Md{>V)WFQf6|R-0ZhMI zUX})Lykpi8cy5h*{Q}1^Dztj`&GkW@b1BB->dSGwkrsMf$b|v$t;jK_xwt}9t*O5`694sY z608YAA?`gkPTlPETBfz=0o*x!Pc1OzG`Aif8Q5#>@zS&`3KH{l+K-Ep?&8#-F>!pV zyZw?(<`YAmrSjx}xj1W7MWx=kuei=ev^j#**%dUc!uP zUK=EQMPn)WyI z=Qi%$3wjloAZM*{$x1KJXHfI@nQ-8>Oc(>cujk+D39%Ip?My>ccVEtM75TK#t!GiF zbr0~%xOfPg@KK`B2B(rHL6oSl$d&x*0SL4hNAupt5Jq*>g1*Zgv>J!w=y3*!Zg#Wt z<`TZ1hwH5hfCp0$V=RUBP};V zoW$7mnc$Mn2jD&_`zcYmGa|jXqaNwkm=WiZ6z7Wp z0iHCqrjoo90mikeEk%l~GCBA12b-_`I5}R8Wju}ngW{6d*8IAq`Lj`*!b|O2|D8-6 zUxEOd!3UiKDEyorgp54gJO)-Enx3|!uE6qBQtg*ZLSb6@XBTtlWjD7rgQ25wBJzc% z+at~CkR8AHHPXktu0ard9oWA&X2WZ%El!G-BDERejE|mqU&%j3f60-Ex{QH@E_p%d z*4N+mjLZoNj?2HO#F&xojV08&H9BW<9o6DuMsQe=Ffc7Li1e6n)MGDb_0%tW#Fq`0 z_PM^iirJA5(*0ptHDJl6&)glj+IJHn-qW-^66b3_hr4G34xVh-n~5PkQp$aa?}I+r z7dc7!kD$!_oD}KWy{%H=SxhTGPZ?>_GG}dz+%B701kFyUtfE#nB4g#0+ z*zeqaq{eN1683_t#z=4#NRVegP32dbj4V};MAh-7!!NbcCDeIj@m!XK;ScArxNGlO zx&j4WWg*w@Rh4T6q`YJhI6a5K_JiyoVp-5`y+N&YWO0!9{Z!jRg8?!4r*q2>(*1&{ z4fCpuS&fFqS7jn)EKZdPbN2(c&}o&PB=?}rKXX|;CicW_S_UB0$&nvG#LIE8U%Ej@jmeAq<8L|GipYOwEVZ~$ZD{n08(MvhQ@cT$_VAdregn93S-q&=Vu+iGgQ@%zRi=G(tD zHqUWHnD8O{WIzC3Xjj+TD(H8Yfu8D9rD?G(S=dBZ` z0fwvB3$fJS-doLEG~c&9uqrUvUx^WtuMj{ifK9pn;-o zmi@nMrPMb^sa5eC%}F%a9Z3dB2N<7bpc;?(ly6BpllRqmB>S8^fH)IXut4bx9JQD=qg?X59biPMxfQTU_ZI zYVVw437oDn5k0l!7!13N0qj2I#uL3ZabLwCljL3v0lZJjhFgKYy1hgJ3ZWC#0VBrT z0i7Ur*rFB(1ZAdjy?mH+y&Oz`{)I|*;{$@5t2w02lY%l=0CW4HmW%xzKP_Iea{@=^ zme4%Qn6RKgu@M2zUC>#-Z0yMw4!KG%EAxb8sPGxw2H;D%6f43q!V zz4j~K1>*@<@JlpmQdr-}3{fC9KiS-U=Sc0H-@?3V8F3&xh(7Q11#4K?CBS@x!*1Z; z;0!?Tiq!Lt?@c=lro|D26Zr?9ImQ>QjJXCLvB-c=%aE}W9(;9EE!(3G+-zA9V=vUc zxM&q^C!Yvi*cL`FzH=z9ALh?t(L%Rnn~pT9I<#@WLRH%G@ET~h;Y9)WrzABw&~1$y zbMI@4GP9iw_4hb*_dkyASgKm@z&xDd3@+Z4)K-TL4^xeT7$h9)Vv+p?kEGVyL4M4OK?+czb=mvaO#aQtrtM`YSo0w<>1O)sB zzPY#{{n=2R{O&TLFZ*0o(mkL~z10}msSpV4E_|VwJ;i!Ni!4!?H$rxV#F*u=iXjaH z`vfKAS_7-*Fke=aZdkHO{4i+Nork?oF;Snw6@*kwn2<;8K;e%LIb})-O~!(oWEPfC z`N-B4F+-j-65Cg4?TScUcwqvN+C&56U)35f)c`NQbKcx6KX}Eqa#{RHLKyQYKj^Re zQFda`{qymUvC|EV7SCpd&gZE?l0A-}0J}+jZpU@qr{#|9GdxRacjFaetlg-P32GLj zLHTmXcah!x_|;ePvr!N9ki6CYh-O!67(!L;-C3D{BEqSzemTVPup7gik=G6^QoQGn zsKpo$>z}!x@9j~|rkZj(izTrTOW%(kk>9JR3SUkUnGEKfbQkbQJ&eUV_?~O72p2SK zo!?ti3W77lLn5YG%H+--9Q0&xESn2dmgkL-_r7;$*dwf8j$TLDynAfPQ!DN53y3b;rQ0Opf0Mqt!Eq!rqt2z4%8~ zbmMRT^?Ky|;{|3qANi_XeEgLK`+jkIHY<)ONla^TWSb{yqZ3O@3y=F)!nc+V zvcF?9JWS14k^x`f0yWZq6tDXIo7=>PyeP+Wl*XSgqx=B;C|H69X0UlVyhU#CwzzpxiN67zZQw4aOQj<45@&W_9uPPkmaT?2ZY@$jv! z@x|9VV!!q~c+6d2D`0ngz4p_Ip_CH%tQiBHsPZk{v#>C>s!|nu;1dyJ&gdgl5JPqyE{-0mjbSUm0RnZKMnql9OI5skpe4-b{Nx3z2wx^Tx&P z!B##7UtqD_NJ8ny^vk{(qIMz9AED7G=aX3Ff@S}jvj4|Btd!P zgY-nzka5bxs>e2aUGo9OjR#p|(VAy!#(w7-_B#KPt{3>eyP=wX$i=sEvOBfCTiO1j z{raTR6K|{^BR49S*tmUJ($=Y245IP;SP-f@u9)dcKCZ^Ha4g~x86+dB&_1(MD9IqZ zm6x838!WN90B-hfQSM5HF%x;V0`Y`-E);Gb2kmiB^;3J{{wt5&zKS?|@s_B(T%(ZRXu;swei6|z3L$sB)K-hRIyMCcz?PRa#Wpal zdkEj0`GyEXRkNUf*9Qk|zZGjP+BX9UO!+ znNI=u-M|0sFOQ~Rwbvq~yanci7r{LuOxKnfttERUWbHXd!JL7@wo?SDC0vf!VRPZK zF8-sUU_88P0PK^=pgTCab5!ove;BulnPTX9EJS<5q;x}YgZVWLKEn)cdV|i{3mtQgK7DZ!j!N zPIpxtiv7N+3ZE93c2aZ+UnFd1L<8Lvw**H?jwy^TZy!-lOZrW3kU=_^*?XI<%e_-y*^L32`&+T2?Ct~H zD7$8m*|9@aVi(iz3}ULG&8qeh{}k7~gAcALT{rGUT{pT#U3@D4R(8HW51%%yrdY%~ z9wc4n^YJYNS@;$L9*gGf#=UwI2Y$Nyl<4Ik<1>?Q%RMRB8NLnHu!jpV#5wtgQ`-C6F9^qW?J?ON3rq<$@0*0Jm|+njv&rj!7sQZwpsmBJ^Vf5H_fePW(N5 z_dO$gg6|&3gT#f5mIs%HUqwg{t0`}zCOU~NB}wE+d`CL~O}(j!SW{0nhV?eU+3k(- zVbN!kRow0D=vqbdmubRWU?N!XIcL1g@k1l9+Z{9|_f%^qi-^INs2iI#3(vGNUEl2v zX2rhXlVBmz0IO>wkFJUjuX?{MAppD6KImYIT|hpVkV^E_QE@NtBE7a}hL?=>mh{tV zj;fNb3+v&ka+;i%L{8JGNI-$`mUjnLXB)Gw&2NoP$9yr3L*viFG#Kfqdknk&Xx0sj zku`$ij&!1W=lF<`UeKuZTK()skORkMOk2+k308U0e@_kjx91X}13T2`Yt2omaY3~SVNiZMpE#Wcth7aD|y0$u@V2o^;7=X#<@hA{pFN@$dUW*>u1ozK&qK&YY5lmgo_Y~1^M)qfP~Ev9*|9U(0DnzGTSyPBvDc&>ON(z6Z%~`7}gl>xv{*Gts$b6O~#_ z>#`@sRL(6m<?HSS8OKmX};n7onTKEmT1tzv=m~mEO zDc8z{{Om)<@j38^&nZb`(7R)?A4?>VhnYsj?LWS&P!yoR#SqYRz zIz^$|Hv}9H&Jr1~IrQ*ap`5#ubVm#vbQ=nDHps*33Qn$%#1)ZLsy4fIXJaqt=IJ3^ z9b=ik!m@r4M%hWC8n9fYv{O%h?e9Qqvzj%A?i)f7DQtharZ*iMiTBlPjgrhtOx7#m zWbxS+-X;-2VQshL?- zcfZz>2a;M)WsAGT19<#4NgYLFhLrvtUv^iekz#4YOJ zmDdU3nN7>hK3%7HQ;m$-2U`dk!l{*Oz5v&ef;Dh`YvC9+X2vk5Pb+njiE z8O8Xv$uPpFr@_pKBhsVS`DKjIwaY<43?1wcp!!#QRaN}e68LJL@nflV=pnrM+YQdc zAj{;G#zU=>*~UTySe7_Q${t?3k}73VV-FGHkqFKX&XF(-ZRg9Sg@kkzSPI-(q;PR4 zGtQoK{`Mpzt@7u>R)D<8e~n~Rzk%%UOM80I6VGts-l;j~K*VKIay~y_#JoV=p< zO}3Hc2-(&Ts2P07UMTajjyr0Sm_F?x*b9ZZcv4e13S9@(9{5 zTo`a{xyn(qCir#F1uNg!hqGx<8yqx6->5|WO9f8WL)8zg`^Tqpmghr~FGjfe4EHCG zKdpHKX!x(S^w0>vFtb68GRtcPL`&ql?+NC~&HG@f*8;P()@92_XzQ|E!D{9(P?J!P ze*~M&lN}HU*2T9ShcCz^xA2@$NP#pkZ-APdQ2EXZs{0rq|dLq*x)LC5DwE0Op;l; zVmjojChZ1&H?@|P%Q{hldDKNe4CFbl|FwMiLzwgeU$u=>T6PV_@y5GOF$&}Cmkp~8 zhmRM$EM;$VFm#~^VVvMgDaMm$4Xz&agBa<)p@yfcm$qd=MQ5KaIUa371)R>D_MpQX z@4j^V*jKibuC=bX_S9gPs4u#Vzd}ju04+9K^gAAxbC+o6>)|p#U;!WAc6j~k?a{x@ z0=_QzON!$v)Q9_YzkUID)9v-yiRZ*9Fjn+6zv^%(aet&v0z-74;L$Js7~-00 zVD?6mD6SEkK)eEskurv5(jRI_Zd%sa__=AFPn$TKmUy%!{dj`nM zXJ>C=`+zj?^1I2t>Grl$BGD%sDO;uz*7k?9oV*5{^G`nJ+!rRVwi5xJ(QtCyweI-c ze(MVUj-g%vM2v-+rL`wALp8hoUsOD(;|71VFa(e;-R{m%DKqKbe9@B5Vm)b{>k>3h zw5G~2Et##-%`0?fl?AdA4$KCE(Sxcu+wPSf--P1()y1Rq8&Rxb5#gam?~EL~pNl!C z$KantP#mj}1F2(}uieH{gfS^>2fh%zL_t}5B^esXGxDunaW#W(V*oNO)i)beIuvE3!H@Lq3C&{ACmi|8$ z?wp`1)6ZuzaKqSE;s|xJnLCH}iKWocbs@NTLYFCwgsl2?xKzP1UjpeNTg|ULJ0otA zUt>Z}uQ|b7;kPm2++qB-kKi91fb)OV>JPavYN8KO441@8lVJb>FPbjFIj;!Qu#cR> zkKJ#t%84RDXA5CQ<{>d3Y@kf%#ME2_J~sFBhCb#9Z?yT{orS~RLxH!Kbf~_$zIB`G{xesu5WcQ0^1y> zcciaIg^*_4ag$npbK5HN%H45o52e?hk;c%umq@D~ho+YrfwiBxm~LXfF;|2A*s3_@ zih+$5VH2?oBCMmzEaQNxY1M{f-|8?zYz`116Ib=5)C%vd!Txe@xTktvn6t zo>vJ#{y7rcEcHAq(msworPd(FoOvTY2mDq{1Q&reej(f3Ff%HGR!E?t3j^}1V@A0J zz8fqxC}p^8&d$zv`etJkG8cO$)gAJ+ItMH_+Kn6p2|P=V+HIS+Bn0C%s@s-e}>FS}?MGgLp*cIj%K%G$)LeT>wa!iH6fL5eS@ zusC|yQN>CwhS7EO@Qmk_xpFEXw@XsXwfvu%X)YT5?~#ce1Y)2^J2H=4*^tlRVf_{Q ziGx2H)LYUyy5>055lOa=vnS0Wc32S9O8=3Hg1jQkrW_a|Q9*hK16#0EO zx%EEZBT_>5)svB>q}Dn33<=Y~iu2dAUsXc{Q!h`P&>p6s6ZXNVP2*HkdMJgcw7aP# zK(l=OFA$sgS1DHtIjlPDfXrq$_gAtFKq_~f&0aKqH-neXjMXO1vD&ERk|H6ycG7ew zNr-!#9yU(2SsX8667a7P&}hbzh!nEGPo`5gET}(c!Pv*-(42J*q`2}`Zi&DjO3a^` z1)YpEB%>`8dr_?G%X&r(Wu&J( z!vQSky(kR(f+z-~2wHX&T|KOMN;j)&o`hJoN;K}Ac{cSiw-1px@*cAsF4)KZ1JR+= zPabzd;Ho@K1|JI1@Uaa{$l+=4-eQ6cZ%!^l6;FraathcNi)A(f8M#jbEDya_J}t|_ zPa<$J@Ms2?9qJ6JC|1USr#TY0uLFk%DO zRW6bHS)8smISJ$QhRKOWP0OaVq>F_aU3rJuOUbQa3vk(f8-fuD&pXcNte?{O7kpm2 z7umFyEGi{w6J3&;lP|vC>&ZlZ+0K;WyNtrE!?h#lh4&G=BJkOL;~unZ`ugb1t)f%0N?VFAM5EE}CXtkVKctH{!(s(R?#HP%wYYJ0$sc5X zc@(5}_wj*(DW>9YBj*j`mek*?jlES#JmU6G-bCyF&Z?B44z19A74$Vbh88J=z7LmJ zW=Ozt-H<%o$58r5*!jbqmv8%ma;?~iZ1I1Slm3r>+Kv}wpMsVHfU_@zw(0wiAg?eQ zN~$6A6n;-9YK5}%c^W%0vyZE>!H^j_KSgADFf=PkO?IM<7t1;RVzJEXk_n!+Oue>? zs@WT2Ep*j$S6K_(gx^hs=F4_6{xP)#fALwhF%5FMlFJ=&PE_=;DOQ1nXNQYN)LgwG z^wDo6jQ1kn+;ON=tjpCz)Wl*G38;n9F7m{4+s}O zUxjOR3^XWlp;^pjw}8vFI%PKs>~z_3Zp_HBF6I~4X^?#c!FVh0vIRUe0_X2c)OYWS zc7zVcxY@fB8MPN5z?8lT#Yp!uIla^zxOm9N(R6!EtXalvQYZHe%3PWFO(|1sk!v# zaYypMK?J)}t+*d$(#K$5?NLdv<|$RPZ1#fSF6iN*RlgNcjfS|2OA`fkq@rrn5M$Rxar$H6>d#NV)xwex$qiij+zAHhpS++sUL& z_cjhGQ@wbqoYit=y0pJLk=}e_C6g9RHNNl1Uc-XC#uExEi{;vJkh7=CFT!}YsH z6sA;pi-`q=RN)v6N;n}ETjeG^ugHXwNKqj7ET8v@y1m&8;H-Qh^hGXdaLNJAT*2{k zi21x7N(D#3H$Z?yJZRDYwFJx z`HG8U+BLbLi_zkTo8RR2?%F!Iv84fdB}|rSj2zJ{ZW3sYXeX>{ zV_9{FvnQfd)C-Iww2p+v3k(PRe}lDd$uku=Y;fVaMn^ggi7u$K6}5k=Y!F`)SkUZo zO%k%+ou^w14`6d5(!35vRT+PV$oI$)Zt3Qyb-xu|eu*f@DpCQnY8JQpxCeoT;M^n#!i4s)s24 z_e|#!5r+74(6W=#RLX(4FS)Pt$X}Ifa4WBO(t*NjU-I4uzfk>~MlnYhTI#`pwV{0z zKyb<+9b^%7+3l)p=4d`y(3*{?KH#?a_sJRNdMN;hP27`Sp{AacRUnB!ywq3PkmZ69 zT@NHg=d)~Qzy?s`+7adVd=+E%)0W8zVLE#n2TJTHJL!_FrJ_Q)X=TN0{0nwK z=znXA;gO+FiXr5^2>X_5Z+cLEoR!6MZj3||nXLpo*JB2P;dVM4f*{jboLWW= z=Q>2zu4D&)|0d{G-D}!1K~q3lxg38l-o2n6AHL_Ug>IQ)nksp_)0saX?OW(Xb#&^@URWmAb^?Cs9h1VVpF-P>)d-l_=Wp34%_UeA z#0R%hm=W4yZ{76Pl$_Zw8@B>cIU>jUMviV`@L4p~HlsARI{-(kD`)cUrlZ9dKIcH? z?QEQy!*Yb$PF~3R+dogWO9W-yB?8_*+l|n&OuJTcs`8C}9rPeu1uav3wCWYMNGQWO zZDLGzX(JAC_Kkf;0^b}BQgHo*z4;bz)P4aU8V|%;EVqZ+t5sV(dgA1u@qOX#@+b!=$(}+X}?ehm5oXB!?>G z8Jgcs?AUMw!f@4jT?X2Da>Ud%1+Nm2eMF2S_vhK-Tz|bjQd$;@tieXavJC4A$CH|- z_zebZbS$C8%qR0&5$im)|3i(ufh=8b+F#pl(Pl5cOFUWTqX;5Blk4c^!OP31<*T&A zg@DWZWOdQG{vs6t4-}tl!=xmT1 zo2**XtzW6KPTfChzU?7eR;UA-11$;Cj6_J2O3_c=XC-v6>N3-dcuHYLW@}ML+(vNB zv>bzGxT7)`D*LH8!a|~V$T1q0kLvWdc3BS4YS1KezfyRl$=;9`^3*7WoAXMY;)i?b znT!%P#7_|wDz0=B;S&m;Cf(Dt*^QabQpfRv-b^a@!aYJYADj{aZiC1mD%Q;C=B_Dr z*aFGTPk+vM;xm?0h5#;hf;}APhz-?ParcmQOZ$HIIvPk7d2nz4Ge;+u_z15&y7%Ci zIUN|-b>=3~afxpHglY=+_$(IuF*u}yigX|D;glCz9}XlR#yhSp2PeAy*%2&`w_!wa zQQptAV^|=pHZ(W!q#N&eTkqP4PTjE~*?hJcC1##u;d&g>u3i`G5i8fT#CyPyXIK^+ zlh{WVs5b?0&vWjD9g@(R=PnKAD(wBAcLLXi zfXLD@NEkYdn_`VGDEtKLYzi|cMxFBn5#5BHE5d}4Rthd*IKZPtVVFkQ64`r(eW2hC zNv@*B-2ODO1z^)FxLD7=ksga<0Z)kRC>}^oH6)CDmpUz<@xc>KD8xKH23iZ--X-#* zlfS_WS7Uu^&znP~`uuW24qN@qxOVTrKGln@Ee^DJHMIPe%Se;<>Gm3kr^Z%IQvL0Z z*K-;)$_r~ESO)ZFYhV%U)%Z=o_%}22VWLmZvRwwtiKQg5tn8U(2WfW%ofFbRWNnif z%xbx~jzE2sUs8iPBZwP9H)OKb62-bb(!}&VhpYJPP0h!ENG}UshNWCb`w{3XfEjzV zG;e=a>RJ=xQIbcFR|gROx7zd>ri+c(cn=;ov|bx!r} z1|1|%SMy-nzIQh*g3KAnb`Au6VQ=@UVvLM_1kl^^6{jst88p5!c?0 zb373353*44Yvag_Zh5^|GEdO062;<2cx2;`&S<-QVqUvnA2>Z9oi~?q!!l*J;hWhr z(!G4^GLN71{2*X4T2IN|htvcq$i!OXn+wiisI6=peiN7*Uv^Y=(%I%JHnn=~U7vGv zIe)O$3Ec~*h*>%UyX67JZ}R^qKVcIA#3!StJ<)g^%3Aby>uG`gO{1_TjON$J)P#j7 z#$Qy4mFa`|fY&5JNiy$XUCa;8*1Mzzs7xOL`>|r|+*oz<+$@)4>2C1n?B! z2#p}VvH1S)nTJcj6=p+UbeO+jOSJf-d^GaD@Q6<4&j}e@3TE7_r`6(Zb8Jojh$c^v zDs-##?GWJmHym-o)xW^J|Ax*)9x83geU77H{%}EDZX5VwEizBnbz$UZ<-z9j(W>|` zYkKA=lOhUy6_AP+n zH39IR?3}5cW01PQKCs|A% zuN!bNy{o{Y`yTNY*O;`o2Ig99Y;2zR#PeqVlP7F4o-bi}z@XgbmX^oK{crGH)R2aH zJN}ecI-(hm@<#aNci4AJpHH8W4ShE+kkO9ZGJ1PGfe&Fr&yW1yYYL{pqG*HSosb~g z#{ntk0Vn#H%d5KTYQ;PV=5E{3uxwp@y$U|zE<; z((cMqcOXt0fhSMu!veKPWrAL9kIMgg!&0{S)aS#P`2Ri@biklyWQY7L;`*yh7qAdR z6A~oFN|~9P`vYHqnk;1A`Z75=*%M!%@K3&hS&Mh9JRaG;I3CyDKHZ=Dt^QAm>{zk_ z6{a-c(t+bB{w;dbGhxoT)Zn_HrV^9KfTZ}ZhSp<~L&xXtP?1GJaF`+7*)JvVa7VZ& z>`9Im`DS`vUU6rqVzc`?S=-I^CS2YY})`K`GZnU7}_7j_bK63 zE%*>ae(Lz~`Mt7fTfB$<9LlvmMte1E*5)AsQy1zp9p|bu>bF;FwMKBmqqs6naq?YQAPXTkUbpPjm{nyJo ze@+@z4*`n%V#nO}7@VR{^k(;PkJ)yw@21`4+$f)0#6Kmi1yW}TAg?1x165K|88}B8 z=*@`ai2j3Q14IJ(XYPvpf;b5f2gROd2K?2(6xa!Tt;kkuuIGJS>kv~@ZL23nUox##9qlss<-b|2-bEaf#j8|QuVK3Z4b zxO}~Fd^<=UrA&G<00SKPf(KpOt-U#h*x!Q%gg}V-N2(H^b zaG!Zh@2Mvq^ll(8XV2WgKs6;L#kO&-BdJ0dw@x(&kxiE86!-Sxuaj$5LC4?)$#&(qe`0 zu}}Osa=(OF-UxV?hkvBcIv13%EjEIDkZpe z3uN-YQKfrrh8}F{NkT@wn{DxqjrtSMiJ!+!zH@x)mR~=4OYx24(4%QE$8Q(a8wyUDi*W8lKhg9ZE?LS-vCXF!aj~nD9I|E>`jywhm9^ zKCY=NEsdUckqmvoHD>wjrBGTlo~dpaWVPRSaO5h6hLnYQe{deFpw;5m{4V$Q*!U;H z-{!eyTA1!vh>;uCFf&ZI+q+S=ts0FyMar+}+dB?n_*}!DD2d?qDMQ zj+1MVi_rMkWV0E^fR9g|9@tSJP5NOTf5_#}BYek$=hkR}vv}6f*OAQ<^GdyP1MbQx zjdD{94Gn=H?>8EbvQrD+%o=y5)EW-z55?y~cAcG34@(8q58h-n54k)J2cf~_J1Z#P z;nfJ;A28MG-_O0WOiivPcg6<)MooOa#U+5N&NAs?PY6vcA1_jwS53(zybI8e<1p z7n#!Piekz4x7YlBxHK3#I`T@cRIZq`!!dN)9cnLQ%lO*OnR$Z;^;+X@u_>|Z@xY6JH@`ik1-FO73oMl zaQMg4{nYa26X}J_uBQtPM2!pcc>$M*b(1+6sMFjj4t~ic@psd$_~~)y!BCRGo9{vg za}Ca!&b%kjZ@&iYv%z&<%bBcU-Ppir{d%y^>HkYPLm6 z!%TH^T#0lE;=Z+PA~8u+=DPJuIg*Cw)mMHUjOaNj+7AqtU3Zt3`6mapJut^*u~i*k z%2If8;uWR*@N?pu;nA^IMG>JJyMe#>_8!!DjlDrAGLX<7cj|`5O>jTYIsCIw!kWYJ z^3A04HwwpDyGM-$O7ex?L|!6`c&33=&yY05Mm`hOKl+x3XGuFoe>=-@_jo&$XGdL> zp@z}n8H<&9Qqh=o_BR(6yU#*+&+_|<+yd)vCB^X2Fn68DV!9EDQ}*BR`RsVLylwrv zeuw8|m6uF zv^>>m9OIGVI9Zm@o#};|oUz~@rZfM@?caUN)Yc8KP5O5J{+G6C(Q3zI(Yda_lUB6!UFpy|BtQrj%WMr_s6NCs%WcrNR=A3_ZFjQQQB&anx#r>@0G-AX{}IIo1&$y zU22cmdsACt#g@43%??(=(`KmGH5KU^;F>v}zB7THpu>k>v56jdYQLdFti z8M7LU;(um-MuQ%PcYclg6M(9zo)~jXQnv@>Jb-zM9^W|0v$3)SNWCFp@;XYQ@fS+` z>>TS0%NfUguCU$T(L>n+%s8&BqPEpbwVNx%N_Ne5R}BVGqGk{1B4a zp4w0ss++^4FwgWBr9K<9gyBM6_kSNB_xE-vI*Dk<^CF%0Yk6?)OBZA)n-8x?HEctP zx26ZY$`RcvbWS_NAjfCt*-W;HD{`5$t(V^eVBj0ZvX{^ugl2D9Fr4dCt5G&TgU!M4Voa| zq1b|tH*Y*Ie%}46v|TOuro6HOM-lx5-L|okvpl+hDYgID*okJ-c9>xzCFzzmhtW9D z_;^f3h8iVcq`b(*43$pzouEeX4}8B}AJ6UkVO|ZKR{6?>e(EM=L#x!oR;QMOd4Dr)kHF8It0n^3h2$#=CkMxkP`x`zU-R;KIe|d7_^z94bSXc2T?W*W6{wvE z_6*$#g6tlMmxduao}M*Mk1&CVU29?b1(ga6<0Ed;(|w&InYamBc9LyD+xO^aoXQ3^ z-LrlD(j;O{i3$~;E_>|u$unK?#~+mLm*Lo_Pr}YN_Ps2Ryvvn?lQ<`8>o1C*me&+A z0ifm>15w>xug+Hda2wb2oG>D>mIMUPS7rNw2F*n`Z*d95z)un z*5C|0>4~js*B-M%8mK)Yqo=ydy;{p8#er-gllTyaGsgL>gFmhC7vC<;^FPUY znX|gELa9RJn51g7hmH!=aeAJtq1a>_u)HHo^XhYChXcFhmv;EW%B|5As+!pl*PU89 z(!(Il?kBlTZ4P#=H+&ch?)G8_B!`)<;;snLp3WMKdki+Fy4j-Yxn4Eei%b0lBc!(1 zPqnO1mmXCfVfr2RCpIQ!{0tNy$b#?rUDaJSke@(s|>^NeO4g~CqA_BsUBg1 znlnzLpG~U;*twrXmHqQ!&Hv{M3wlo~7;_$_1%fq5r@5quq!U|`4(Y6%q))EcWF^t| zcP-E;%dvi+H?YVk4gLwJ9$in8Rm+eV8#=fKX)rA^8I&tDac>w|SlxdXPIJd!*_3`F za`ui-B7bv7E`1k;MdRGNP{7(Buj0Je1V*#XSc76;zn6*KhfV%23QyWy3PfT%j+bYt zIR|x|OFn-k#~4hswg%)75wNmRf)i>Bg1Scv+<1ri^nD31ZBhtYQWXHNjk^M$f4afR z&i>V*Ct<8FS?~=MnzM4CsFXb{=9k!o`X2aFA57CWDYSY3=pn^j5jXrSTVlhlCULbT z?Bt}sH)#2a1?rx;1EW*-drLTw(onUAD7AV>8$o5=_RFqAcJ+Rvpn-7r5avmk&$A%6 zCfUH4C=OTx@Zx@jPkR0RPf}8U4^5^V+rAlv=A1@ru3kwiH%hLiE>Wo=(mBi?t+Z~* z2L+1Cj5`&zie7M85;V4XY@o(a?bZ;1@-g^=^|CVju+hF@hI9#hbwRoF;t~n2hT-s( zwzD;>=nOo~n2fEw6dB1!Nl!Jssu0>_Y!CB}f3#)$VS07(+$!8lIWSyhlFy2&Nqpq| z?h~8BeoRm$hor(T%Yd=8hu1C&_+e^QQ3%gw*Wt?K@CK!1PAE5a-npnyI_IT2!qvla zW2^~5O`G$`b_k~h^Z{f-A!yjxo11H8nz9=wX)9ZW5O`v2hLVEywJdDH)P9M$1*PAdb(dzZ^08|$xh`hpW zjk1Q8VU1)6W!~ej(|5Yg+lDKQC6#WwMFLl|J5|FR6!8#E0x}EPjM?(@uVNB>OzxS) z);2sfo_%esmF{J!s1g)*!eE{9uidI|gC#O~UXSk3BsXuYP=%wZtiF|(!<1E2zQ;|^ zJsgOqShOd4`QA3vrW0Ju=pEBW0nO5*!8JB)wmr|rAL5FRjsx=s)tT7h`K<=^VvYkV zwE_wcpV7T=L|g#_kw7C8h3t&YJcPA%(a}Wn(Bn$dY8y%xVOtQteA7B(rzo@~ zAciZ%mK=G&7N*OYBGv% zW_sdYFxn~{$X#jl0fG3V5Z=n?ekJWzRxk6`s<*$L{yzFiciRTXQNmR$+9@GI&Z`qm zVL)(b9%L$ekZE2!jqfo!XTd_@sh6%XfUkixLW<(2&k3EWpMHtb)zG5b8z65sv+xFh zT|G+1{oLk`6I(}uXWR|4I;P=)`-{4$=;N99u!cK)b%5O$0L7t&;@g#$Iw-wOVA%!0VM+xO3t>{2#d*Cz(cpn| zNaFLTk=~;;K0Ga_73+Z&QXMHh)?U*2HV=Wc{-Eb`CUP^AW+^Htib-%_<2B?R7MN7V$rE`-c zv9I7f(|h98OZCsW=k#{Dm#E`7)CC6R>cp0A6pIXb1zhJ+ErfolCVoSzA@xP6TJvx6f*xF7>Ei$0U!m8K14J$pm~vQ~9khhjbMczrluoa(F|Qqo7o z)`6h3y&t(6>fJ2JPXz8!8dLG{8PTg>-7WaLS}utYaM6&I2Xp^mQx6A|-e5n1Z_8^o zBLz0AI{8^P?k>?0uL#uv0$H(Uz7-IahLVWVO7vyuWzUE^;5#!;!-@cT-E$UKMi2$Q zSF%T*H|NSZ1)wB|Ng1ndmqRmK_<BWZ+3!Hy7PK7`5MYA2`3wb9EXCMQWUO zH*|hohQ_4`=b_5`=bCcUv7Wes3f?4T_fub0RnM(^g;F~GbF_Iqd(bvx5 z%L6eNaHi^w?z>C$7sbX4*MSC!h`XLIAdJ|vpf&XGKi2ju$Q_Cv%FsC8gjhnssqcRO zEKOjoo%YPNbE*()$yUtAun=V`KyjBNa-zMFU1V5oZ?^_?8m&Mwp0{j0^PpWin<5?j z=dPnBjs8thT3UF`oRx4fr=n;*A&<4hyIDVrofleFc%t^IU?ToX_6}_9tx~U5hh{7_ z&>Hw??9tz@h+KPrs*|X_!;n6Ypx0=nNe`L6oCA>~D&N=n!w05MUc6%Tj#TQ&o_eC( z?e%=d4C>v~o#hZVY$WIW`_s)F@ApCdDW}lc+ND&+31M*`H?POTL;9!LlTkjEYYTjj za@Va(f9EQE=5Z8l7=%Xh&ekHGT(88%`Z?Muc~Tb32!y=5L5PIVb(e0e0E!~jTFgag znLf(+M;l)rK{6j0Zp|qZ7-(LVU&30kmqKkwBmF^-Y*5rQJ`4a@!w~j*>cfGhosH~| z?~XF6TV7G;YFD~5#eIZu&%nYVqr6zql_L9vIJJWh2b#c&Vf6eQRg24rOr3xa*D<$0 zg$KMPIAP!=AjHu1ozKrv<2V+@7xO;x7Xp4|3c?}ZDv7WeVb8m>BSX1A=-p(nDV6rQ zw65XJGIaX|uv5Sp;8o@&nWA4V3#Q-Spkx1ncKf2ly2?tBoWE-`cRH->%Bk&tk1|;e zoL9t4`QxcEAJgOoeI5W;gW@OwG)K|uZ!Z?-WJYQEdS=H(kTT-{{43a}*Dneno9PH3|PUM=4~df?S{Rm9g_jxQu^#F&vgc))+NwpHB|Q`-vF zHv4}wHu);}DK{o`a|fYV<9@a8TCk5b_4chb>0Jfk#Qq^#fpC~Zn0*s>O~%W zyD34`1@$5MhWKb{DXsu;E|N`CB-H=bsqXDY&D#w^O`k=}530R~*Al96D@S&6``=O~ zMq1p^k`KA9$G=!WC(wSrvvqrArDsxKxLYV-UW$n?>=(v0C*M6l?iX?%9juj(!=yd_l)aP4G&hGj3aW~65isVFc5glGW$ z$a8@d^z+!Q)_}K1J*@?RvRo&pt%74(VwL<>>P*Uf@>$KW{+IfW(@smL3w=;+cT~WG zV!ce@#R9^qJ{q;E)r{2t0AvPUJ-W9iYFlcvsK>WD^NS64EEDDh^s=stu3Y6@95fc zCLY&@o?KclkK+AoC)t*7sk3DpA@OgVhAa^q%{vVinRTCdsoo69_g%w0W7T$UNGqt=x`ewl z!(*F(QTz`2%>eh|kB;dMf_65rkRJcPu}1$hxcI!;K?Twbb;=HQVj!KmOoOyS5PfV1 zkZp*3OX+O%VSdZ*@m7}``y7)A-21~}PUIx>x!6fmORhXVJs($ltA=N7Mmd2x*k~#E zJIInth?w^;NGj;!v`1a)A)yB%yJMQJZS`8kXnPb_rl&&N`{=cvRjjtAX!Ba0(Evx~ zhc}3T*3KntO~6h$?qEuobIf9p0C97+p>n#znJ%%9Cpi$@xy2WS zcm?}3m7OG|9^Gra(1iW^JE%;KdHvnS>b+f02l{{=F>cork}qVt1XoY^+V)fPMt> zLFgIYydgx#qkAnR^?hZNS%n;yU=IsO9jhwhN#2c5xu^=kC~Ql<@RaSdWrd3!qWTGKWcS9nAa=WxI(@;mgE2Oys;xW1sTMy;ff=b-$=_l@um)JfkO4iLpQ*GXJ!Fx^&^9Kaa@I zFVE(DD0sr3^$ezhZ;VCz^?E$qDHnc2VECSKYuaMN!h|><_^(~}X*wg6!g3Y-G>fcirGEW)*eLr8fK4&?)<(ozCjsuIE-p`~khkljn;G4QrYo3#x)a`5^hG;h4S>slTp-rZCTVpX*Fj4261xy&W0c_E$TB~5a zn7>akE6POtD*qoD^FK1qA#3D!TE<8+6KiD`mdE?HV$ZW0;_Vp-);mcLav)$$dSI4qx4>-)|g8!4Mh zVu`;CeW*E+Iq8iNBR6B^zx|_MEFvPSCa06kocxqck>M~eZHN`6_|4WL9F6It}e`GA)}Ol<}2 zlqMl+puUmQ$7Sh)gREGN;-n}@v?ki0l7j-b)Hp4IMC%D*RfG*hURzhd-3`l#Q_91i zyt&+me|THTiniO+mu{U3A{{h_Tkd%(*Tw>TvlkgrY|r~dQe8?6T2z`xK77=IGETw( zzP)YH3)8)0@c`eh(uLLDfM@`F??}`+3#*f1;AQAedQ&ZIm@RsDP^=)s$JH$^hPWdaJa@xveQcq zN+or`n{JZ{Q)6SMsU5$VF8ei~H0NKt--~^OmDO+NRU__y8RmQDgy_*CvVHbGk76WY z#gu48vyCR+)3a?hDwrcMl7q0oHQFnH7Y*8#g#_$NHz>VkX9Y8_If4IN33z9LBBq-AsDj$#-JT1FzS zi$AkWI!sCO`83irS}R;XknFfNE%I1aVMx9~|CE?~GlV+yiuV$)hqAXLpWYb-LF?_H z+9=4Ay~-h4?+v(!eE-2b4~r#NvOdzJ9%nLWkH0hZ9v>mf2Dy+%eBOWNULq3zV|C^`aB*$-lbRfg+FXO-uy@U7=-X)S^ z(96iTeJ0b@9@_ZmHr=27H{(ko8XW_$bd@Y-FjK3R!?pmyD6BEPM-uTP!3H_vhvM4k zjJ8`<6cF^Ga#kQHH^dpu;>J`U$q+H8G=<)|t_VP~o1D4%#EP4cmIL zY+1{bk0dHD^M~b0yNi0xida@LHmD{q)}rZz^&A*2lsR-2UFWqL)#)`fJRBpjM(##C z-YUu+XR`%sG6B`U{loT~*+O)HP&_XK1A~;=+aiVZP(@|LE8>Ac#sD!&H72y_?b26# z^uKWTHNj-Fk7m~Z1MdQhX?h-z5&HosjG~95jYN^vsu0Rm*2wNr-W@^yF(sP?dv7`etpg(Q!4`CM}@a1pmS=I({8wqo)&G;bk& z?sVNEbovpW@Td={$Kl@Xyb4LUx)hC|S)kkNj`fk2FGaktoDuZ!DpZnx`{8g<>^(|gPe%=XdRL1)WdXV2T8+NwLvFUn%T&u*XS~|s=_NN;KmiVf*Ek1^(lYUkrWBiPEz}?RlAFbsc|UYSw66Dh zAijOOP#9E$@^09@3?;-KKDc)=JEL(5`fubHac^YE_JY~jz(A#Zk(MK1+9Ko?Nn!YN z`_i@DR49tWCV)1zT{P5;LO&{LKRxHfJh78#97;}t@P!=t z1o+S2?H&LE`HjD|N$E=|rS`LNT{lEySbk)$mh&q#u4#gVAlkdn$ZWtVbL2{_#=@7` z8#h9);y?EBJg?KzS$Hqc85*KX$w9wC7@&y$>+{XUS?pNOir0>K0FN_#@Fpw{{iPFN{iTW&;wT zY2d<0*%YGO(R-4S#dLY^0+tJPO;2dk?+HKhZtaj^y>A2!fphZ5^B*tnJvJ^iT-Qpt zntm(Ao8#W^{E|OAl3i}Cg?*C}&gwXWn7L2`u}4Z~pNS=In9nD4#qlQ;BE;4Y_x=k@ z*Z;g3p+-RvUOCRi%?C_fY|o%=0&2sjdJ&DbR)QcG$&5ZO@d4r$JoTq_CGX(mNjKz1 zJrYr5!d)9VUUaTW7JSBE3*tlI&^xtpt4bs0 zyU=}^p6B&x+RPSqhB@Ebef2?)RaCUT?Kbvgzu=Ysdh!S9&&^ov+mcsbt?xe1~$%a7) z3EE3I{k@GB?mp5!!?<0X<8`KQDDL zHJ;T}FNin4^QbZ~quf?E1Yx~8c4g`}Z$=sQ z8y_JJww?=L$2*wj1gw@92BVPUP_VRP<;6G=-yGi}KXaCo_p94gJ9W8Dz8Mp4$XYXW7L8oh=cyrtrmwN;L@rQoOJcZuM zhHA5tC+=?|gFb>sn$5Ya3fo6s-+URP6M%XPYJ?Ukor?4v+h>9asylvQT+IpLNle$L zK@pRAt0UT<_VM|@kA>0*)tU0*jLg=|N3W{V z`q00hj=J%Qgeq|UA*dIn9NrLg)H3p(6$6hnc|d5yJ&=lGV5SD{$<&YIj}s0uMjo+N znF68FoV7W#El#rXQ&rEq>x^^jd5R_;w%I+N+&TF)_4aP;l%{`C?jWm3>cq~9aluR6 ziNEy=Mo?ylwrQqIC^@p~#{`>r66nQhTE*w;sz#og%th@SyBs+|1g?t7)$NZ`eS++? znLv@?uaoCzPBT*yN>yf`%f(dL7(t

zw{F88crReFt85zs{6{%?i2AW~=X0ogu7r zYm>G(GA&B{6Q0xeZrIGbr7jbdn!PH=uxY-8{71BNzG@E4LsTVsB~(Kud4&GKEbqe8I?>VcYe9%Q|9SdIv!7*P&M0sP z8gEoU{HfdikWu4OsHx>70i})z_LzR-x7-iwznh85~U6|3}s9CDn z8^^Er-80`Wn9AIR7{!DD)+!_u_V)!~L!u-1PjeOrXOb#S-{tBl0e!f&15($9HQYUf zDwKu`vokXCx3=DpiK*M6x9^dk~!FYUE~o1?#ZsAe~ln%ZNe0Om|JIGu_PJ%(qefN8ietyaAbECHq7PcjVp> zEK~xLRT5LGU@i`3{I-19g0xbbCzDg})qNIUXQuA>4Fnih++IEG+4cq!9vy=>GW_*J zgkY8VBa5o)k$r{nDIl`iB~^kiBq-ve`ftTc<2+CqOSPvGt`Q-dv0bQCrwX*-lZ>Pb zjUQYmdv6DvQ=F2&EA`PuLiK^OQ35q;XE}C+;Pgy8+b30G6=b3)EAPSU&#tZ})vz=F z?z|J=G;4^)ZpmKl778scOhurc5g*(AvAfj<<(-UdNHVxdNCl|UsMb1|O=E3%n%yDi zLuk3OF6?^H5Z0A#;YbDzw|H}~QmqPWc;u>G$^%q_yx}>z)k@2<1?>JdFO|h}r&xwR zEY;r2x++1P*OF)uuP;d3cFBpk3YX3RpM!50Plqbr{R(UzT@5Cjpjpe!ni|Bo*K3@%X{+&^nIl%YybxTr_)}(|Zx+H$= zG+ljr=)Uu}w6Ddn+W*i(sF0&uuMr;+=u~|2V?YO?LUw;`th4$T5Y&c5; zjhF~2X^4mF9UB1-2dc}r{xMq)dkVS|ANBxlKbd0&^Sr@fmQ}0v^dqWNKI2nW2J*(4ke4vx*L7f`wxYso{xh))mp-}POja|K7I9vS!%3930~Hbs)fbR zIMn&p?Ns8K-2S9++Apzw^13Z(n1>dE$=t!&g{-~Z%B=502)^Um1W&*6lj6z!p4Ua| z%_H57c4Q=X+`S#}#!{lL*QtHU{iceeU6%sEx9|zlH})NVNgIEM92dAl{_DKQZLq|NmQ%+KKxM6;tKjRv<#OSW3A&-yzAY* zc@pMyY-ok5%w^6jkf>P1j8oNgaaU$9axeN}FX5T$xKKqN*o47mmBeJFwxEe0z#1n= zKN`-w9~mDsM)_C4_xZoDCZREEr4@1%ec!rwGpp0FZ1J>v{!jfdcTv=)=n*WuBzoAm zXlvkz;cW9&3J;IS*sED%In?cqqNl#OK@UNxQtTPS9xHNqA;LZJL56XK>4fp34YsYp zTdReMsjt%=zTTNk-=(|8ArTjXFi7FL%Z8sHa)z?I zrl1%t(+$ZiXZtDZX;mTX{dI#Q_R>5|%8A1Q%I~rc2g7T_1Az|s24pAyYG2;>fLc#! z$-oq^^?MGZNBK(KY2w{gZGlYFA^x$UaJ_FMenlmVRHXdupF<;eQyo4@`37yu;&2(q z+>n81Y?sUVYJ)+mqgo_^DUNAlckn$23SB=*aT$4A)@&e^PYO&Hr zZY55_LnA3^M}~llG%1owL~_Ayz-D&C@ZMtn8J-1odtd=~V}IVS4+zUjLKh0Ck_tOkw3kCdys~M-!?+@hvp|!P_O)DUu z=gTV9##q6^>?T69J#INKt%y08`<~=7)hm8xY4iMvI2*-9KPW1uTa5$Vlg0(_M$#dp zkiL+r+Rmtps#-^*13=*2?wFvDG9#3=?F*3|NF}_IfV_HAy|I)a=5lO%2*xIyPqCSf zr{~i#Lyew#mKH+57O{FtQQN@h6DAc`9xBw@fklFboJuWb13s+=_e_JnNcY+@4<*PH zH40%hNp`qEuWjL0A7eas<;lpB^8X?q8^DKsf)SZ&JR>e$poZD#B!=0og;$^4B{sTn z;VyU(`HHeBt3DkgYsvIv+~a$)16@56@ulkuaP)<=A-4n+taQ>T`|qZ8TD}}1N2pF<`&^tO9Qf4PK?GiEQIN+2ij)K4XuK z5PWAs73b08oLDJRp;}RvK7DjC7Gw7)J`}lt%&ynnz47<=fojfxBvxmE4dWj(JrVxX zrC@{I!To9E^l0atG*r}K#-+U@T+ zu&vp|gT_Yg&2ypKk>_fa+8;JpE~a*awdy`#q;i<>@W+BEmIFUzcACs*VWym$Ksv=M z+il>LbS;EbB~X#8PO$qbDRv;288lGVs)MaXT9+K1hp~ldu~bT&2eIQew`tpfLBl!T zjm9&&@?`{#H<(VYhX0v(q!kq(e7vuPg|)mLt~6VeFWAM^)g-czx*snYWERjh$Y$o% z=Op5FP^Uh(S5at-Gvu>J*r-6fQZpmwdZ!IpKw(qY-FKjT@~!D!q zNnxoAd}$|sj_ckPvW1d@d<4^|iyxQC*r*BDap74OZnv-gl1Xic(jcun-?iyck>XSm zoybkkJQSq+lsl-w+{X$SPMJH5CY>U=XnVUR0ndYuwmL;#+-ed~#Lm74S*M-=OR%!uZybP$J2(vG_) z;zkt>DVC?;Igjc?C6pd}ES?`pu+M!zkouY@Wv)iVzH?MCjtW5AA|Pfvn20K03C3`@ z!m4cF1a2iY@gXCT59ktv6svXmb9#pZlqJD|V2>5yXQKljtP*eMqJprt7{Au^5?yn;wuGcS3soA#H+ptnnq%N1jj?&$-RcKv<{k#q!ycub^@6;8mG)O!94^jMrGiJZ}&#Ao3LSK`5fF3*rK2;aK;U}5JE`xeT;~mUZ z&kXds5aDXF;TmB8M%tdxz2Vd7i>8^?xD$sGQqe4kqV@7h%$Xw1k6v~*b;^?ENC^t# zOCt{P+%Ciq^?JLEo+5wq{amjMUfX}N8qCl0F_+4n7WTj=ju}rWSzZ!!)S$HT@iF6w z9Wc<0d5H$~&VwvCTzF9c>kn46|BP(aFf@C2Aaxe4HU(dT|3WJQ0$*XW@+7G)}{vg&-cVqhdGLDynRCY2F=0>NDg2TF z2+>rXzfFL__mFyU=&lV)@WVr`R-~Dx;SJBGg!KaeHvNGs+tIyU2Pyj@TO8@2sAVHB zb>Q}ws}4G$;ZrXI2B`u~n0&e@u}_={rl{%*7S|mb93|lnJoL9J6O#9CH~MBsk58;R zpTI9wU(+205N%_=$HNvHScZM>*yMpkS3r2P;2DpvwU;_2o&xK(7G$-_w5{Dtb$+dm zuWok|#a3eb*2_Xw;8-xt`3mCUVVdfof>djo)2@M+jNbU6*Zxe$TU;!O#t|73iKedU z1WzjQFc6IK+0g!`4Z0%+6fl($!@e~7{NICMs@af4ORTae&Bw~CjYGG*EQL^idY2O4 zjp*~HrXRjkiCo|lI=Hx9IKEr;nYdr{NEcjr7@TKwUWDhe`z=PUdD4M8WVDE8io0kR|xFIKXU|CM(qUz#t(6PLFCCpjc_1y zZp|mVK6=e~wJc85NR&S`2{|B;&^e7MGUulJ*wfzP)hJk2>ayb}BcK=ZVdJ;5mNbo0 zbj&pB!isU{FvO?5W8_ZI;%sYVWrP#liE1|v`)WkqhcydFy?==S=h;;0@2h`m8MJ*P zG%8q<#_rW|7gsm*g7UPph2a>eerY#Zqt#BP^A>e-zQ&5hvxQ~@IEB%T!=db{>oCaMx5ISnsx5*Q00Aa0TquhE(# z{^!rWw$TYv&K&NTLkDC9yg%}bU!22jr0xhX69gW!A`afnJ+%thIbp9xpULGUA#jri zP5wFMoC!-8lVyca+GNYj`-53=|Y_UnX!^Tn>dOYE!u_dB(M8z#M)l02)A$Fcr z=J4Jcd*0&M@tRmsE1}}1F#Bde00B84*@4-N?AOnSmdsiCs!ilB`elkTE(1L++mQKBcy%ZwS?CEfTZ(p zRO6rD>hnFWb4WAQVD#*C_ywQ=_9k?{vVcHXOf&FN3l_h5@Thsg+yDi%{twnosGP^8 zS)ckffzk=;2POE-m{3m5kCq4QUtrYHlU0#wnMZQ!^QpsoGZkzp^XU5K^~{~%v1YcD z<>&Rm$BS_E1-pSq=3Sq8-=Q%Eat9KUbRTJvcT8X%F8sghJR~4j6mj0xMwq&pT zn?UtQNsZHkUUuuAAL%ewF@Gd!%8Z(O-&g}p4o+m7TUnU14a-_=3~KkUM;W)kAU)&` zrakJV+~@}hF2)g7;Z2>5&h>-I-tNL!3g-=aKe^?B(#pNAn2??}{7sjYAJfZ^`hw+$ zaVMwXeD~T+LxBR;$eKSSo{bD%i95rJ9UKF}7RcvnPK^mBepcn7D*%Z#llxqCy4K5{ z=7*V^N+RJwPdt>fq3%2eRkNZaU8`O{nQ_Ni2SZIiPM4OHN9Da$P4BU24I9SMx$T)5 z`#=I&-Bw&FAb^nhw=IA7DqYkw?a!_UY*c3QO9%{GbQJZ?h=HjbD{w;0)qP9+#dMVq zUkok{;OF7^mjrUhuTKO(ot<*&@ZvzU7B~9zTHV;Rh!!cHm=5zc2+m56Q#9 zm!aeoDS6e{+Db&DY~YJSUu2U-*77@_k7uu!z8LQ!bbxIJqVla64h$!Twc4#FcwOaC zY12Vt{)H-uVye6Bu_GRE+ODHduH})F(;?d%WTmCGmcQn%#6f&sswj!kEMMN)+3{WP zXAzFJN*1D5|GN4N=_7=>hY?Xf0Bma;B`+=6EQ`YHd#eHoShp81UVPeU3qqk#n}16! zy=kQS_qxzX?##?gU*dVt_SRO?f{;;>i6SLN22bbx9jUUvT>E+@6TX{H=?}Dhu&Wty!_>*2cY;65_*r+%Lel zgKl{4Gs#+8egV@U*@6=kvO+H}z+`-qYAH__j#W_@k6v|q6jQrSU@4c=-ioR@In*{= zk&PwjUZMh5{b{1@9P?n`(F|9dk4>9PA{&+4D%i9d=JWPIk@pv5`f3ksAOLB; z=7mP1i)LpnUf9@>L)$kns!%Q-oz7`DaA_=oOPcc9l1xr`*7{ymWrqJ;pkUTU9?x2<;&~UbJLKsyzb2!yD_{svgLF+Wj)suhb2DWoXDijH1m%-n4{Sb5+ zN1z*-Ha#%=Z#hV=9LZD4s7L8r@4V#i!<@DE@cL2}N9FawDMP;}-u!Sx*tw^okFTM( zOsIarIpDB;8SvaLXe~>-B{DGS;P_CRlPv!S-$e5D&PIjw?!Gnl)Mui=dJNE|f&%k%s}J^4bVFxh#4-Md@Jv_J*zB+BKhin}mlkbo=hIoDs#% z?rbRzM*kq5F7zBPfaT+*T+?(x`{A=~Ec*-fd{=o6$OLV_nq44X60U@qpRIDD-XRfj ztwsNE-#I#QEEP%^5?Q10&H8f)=>oS^08_sS4U;~5p%zG0AyY>)2lqj0z%Tw`%k^M9 zbb^$?e|+Q+OdIVnW?5S}`Xt28Q%(NrN&dC7cf_yPz?_>hWqD-(Ub1?YI^+ddx~{uU z(j5Z8u!K2%9m$1Y(~nmN(`B9lTOtLs*LMzDe$QN25_fvLYg@@ByeU1gt?}&8_Ug3V z@WJUR4Fuev3xk<{^LdIRl!TG?P{Je%}QF!^OU481~>@5d_6VFYn5XLkkR+*UC)Jii0yyqrrgdz z%6Ex(KkqWDOM30f^hHwaG9fg5l#r0MX{s-5fDz~=I}(v&?Hg2YpHEQkQ1rGSl{cE# z{c4aDTnz33PKv_oMx}KadRz8Rm;qZwq4fACx^+w#+YcT(hiSH~xzye~x67#xQ~78u zy^x>rg5cdF3a5{+qyDIIF4&kK{^3qlMfUpS=p?x83wp!b(3C{VC7H^DpI?e!o<*(w zrJ+soGPEsn_0z=b35_KJ{`Sf_%g{L!dQU>wcnGP`U` z)fkFjj*e(vF2|!XJuXK^lHrbprXZ7jstGElodYAx4LdY7#-r4fS=@^(jcBWd?;_=G z!3Xa>KZb`>T8vCPL{$hd@r3!G)GSA9*uu3(3x}h>)<4NDnxS9GR^wrHj{nJOU(QXwMD@B)*f7PnC-}IXMf7y4kF> zeqJHe+XK)tC=dH?y*#iT@76Vy(pa6b!n)2dfoOTUPX7+H?;Wy1L_VY z;B$ddgJg1H2$<PfM{sJ$;@B-zYN5{siGQcZo(*sb2xNk5DdAsxpb%3f+3uN@*Vq z=Y_LeCqycT6IzL9E?#O~Yl-&A1#-mTGzgEk=D?lN)&%qlV;}yFWi; znSaEjM!ed(Y%xjA_|64$J&p-*349qRNfUSDL}N^#J6!Q@b@;{s9pif`US0Z`#f_un z*;i}k!tr_wR{djO;}7G53SSga+lN+Pg450H5T{yv_swR@r4aCoYusEP2Xd}=IzR${ z-vdaJRjG0k$U@yH5Kv5VXTGe_N zeqgpdNpUyU%GnLW) z#PRz|8iGAH0eowPzIX0P>ACD0!(S+2)IDo?d@eUJk|^pfV|^(GRsvM1cIip)hBd>Y zZ&1B&zJ+8Cq;WZc4g?-l|%rNJ}s1Eeu+Z9wfnwA))O@dtoE}yJY zQ_^B{)RxEky}MiXR%qk<#OlL2J0LCg+x!p>r*PnUun;=Myu?vF#9P$pzmS~ZccgHb ztF#0qZ5z+c)tqK_<0?FxKLC;ol$Z4!wk0d=R_QgAh)TtmbB0ae@$BUy#@ZR>} zL4Zfr&Ihtx5H(Z!?X#R^*oNV*!4>J;AC<-h;(Hp)CK?N=Dv6Hn*T1L<$vbImdmS8^ zHl{A@R%zrSftBXg3rws2p>ZWMq%mY*Db3N9U6D#3!iT<3YI}fO$I5!L&sv24V!Hcf zN=w1Dm6lQQxyiY%G<#`A{6pj_nfGd2=iF7PB>SePT)+L8*4_G=4KQW4NT;HRwg*Z} zs$#E@CH%z8y9kN^xU%v-W$X6F&i2MuzUtqxWs-&(ydHTYkkK(LC2uAmfnCh*O|yjg zd=H1o4=!^~@MS`K8*dot;G-XOVFJPqA2uh^65V;&a=O?@X^-h0J>y#nBt8^t0l(rC z)C=4pB>8Sio`{-Jef2{s^(w%>M{qyNDvpeOKWGCj_Ml956@T6m#5e%!T zd6qNVYDjLrwRZ^r71<+X&7N;3)L^V4@dKyiM;pPb|2m|8iQyhj+(b5qRJ?mN?y4xv zcr&(N&A8P#<*IoK((lrdko<+dx-7o9uQqEN`0Nk z!_$?P-7(;v2XeMDOeDepf(Q!y_RarCpTq@oX5*@(?uo5=5GJL8UH?8r*~7r+b~Y- z!hDR6)^6;;+rmUDFMOfd(lq4x%9DoEMplWV)t{#2rZ^YLVW4#FBd_}s4MoRJPLcoT z^HRw*#}hkW#q?yST7bNkW?a-_*{_^EzH3J_ns6Zkd~1_OCN&v}rJ(Jvf4mc)8Wns7 z^*SyzT;rBaKN!~) zGo*`766G#^=AG%>eDm8-a2ls3SN2xySi$KXhVHCa+s=G0PF#M~HIJPv=`GT7FS}ZQ zW=QLG*;|u;VY9`aLdH3=o2ZN}ax3P@_WKo5?2mu@?|0y!xipFUR*Th-aT9$>LM$Du z+pj|P`aHgKty(Bg=YEZt)=GY((5#k}=aC?{dC?_Z`WrzuCMPUqi#@jO)YQp+|Jp~r zKWON1H*ikdK}jK-Gxp))lhp9J`qF8NT;b>PcuOel|6KaO#ZC80E`jt$$8B^SE9bTqpx)Z(-QSGU(DJXjAnRC5XDoyh7uwgilv;;?d zqjQy@KCpc9UFf8i{6T7yn)O#gm5#DPVq$PGvwTChAL2#-Q`>&=mXwZYTP0nSU#^(i zGsge$Hn^SAV&fb<$>lUE)mLPRj3O*HI} ze*SJlY^(f-!1K>Kuw65a3GZqxYjHT*ZI?zfVWd38#%!xA=bU`8hVN8|fn4P`V^5S9 zb9%3C;Ln_yE_U9(JPZ73=eKx|KKiUeg75Omw!0sgtz}cuFk@*$*}GF3c^%`si-s)5fEvRj;Sb!Ac#mvHzM7& zF==V(1`+9!?!g3U7~QauqZv5{W4ybc=dR~H|A2jVo!5CD*Ac(tdu-;#&%U8zb`Z@x z_&z$sR`FqNQ0%El7QI@-O8zNiRNH#LLAyIzXEG>3-=vB&Fbpv>`%MG zS{sc5_WyC*YN7KB+>Eb$6p8fHH55jO={7Wdvm0H^}W5?2ceZm+?Z94uPP zt2AOFxUe{KX7*#IOHk{5fX08mz>U4i$3DMx8)pmd)xJ0CeZgAnPQ&lnHBG!`H^Kh# zM7Ll~M8jz4ty^o*U3c=ow)105zuyOx%dhcI$H`^k{$VCcwO_87fUXZV7wzwP@>}lZ z{mw}Xu2g-h$ZNhPHV$_QLfi*x5dW=s-{KOW%3-tY{qi~AuR35*t#f1Qec(_2fb@Ln zjANxJM5J!As_4%n{Fg}L?`h?%^6~Y}H({zcg^j9&o6w#~D{r&d+2vhxEoWcb0}-$2 zPtIQ<&HCA-Htk%*wc}2fkEvGk^5XWu8c$~=?9T0i_#`q8X)P)T4l*eU%O zJ-dFO5-Z9<1k$=h*N?uT3yzIdbmZL0Zqo2N>kGPb7Hva&gv5kwERRdgFOgLESOLfd zUf00+XV!M;P(ERH8ZHspnNDg@e`N%+8RF_Ukkc<3`aJTwMG0V#t~xRTx5UFGG(o zBJxM83gzp2QO6^#=}bQ_&zGKD?7spJ2wo;zmK~7V;gdo%{^+p|-rqPeSFP_qhrk}~ zL=7Cim zs*pK%YBk8<-%!gx+u(t>>e38btT9{$>_MA9 z}RP2 zm=~>N$Ha%1Mf}>JcM1NQ8=l@tliKgO@rwPe6=3NPN7NyXM9YxV;T>Ma-!))X8POk9 zbWk&2Pm5$dGjDiAFl%A_>2wls%aM0Nm*Wlj4ZwgFblb)0d)%z;Zomf%@?#ppuB{b91ksaYQSmNgE7 z6ISDHjCgjtBSptDOh>&|-q~MAYPP$*b+&OfaEo4A@BYL`2&phuzQ*!jTTHs%vJR35 zp7b*w2Va?|dl@{jzY}pepKxpBG5R2Y$F6k|Mr_Ra>w4Br7!Ol{$MgTRgKTkwIaH-f zTw+>dyPnwMEA86!fszmJM|(-uUZ`&l9a|jjg^ckapIrW1ZeN22r8+Ey9MY`ZeNm!0 zV;!%IHy1K7p`{K%;Y)+cB`IwuTUxd1Hdl~V=llM(E5y3v9E-_A zK0doK3&-z>rQF(+UC^9B>B1fp74GL*rU-m*t`oR{G@4fApBxF3c{anfJ$*B+GSWx~ zW|P)W-dR`2SISCW<3`_5R#u9_d4U`BZEU*gq8N5;>;A6h+V8TTVO1D501M|)^Q}32 zUU>$~pb+5f{|D+(>jBS5F5Em9zU{$5r0V#<2LIBRRDoM?Z%)t$J%FoI>u&TqhLL=M zN?|%l&(9tV>|JiT`kd-60JAd8snYwC?reF&Ia?` zsXw;rtggo-sL$i(KHIbX?Y&}>1<3GgV}q(aAZzA0id0vJZ(R)a{@|~YeYum7XRtL| zFDCtS%)<31&A8dbdu<`Y5f=9JGMKmR8F_1krXBS1J^C(J(m3&l4@uFIIhH za6D_)Mx-DD$%qy@TRk64g}Th^!iKb`OnlPcUBomVSIFk`?Xbe@u8UVmn3M9q zZh<0k2cbeeb9);(JnxshH$QY8uHD{?l-6Nu66aaf&%PNnvOJG zX-*X*J|a(JWN7;pzF7DCOQ1fYcT_dt;>MxV8YmOTD~ec)Q`D<()mx>c-{da)rg%n5WxU*N6bUZky-GIl{nTm%n9RCVi&yndjaTEX}Gmztmji3hha^K`krNK3rP}?`#evR)QX}kDJedE zqu8vT>m=So=Mzl>HjjF3&+EUxSk;jvz`|mVw<5-Equ;_*2pc!=b-0tLbX^Q<8B&lQg@DiK>+W9)awhb8ScJ5zPrsrP1oUKo?2g#->(D}kiRdS)IctLiJ#~O{@h)PCE@FPP+cD1x@Gx^TMr!kiidTo55H~802e_ znRbE0N!io`nc}|n2Wh6;o*u?=I=*3jbJ>tfCog^jgC#gnNiu-rd3L|Vq)Q~_8tC^z z(th7u_>POPmQi)mQ+7<0q)*3AZ|69Pi}cZ+ZH6YK=rX`^YTAcWCRz@dUZ2w%0$azjmMjE5U{KY}PUK z?~+r-ZT%N_#`h-CM6_C&=Fef=jT!o|_mbubGHXU9nj05Ej|R+T{s@q!Ge?ssUyfpG z;S{Ya5|`i0!A7MckrmY|;8yX39F*PBkfrQPujrJ)qt5l^)v)*m$;@m$T86X9aP}jR zcGt#e!p(QTJPlf1JctO}q1ScViX<7Q&C&Yly~w0ESJ(QNS(!#8)=kNX50~ZVGA?DV zuC1eKJjL01KXd639XA8D24`HhKEGmxP6WZX6&szK%Rxfoy`&6y;V6hT^%r^u0nXN< zkJsEgE8w34-Ue6|$~k2mv~)38X+KHLO5B>6(li`pwd$9Acna>Hy6q`xpqJfw^e%OV z5KDr0X*5d+)H6>p=!j|<-Df3>xCzm-yv1O-4O|dvJd=wog}qvh2_JbdQOc8}U0}6Y zOUPU~3rS=h>8L;!iupzgIfLuK-Kg>pp%qn;lN)~J>Y&Xh&Zvq^po%>%k3kW%ic$!I zU1?1W9#r=_C423n5x?`viq|K)Vv~;ue__~Jl|A;bJcceP$FJ#C$6DVt80Sjmu1Eo7>CF$$u9T31i5cJUb_hH_u>+&W}A&z z{v*I%VzZTu76i~mG7~@j8k+j!RQt}`2`?nx{H%V`Oco}&YbAG$hKwm>)J%Wv=h5h{ zlC=wRS@|G+yh}j#T_Psy+ER-ctOWBFtPA@uyhBnC_$$6ig0(2~_wefUJ%dywb%)*; z948KQX@jGnXxzwb+$Y9&^^fcDIrv!p@&xi{nXaSl4Y4aMkTfVmQb=5^$b~uk+pMyQ zbz4}vf|;s!^ZTCy(I?#)D;u{)1oJiILyxm*_>ui1Zz$|Jq8qm1No`O1l`C&)voeLh5%j@sa{{q<}MxK8eQ%lJ?6Sg$KopP7m%Y?QiA** zlpJWIVqmuGl!*yF?`OX0iTWetu}qx(~^Ftuh@il}kRd#{a z$5f?$Qp77^$6aCV0in|2gca4qrcXtvL+oWoSS&ql)uyhL+FxKYw%GA@9r|Bv_>-(lb_%~t8#WHupDfk2Q zgV3PvV&9}JA3?oe74>n<26jycS!U6mG0P>ptStH9xvAT%&fY~YJSMnEa5|o6ddeEy z+u777ArKe046p7h@(Gzm| z)^E>ImxQ?aqQyIHp7j$$vj2ueP&gbOD*GGxafKu<+$Z`;oL?z-Add#b>6S#EKBhM! zD>oYe;r{f?f7!mgQX4^MnVV^gOf`Pp#3gY4%6VIWULTU=v~GqN!qQ%8Cp&NS7d;tH zw#W)ZJMMxenko{bYAY<)~<3-k_QWQygilEkED}W`<&b*Td{uw24-ufTn@Or3b_SmCka30ufnd@ zb~4IjZjstEwvOuP_X6rNOw;6UvkoU)s&+PCue}0~UbV_Ks^>psl#>$@K!XbaGC+D3 zF@GT0MMwI~RPeW9vP*iS%jC`pxqG0y+hG^L=}xEKN;N9@bw_gJi{YB+&#_SD`zI9= z5DMoY?+&_a{Xk!#%Clt32gJ*hvg(Gym9P&4+GIqrxm~R}U!r+mC0}2n#iv@{Jx|0G zy#sv&Llw29RWe7LprD_LvGA|FSd~?cr&$N&r^;gklDG{MuaxJUCIuhQwA>hEkGJ6S zd-vU<2OFTR@iI%$vWn{}B5=a(Eg0GEX7;W%4Kv_^UF+Q{otxUv9rjJ>N!0bh;H^i7 z*efAgF92QX)N%r*lxIxxmy390!WQGhBr+JK)t+&b!^-+*U85GT2Y~YRoT!YwZ&h|5`kiS41l^yXz<{@N>We^{t{nG znCZQ_)sMP+Im}=eA6^x3aFHM0>!l9>I76M7=el_7Q@?%8L3(m>qYQLE(ya9At1C3> za*QXAF-O15emFlrpL+R1#td_KAoFm|Sdf!b;0OLszrk9AV(wwcHwN7ijc*#-eq1+W zDLq~g{Zo@91g@bLKw~Sm7#QF+&X!IXZ@_7)9dZvVkiPzh%*D zXk>Nlcbl#Ju-lYAv%Yco9+se4dIuI~CDVWL*^fW;yvr-}TuQn5#CB zu;BGALyX;3IU7VPlPFI5hAbWaT9mwf*hTDgT&nmB{oyF9c4)pOKZVN6c|DQ(oO@VP zu;&eDT1cnYE``L?FPWz$j4v}9%a6u;TR+zvndm4p9a$5v?=w_uw#Dag?QM9>iO9(h zPKtVJ;Q~Bs*jxSg>s)0!c=~0zx)RA9UfTYZ>t9@)T8aB6k}93=2KzQzU}Qr^$=K2K z%9eb0$4x@rGYHqM4SLIREy=yj{vU_%e@^2b6Ku+hu0&~Y?yx8G$I)MC<)=5@?C5Af z8`I(Zoei2s3-bEqMVZrEpMMv0r6OOM-<9atD;Z%vfEQ@nUyW;)NJw%}v%H@sLxI^( za*;py%tke@_0gtStu}xzg#sWPr)8&YP?KcvV^RV-4q+FGasQJug{c9_*QWmJ~Ujcmm_o{ zCB9$WMT?y_iC0h@)=1LT80?SzTKoK4DADaJEgOyTEfrh&cOUOnh#d0KrwQZQY2SPv zlovNW+Fg<!rnAq^-<7e6((6M$FOQP2Xvw$3}^KF^SFlf(fQ4YniEdFhgJr4Ib zU#pA_6&aTgnV&8!yN0-_(N7lF-b{aM??3m4d%gKXss~c2@Z5Azb`mMui@sPqP3Q8r zLe$V)5pk4TBfdBKYqQ<1@3{tyX+lfCAt-JuK{{$&fcU|E-e(8y9Zl(R&~+EoikqXD zc)Z9W+(|7(BtX_X5{JFN;0A(#r|9>jjm7`R_K}WV1?th|oITCwip{N}qq(^g?~q%s z=3?z!mDCoqfFS!e=-+$DpektNr zd6D^e#qF(;^816(ADKZG8BF@_z8hu7G340iF1bQ!oq@X_Et>Dm+Ca_>@o zhV<4C%U$*wpeR{@E-gJ4p2y6O*M#&i68P#`GGy`3+MbQjqO}k_NJj1Lq?USa1!+KU zReY=zr5D}V;sHms<|MYCT>y^3B#QfD=W?YSm?!m)A)04s`_El_n=+_E2Gn7MW~N5M zm|R5k)*bCbLf(#xLv+Dz$l;J;6ykV;u|jnC_o)}#%<9HH3)DyjAl&p^nv|hX@4S1H9mgY9WkHkmNhcCV(M~dM?>cy8W{YlK zhwU2Z7m!XDOi z_SdTFLQc}vervj8%<4>2{Zla}b9yhtAUYsb!e(#Q&F(}W5)4_W}Uj?*&{%iS$Q?`Z>^4(rGy5BEH99DzIKE{9X{_TK2Jx2!~=z_H7 zDF%Z&iRVXE=grVa#S$qOM&L5efv_rBfbeV$^pl)oH1m=Td2_5I{RO(6-Y3`Y)+82W zz-8VPt*JK{)=~%MhZ+@`nC^6)O!;7*j@M0zv>xNJ0(1GtnA_32g+6sYNcXzRvxlpq z0<~NA+uIK1P@JqT&Iw15K1({+Z}iA=;*EOxu}Jho1?&QNKEs;j0nRe=7O0)9F#{?i z^9d;rvPTJ`E1lh<{2Ymi- zhe2;C8aEu(EOIgp3MVu{7Zz%_$ckX@J6n|}sNzt#OW9@hr!AOr7Ea=_T<<&Jrj0yPB#udvAu~Wn-f#e_R&Li|5szyJoAASL^JB*(_-1 zsEKJ;W1664+A+Y>gnESE2Mi53Yt(a5}r&1QgYbWX&&$IO-nAbz=A&ZOsaB zd*lrwvP!w?5bQ&Efw=C{+#B3^OCL1VO^&(Kw&*5nvXD(~f*dH6{_L>T9`U0l>m3g} z4#(jbSxl%<$i$68*#kFv-@%S%J0eS^IvVve=r8kP0p;-W>slP z4SQU}tq7^!uJ`v^3~+T zmI${_^PfEY)1L3W_5L^?cYKqP5$9S?(K-&%zuuJ%yknHHlz8AKS;Uje_tD{4N#R!y z#ves<0M*#nd9%?#5>+n&PbEP!S&s?W#$xsxKE}Tm9 zx#eD6&IciKe56hQxzAeCZgSTjHqHCOiMH{j`!uDgCUTY;tK(b?CkK z{X7?KPuR3;o;BETFgY)$stLbHdL>&^`8~9IFUrciLHsE~>ZCA6pMLp=8e{Vtcn^4#)KR`ohLlkl{3nSr_)Ycu|Ws^HLbH%IqAbC(XDO-(N^9hnqF`2 zm>CD;wb(gZKH^ft%AVf=^G2KBx030SXoibT6z`m?C9QC;fyisuuTInl z;f)OS60-KvV|=VE&0V~oUwFBDDdh?7zHfY8?ozhrh*O-FhW0@YgFSml zWMAQMiMbx3QtWQhKu_Q;w`c44zdb)R9sqKj@j7XyaZ-*zCv@b1=?8nYTt9iT%GB_l z(cE+y!|vXf9v}0_Ehs%rLY4=;)*MvNzPSzZ1ikCd@H&VQ0*iVA^_ra3a9PV(Q+ABhW z$dBzmdu6zP4YPRKC4}qAjv%-mR!3db`OsDGKHTzw_{o)csiyzF#y62=U%r(LHVnwh z&(AI9Hnxs^yTu;ja<#8*kk)rxp9a5@Ka0fjf4bKp>*V@#NxVBbDRMPY_w!Rl;{@|rEb9Q0Ng{6_x zMB>74w9Z|1m(YH*?$uGUdU~Mp0xmJZAyW9A_vDqIsP}5;tB|Fbmo6=HWLjPoTHmEL zGAbzs#_yfk-P5i1C9E0qNJM)#NRRR%Cn;Bm`q751p-x%6$JQ;~%JQWnRHR|abRtR7 zZTYH_A~U=QXvWdCJve7MfJ%mx)9{~WPHcIAq;>wiYtLsNXcT-{%vL{}@B zDZT2{EnZ#Nr|^Oy18Kih|38?b*Y)tz$xR|TT$<`|K3qb|RwuF*V!R~9=D8-vgOTGCRZYPw;iEj>zN)Mn5=moGevQfZ%yX3#oc*g4tortQ zzBE)1J#;bnTj@}*&%cGDlI8f29`}gj6L)2K)5|h7@xJ$(AA74b%wZlWGCI581+<%1 zx8G!>(-$SoQn6Id={`D+d1lSuA5XPReSlC2zoqpmR{<$BICw_3Gs&MHVq?)PrB=3U z8yk($T^;)&SG=k!nTrwFgx0y&^tc+pSMoXD`dY?r+wwfih>FlwvQrPaDp`cF-;%v_-}zy3)R3tlNgn-vaNl8)ru*E7YZVdt zdYP}f{D_D#prqkQ`A@aDo-x_ zv7S3Hz9%$eTzL4y!-_Xy&;ANW2BfE!sSiF#@C*B5PGdVp{ZXWlK21@L4X?Aul`Z}TT1dJED&sye$@8*Uzmm^aOQpnaDlA}@NdB~R|` zP$+-mk-&sI^)@P>GqBY*9N`Qv6_PB|UkM-QZ+ND~)!yrIX2aeYO%w6)jnC`aUp!Vb zWK)x~vqt0?5dZ%!hrgFsRn?{{3{rb<2~?kUYx z$T!-UI=^nc1WUk`D~N&Hn|AT?VMwqh(MheL{l)R8h&s)_)!aKZHkq!5)ECRn|8b34zhBIma7k34k8cYm;ibGmslfGCl0vqayeRDtpI5HNp-1C zqH+Rb#=->dVOwQwf0xk7M$ev@#=Xa#|EG3mwochV=_7vV$DHt~M($a6I(3~PV_&oy4fCau&j~@1>Ye9O%UOyD22golK(sub&wrwjAPi*`)^S$8E zKJIZ%eyyMZr!Lj4bEGI;nt)j~r_o5P`x__A%Iz)QgxOy3?)I02)!Jm&C()7 zaNya3SK{2FvM9=abF&6)Gp3bpG0DnZclvQpdP199d>pxdai_+v(BNb}Su@6UmD%fn zIH-XC+^FO(N~Z*S_sUW#Y%D*4yXVI2yDq-3(3X}9QAgt9(*LXjty9I%J)0p)2mr7ae7v69?vhx+iR) zEQVF274|q+xvF|&>}?1Se3OX5&ZAUK`*=ZjwyhuTj&pg3q@%f+mJ(ZV$jMOtElcEu zmzvfW|5u~5xk_e*XT9v5>{zp3PXGmD^d-ALRW_cyZ;kDIle^jQp=F`4LcJ8farfOg zzGn4{@>mT9&U~!*43n#zb?}{^rK(tBmcW@m#wDzEKjzVR0DO9;Tqu=uN6KBLtABW( zy$I0UZC17*wT5~-fDZ}(pVgCjxRxS`%*J|-n0F+o=yJm zUMLFsy!MT{C90JS<`faNw&PpsGQ7MfWI39xEmZS6?1aVZwMo`GMC)yFZPm)H(VoL( zx-Lv2K$C{$EmaeM!4H{nPc5bkPdu>rAIkJrcJC(KAm^TwvlF`ibvqMa&6_7rvHZSt z5O&1nLE{X~v37En$@$hNK(yBx&xBpZUdwuVU8^^BI;{SG7hxU?Jkfr%5F+u*>KNaH zyTDWj243r1_53tp$M#D9MFl!AgHHa(r7V0S8QHwf1M-&K3<^7m;*y=MlFcym`hJ>^kA!kt1Sa%hS@ zGR1puqhdWSGyaEN$VJO^v!BPk`}dX1%yL#%S9_vZq%*_K8ffhKxVeQ&Qsd)~;ttW1 z@$vEE!H3Dxe0&3pFmN%b(bSChLEPM&e$@qLkb=Jp{&g0yUww4sDoqC?zMCe|(Qd#z zwLnKb{r%M#4IP~))6>%pi?Fq;{0)dM^a+x*B!#>UL)Gbmwb zy1AQT6wA)H26s0%V=vBeeM?I};}a65CD3?MOCggLsq^fEy88Z0{wfBAU|K;sK4Z_p zY~X3CP`kq^6YJRQEDsb4jm^rsq^0qviO|&43(#ZY(bLvLb^az#_JCn-}(81QiLaUo`_IWe8@`Tm*l>oHu!Fm?v4D5;OZpv zzIbBGkiM;4wA4=B2x}bBD%GN*=GEIVx<3mQBGf@P=LoG==5H_a6c*kH*HCdJ4}>vo+JX#KZ@q zp`GH8-{LMt4bHFg^7A8UDOy$9uu~MsGi*C>!0@;DiGRcX4K$re8A)u$z`!6R=a&_5 zewv2=6rGyNxXb{85h|RhPnj@?Z4d<2Dyhc{Hj9Mjk!2~$W^ z$^G=Lp=|jB66|+c#Jm(Ozi*bGmp9|-NbULx=DN_}l3&VHOF_IUF737%@07~-6?Hk0 zb_o2Z^F)H{Vy!!zHO#d=D$>(R<5m}vUE?kL8iu9t#|XJ%0U?ym<+@qut%u zG#9?gkq2>owA5PUdudSF1HUtw2fA;^aKn$Ifk!K}c2B-YKXWq&sTgGTd7L{V2XC`kZ*`e!#SBSRG2f$UMfa_Jv~XcxDi6NDh^yak01 zA!i%;!4-(Xt|*o&{O5Irb5hgYYMKLFh=xqtpEfA{Hi6mrjKn@hxynG#s!hBJqG&s; zv>df(7peKv*7x*UbHL&HAA)`Wxs!lY1?3bCsu6YxpMyhZi8S!6qydU-pngcr#Y&u- zZH9mm+!n&^yYmT15MPI_bl+K~MdDfd0*8BN>5CZ4(lRWZv!bpA1pw~8XI zx3AB_*?9yX@}J%3E$_pWUg;kVLw;S;;BRM_cbk)9sHIh@9-EeR{^b>k}6a`{*BwmbAxC2D3g^%RF- zPi&i`xX?>udq(CPtak_?EEiV1Ldg%-R*Vh*y2t?V!IMN|^bzec9UP0T*$6%~JIO+c zG!6Nkrxdre7!0OMn%T7Lwi(sas67V}p0a6CquRrrU!b|?0_;jaXZzvr94TGbaNE;W zoeVljq@LYrhi_i(Q6v$?VR+zNS{oSsCIY`c%)ac1m3KBK4I4w<+q?WaT7TJo@h?{t zHcJQ~gijpUO2VsjD`2ELA6sf3gq>47UK)+6moO9v@#b08s8?_ZI{K`lX=ELxKRf+P zF2>usANl=F*iuJ?d5X=G5#J1F>*f~^;*I8#ZA7yG#Q5{R4Cm(!y{kP6_*Y2eIA%*$ z>A|_^q$V$2JZzhZKQ1cxX8VD$^^#M!#T7jOvkK(?{wv5N#zzJ<)paqG-Nc)?rS0ZX{dFozYRudq;AGT^fOa{yLUKM;>+N~hKe=4xY*K%zR> zvbmu3G`OpWAr-mL&UktNh8YHIbKK=JFg7sv}YtKy0wD_bqH2k^6x3Pp!wAs_7E3A2ZM!s^-&p*43TrPM7XAJzm}-yIl8 zEG*=1|8dIOmIXNkOa{|GG<|VFjX4h$iO4cdR8hL2Q=+o=<+uqEL%hjJ+I%JXvn3 z`T{W4D+xn?g!UD&z|OWkf6!HU8$H_c^tO;XX;Ph>1PfFG&>5oKMk~=JR2x{4lEw^# zh(#!=Qb_r?FTUych+roTWuwL{D;x8AUSYl#MFudY>9kaZyf`91Y@f#Z3Cejrb_8`k zR-iKI`NT%ayRZ;>l0z%j{=)M?KVr_0%7hM+!ahZf`h!7;ARMk)-DtQpvGrYKT<@Ow zBaiJHst2-=Um8aykN%gnXay4eK#%#XL&omsDwATau?N5URLruSzrU3n)8L=q+z8*L*Cd!LTYm5#-!G2L>nrLsF?he=^kKRBThAj5d23f8;tNB; zx2a5>m0u#eh+XH6Zx+fmgOdgsJQl+rm8Rf{N$=9B=@|(9D7M<0U`o_+4=p-PT8G*2 zYxz~%0XGPjvFX`Y1H=KOt83B^_!VwEcXsA|p60Yj`wVg;;!YHviT@fL5S~NjWN^xj z7Fd*$V9fmENr;TM}dR>I}uEt)C6+yHJz-QcA}ttbIW3~k!#0;P6X?b1-~t|O>~QX7X~3Z5$1B# zwbu3;{mR64mzv1xy86k4hd_QoW)uMXt_8w zWNeYy34HO>+6H(3OBUlQd!L<9iXCrk zQTj)vPpGb>7VjJ>cw|m<2>ow!7J;#cTw)=FTaMhm6j+fiv<=(WPtj-(;p#;q(2If|1SLp2Vs=E&xk@vc4Ej3*JfpPk{@(hsIIj~BTx|xXO7H7 znqx)ujTOPb3VbG#5OL?^-okc+Bel;^QgZI^Njt28V^qy`=pXN)5TE5keKLTV?0zZQ z17UddLI6UCAfmbal!w429LqvRSQa7eDJF?+TIQ3@)fDvJSMXB%b(e}V$2&`imqwY= zW<7jip|uD#-Wsps(DE_xgA?&g&bS%eG^RGbH|wp6+ga&W)t(?Hv) z+_Nu%D}}A>(w{Eax6Hb5K3~$`ZDt3=A<78O%tl?()sdK&zKBkjwDD_z!@EX*#eJ|s zzSO>mR>DYk+I4zK--SrgK5@g@DIjwsAEXs%CL(YM*uLn;97HsTWzP1WL>^DdgNebd zflwFu@H*LTu3JPPPR?ORyv&1u!rmr`MIfa@+*YSMx2^*MkZn0H;ofLn#|*k1hTr2e z$kN4)e>s~L#ob$-9LV;%Y*oVo0i4TkI+@^;IbSA0X9#&+h@{c4<<8}=23guZ1g~Z` z-)2w!OI}0lAJWV?X4w6*3kIL-4*GFPH5Z?x<#qVhXi*wsBhdhy({TB3$M*mz$WZZYg);EMTE71_ z3WKM47Xd{5!3VPt?v(%ZyFn5*QOU54opVkE&s}%UAHFd^Bm@B{azzctY^}d8yW&kN z5V!y_>%x463jEnX{=sA?N-i%^UH5ioo$p4XeJ=V;XSIiunV6Qh7>L)%c>ryDx4$rq zz(k0rl`>C`Oa>!eT=-T7s}@RVk{NTmSOUQeSnd##}Ig*!Hc3o5o*-{bUoL+Qqdemn>Hef1tSHDZt3 zxktX4h~m?V5Vh@vIl9xZ|KoqQd7*_4QhO*KhA{Li>{9q-#^RKjL zaD+Eo*41=62>oJ`58^vo9s9`V<8WKv)i{5?9x5)YhaH>WyHw<)d`x1>RWgOUw&&lL z-1d&uXp{VMB*Y4>2q*ZxKNo-ifI1Mf!IwiZX197tR~{V z%im=$BF)**I_*SK4Z8!ALED)zHnREA%FypJnXdN%5VH%HiAVkS*S^6F7x%u4$g`KH z>pz%~9($G#BE;i@ASv&Ga?SD``omerrUC-a7_UyIb=tqd#f`^XZUjW!{(VJgr(34`u14vB)Ca#{4tAEVvE%#;0AQvC?@TxNaX7gjZB`H zk2NWTqLRlwlM1S1HY;rZzQGHOmk-5)n6Ehho>qI%51cd>;2x~#dOF1@LwC|faqhQI z7DY|G33qb=T_Dbl%>}vV{2Y*eU0)d(sG{0&p9R^@CxTnz(em5n9r|d?-|Xi+F?Ich zWsX;|oRib21X*ha^1-WgX!=|I;?9l&lBgARGp_mvEkjqC+SXT0egIvB={ys+`u*gL zt?Pk4JCy+1<^Va9RwL)yX;i4F_q1mbTH8cUf=q`2!VKSXiNY`5DlwUYJ>BN+Z~T2} z|66+HbKrx6`e`6t3xZJcTITY)4Weo(#YCibKYi$`5v9ukAvsReRCefo8u{K&BOTyi zyG28m(FvI)%%GFzoc^%ib5erlEKoPv#7Jb#c<={s59s~-fsBCX>w=U)Q3(p4r&SIQ z(j%-8gl#pILFqjPT%}>QmWAmb#yxtw-X#1k2|@IxN~f^*O)B$Fd97~BPDKrLp`cia zMfD`r5*3K({g%lS8&gy;wwBxXl@%#||C5bCPa-kw+m0U8>*ovIG2kD#15`?NeN-cn zy_hBUVD(EKL}HZJ#k&kHD9@=!MGD74pT(P(INknFHdVm zZ*$nre#=X(bB~!y`-f3|mZxu7h_3TLBBFjOIf^~MJBzmn)UAGsZFiERTMQQOjFtXS z71y~VbE|7nhW=jqEnkY+16dZ{K@Zn85<8BJU#UM1#&palXnYpYT=*vbY{Z8@3@V_KRF(jUb6 z)YDF-GQvs#`T-4}&flAn`@oKijZ&gcucEK8Vf>8*C4Kf6T4AV(`=D!3EJxrR)r7yC z3>D+KK@ej&+AH&_3t;zex;`dZh#~D<$0ieqjH|gNx>XT`3&D}W$kPL@0^ubrTfJ4( zd$*BcP_ISJ5&(3_&uP)4S^5-(rgId@G~wV4!$ zu?x?BdW^B$GWUQLc0A%<3;3Zh01)A;%&*c9E;=Zo!IT4!`?`8*gA*K7MDO+T$>LUb zRU0JoNxpHbcba@TFMo>91_*&W>zi@ zljARCBp-p0V#=+~^qa8E)S?(t2t1;j$x*mz=5+b5L?Vj)vQ6n*jn%@JxkdYcL2=)Dq<{x!uMLAGqr7xIPCNmt^#C-MPQ+6 zX0GIFhx07HSN5)4=J2?6HUQz|?)gAe%|;i5%_GR+X#HyNDzm!@VEL;u;s^~r`Xz7% zIUd*U^{opbpr`M5THSPSJ zYtxllXz#KhoPUF7o{U+hngnHE$eCXWJK>t4Jn=RmVINIW@|t=w*8a9UwOTs%%fjCJ z<%QT`X8UjVjW7=g4uUzMg#tBR?ZNK6VG;r6en= z6r`S3CivJUC7+4YaC_9}IcY%et22CrJ9!k!v+iufkcu3_WpmeByCWO4rbo3N&Hw!* zoDYvdx_k80WJFfhRjK4Lh4oK5dDkoK@>Ul+Jbt?DMse``ycs;tJ6QuQGRquxLi1>I zFGwWuM)uSsa88Ts^K&$Cmy;s6eeHi%LG&_VfphkPtP-@_*M0MVp2_qa zOAhG!r?O<1S4KxbbJzE-wE8z7>X`$0Qka@=3|h%y`5GO8hhGiIFRz4)(BUX9uSMe9 zl9})TRI|LS9pnKdB;?Q$Y-T2a+Gqf&POP=l0Q=5mZqMfC(}}BtIdtCA(IV5P+BH^k_qsa3BRv@BBGE z{r$~>%*Kq?rd=d33A+PorNy9Gj&8`^m<1ZVp))lR(wj?`?S4~*h&(4uLHH-*kIo1Ys=m8*E4UOM>9 zEISuvF<;*11SGBGGeJ|&w^2p>LC?EmyW47-=_$4i%mWlDn}EU?WP%HCO}tK4lk%nj zgTwdYUJd)bFXCm+@_S8!S_1N`l3F(T+=<*FV>l-hxS@OP{kQgKHq#DM|Had(Y%}+%Z@5V{Onk5CvOY78W)hgH{WE1nnjdB(g3teSq}{XgkBG~ z-Kzn2t=eUc-#E%0I#JtFb6sh=+YYoMftg0-neQAr$wrW8a;!Z`$I#m<8DMFX2}hgu4rn|%?43puX-BaI}==E_XFv$bD>Z( z7WvZGYe6s*p2-xjqwoUYtWEMa=mLG~l%34OSbuF<>f#f)o+mxJfmO!S_yT?7lsy^9 zf0fHWAeh-{jf7<+_1G^RdaCI}Bf*yhZq;yK$7h)gHhonXBB@Qf3N!uZuv@5S@V)9U zA=M749T4|qYn4TAPCtRxOcWm*6aSEfW7^rS@&&7n?frdCfOmDdnCD+Qo(yL#C^M<$6HPbmbptjpGb;*64tlX5qrMvlaC^utY{#@YPorBR04+9K+L0GrG zb_H`<1}i#6 z*Gk4rL1I1!Mt>DY?4!*EAJN|)BqLI2A4I18BO~)VC7d2gxQ&*_K7vz1?k>*C=-h<> zFRz67bI7v-BWaReTvh1_@E;-mg}MokG9)w2Yr>*SA;oJb-TO}AIuh! z$dohI@9eTP^%-LE`2*KR`wBkW@*A9^T3BU0LaaHem_gS3Xn#nH1rxrwnhd<8kwNW9 zM(FhK4i`*H%$~Zzcm5ql*!cT+Yl4|klJnNwvv#6p z%(G9!62-LS37e>IN>JZm{HsJ=^IjMsfMm{83$UKQ9ZbK6?{#9{mzTst{ z6S#M>IQ#$Dd(Wt*)-GIBMU0Ao4UrlZ0qN3v5D^e*3P>*kBArmAlLSOTq)JD+^xk_3 zMS4|w?}Q#&0wjUl<+u0e-sg-n?)iD{8279niv_${EZ(-BIp;HAfh zbZ}l8=Z&(MKQ0DajaNmxQR93#7P!6el=#Yh;j>#N_G>*=?vKUk{l?jGgU9jJ_X#}u zBs?GZn+N7~9`nJkxshl~1yNbO^3Gb|IFwd(yFCusz15ycSuHr;1zVHb;r9q1Y9TB? zOkqMjJ-roTc^~Q9Xq;?38jf$#_3mq~nKyE~b@%Sh?GPE88}y`lEs$zs<%=GNkPht^q*H+Js>24t_`kNhMrJ#CaUwWrW~3Q^6TXy!dgQH>Q}qfKHs zB0VFe{s8`@PkGEZ?OTyvG8)uzkjg{&h>zvZw=5RiYNI<`fcE>les*wU)F&J87hGca z#J{HkN~S?Gqt(Yvo3S&$1dS;TvERC1&b}pWwvnkn1c(uhf0PEF|I7H(MulhVF}AW zDjK|un2vV;arX5~3GLhjdbts39SnY7*H)t^`0NmEr*+xIX) zQIF-q4I6BWxji0pBhu)^T0RYm!Z~qibP^;DOV+nPypn0SX>%X#jmFS*xFv;H*HEdB z-9Q-jJ$=k;4Fa7zx&&73e3iN|a9L0_>9y;ryY+3{p3PI+hR4(dP(E_cy<@JY{_uPc zba+A5c~#iDp2P>#bn7mi~AiQ~w27;SdwJ}NqTG1*{T@h&WuWQXMF zcpVvFPS9(X&mNmKCO9{mz-976&z3~<=&Fq+3L6f%VWVzx(jKKFHv)=y@8Uk`ZWXvH%Ghb@v{*^$7|-ree}*FAA`^x z5WJRs)ZyS4Gs7e-VDw!(v;J~6TGEx;12(I61DB3ukv@j>k#bZLp z@UPd4C+ZGL(Yu>gJ{|QwldC*K62$4h17#Hll#i+57Z*c6M?Aoia_=8j?PVdCCXdFI z?T6Lp+?Qw_SOL}!p9WQw--Y0)pU_6*`oSjjur~{w`A3`$_EbdR{Wabv#)zro$#JQQ z1Ir+Pl^-L6pA!SdR?KV`MT|@>KBKb==^X^)Cq5R8UsS!~VROHJy>G1P&(=zZLF~@N zxZPXan?MD`dM+ZGFsZ5@`xJSgM1_R9MGLnJp670mAYlwWSp~@?=Dw(!=&$9i@O3Hu zL{@O0K#!GtTw8?`cx;^dkq){`MIkb&R6ov^Jv#S!?F#W-28(tg$!hRe++Es5vrguF znP0SNX?Z1oyt$!z%cQyKWH+w9_o20>xb6Ve+lM`Fwv8h$WF@$@0W{WmPOe^AeAM=- zk;%KeWqAVfzxhW0A;bU`RfNk!XFDVh&5|E(JQ29_c5?4l{GqTtZAVk%CB0<^`#)fu zZUMY}sW@u`Ogxr98AF_E^{B7vhvRO3Uk~8Z21gl4GFO5q@q}K1+ua{btcnFazX+|> z)MU0)NFu(JrdNn4W^Rz#@TBa0^Ri^`jhxxeXqUR9_kwev^3~}*@#MpT!(7u($e4tYrUCFa+`(>154G*rZe;;Sf8EMdGEi{r79N|nl3Yw}mHyoSyU4JJ! zXmCGDG{>cXOOtLwrh-433njnVo9V<f4pk8| z%(uGbp-)12P<{T6_BFNfwig&5$^UY|_^D{yhkeowZA2a}NwdLYgi=Pbh6jN54Q)azk9hO8 zcb{Xvv$XyW3FlQB#bw7BF>IBIIW+JZ_@~k~%yNVt9qEAE-zeGOFsX1+-j~bQh8O26}>lV-P2mDj($5Y9F8H= ze>Fz};|?96A&N-N-W$vOwvxK<*U^yjH#sY{$UTwi9IF=inO!;jJRT=BFTeXm zm3qnyxzA|Ql&uHTgx!f4d1d*U*!L>91gGXKUPyl-xvLl_ygEGQU|KlhMW41YRh@4- zYqS%t*e$=q<;rn$3B*EKUoVwPfPb9)x-+lH zh*<1MZADA>iCXb2zw)oUXMiP->5*+aJ1~${i;7{nRdKR^rjfRQ2{qSS zPFV!f*b0)N#8xxW4NzxvU^jC%emZv?5+44DIj)OuPCFgqqf(PTmT7emgz(-Q2p#Su zS-HRb(t8ih<=Sbb7od?{l=etmCv)=ZO8q|A>eX0BX?l8fC-!SbCWGKow)qXKqKMX~ zr+{i<0q)7ZQ`uYXJxRj)+Ow!~wjCY~gX|ORf>K~Rg6f5Upn`|s>c*m5gJZJY3MGT% zvnAvXJHlH%SY!D`M7yCeD)>aRN0?RX6OLS5&~B@8(i>{7uvA`{-DjVF-~o1_*DS0k z%2RSz_TNHt$M{*)-Zp3Md28)+68W3#=wzAM=IhSbsn;<(`wyw)JQ0M~e`Wna*XxJ= z0-1v9Krwo6Sx@-3d1q2HpQwZ;8%f2h;6V1*2w8u^<^sHJw~tSe;^SHPlD$)5+rEU# zBWh70ZKl^>ssgwksL}}vVQpRCb zxQ95a2SPl1FUV=-qoO0<2tNE=_Ptr=a}^(=0|)Jt&5D+P@uKt@-%Yb}Hq{VS%^n-` zlJ^{ABK&Hs<|F3P+=`X$re9IgTjNNJpy8Pe3LOo&BP>_Jc|BUZPS;E!R7*U{pUw3_ z6=~tiyh;Pj{(ZfQg*gh!@j3g@IYzJ$T?zErsk}Y?F;$7aydc)*<=Af6x*Mx*#@;p=3Otjy)!cm!YebDK(Hv-mXTGt zv}aH^Wh!*%KqHTsk;g92K8*grxYn9fHyrE>4Lgu7boVl)1D2ScO9p5yYuxg958s%)hUaP1?@OR@F-Eg1X@ zstDCGe@(@JVN}Kxr0Ot3$hb0OK%}?TYpb=#uv(f@gwz=_PC`~Folgb7PJ6O;42a;W zj+l&HqBN=3Pekg%sO?Gmd3o?Fr6?+wR4LS;RIZp4WGgE^p?FE5P=r^#rn~6s7@9+? zpRa)T9T^vI8Jlw=PpWu@bnz7y&iEEdpg5qQum$1tZ2|_a8hj8W20OOQ7X3WHB7mK4lPa}5Z6+79Ew|;5H%wQo zSKbXzP`1(Cq;B_URG#(vhqh+p?CwlhY(U|p3`r3I9sAa?gqY2G9Z%B)8xo_dLhjr( z2cMCzxYz$|>cTBjpI?8U6+OG?1u7zGRp*~x%oVt^u7lwYiYHuC*;lOT7)XSglJV;P z2wFIBo2Bnpm=&wU{$VniksV7lZEdju)Tf6-LqnC+JQB;S^q=$tFxB5(=i0PN&t?!) zL#WtdOKxRpQh;QE*@ZvnDkI z;|B&h+io>G6Cvgux5D2YQ`sc`&kJm33AeUtgvg$2*IUQWEi!uVBC5*6)C)H zfP5^jv+;#L{T{~zftu<|mNk_pDuY><(Z$bX^M#~V8mf~Y~efC?vGvd z%G=szFOy8~6s3f9E^zm$d_7scnRi7*<3>q>-Ktrr?uPfneAN3U$zMZ5wv?QQ?~wDA zl|t6b-?cO}Vs`=p0#t2!U&3<9hHMAetWF(58Y(r#yE)D4AM(qZ{DSVxml+mrX>wb+b#)Q&jBSCAeVOqTfV(6jjgYzghezBb?)NP@h)aT2!)%rRi z-o(1EEVjyf8D&0{3KW~5QxW7<^SMR*?wztgip<5rX9xe`e;+VPjfRZi&IPGnnu^ko|q(eboX>QtBV@g zL8+$Io3RL!Q)Of$mR>odV^L_%RPvH_1PhRC(k*nOQsh23}kz?ujru^w0 zPgAwDgwLnN^h7bxvxr=_)e zF>Y^fW9dR_3^fh8MdK`g=|ym4WmzvTYXl#z%^gd9ju)FWvc-tWMas{EPUKK$jukz} zH!I|`RX-??vC_TObWSC@g77O&6<4JC0dy%UsbPz`$-~Aad9~w?HHV(iD%H0 zJ}8_?t5E-I2v%r4H>5jmLbsJjQc(jC@vY`?;O+Gi^ohR*``e5L4Lh##o}Z2E>)ibU zcISz|SuufqZG8GPUvc%<0%dAN=eRpSxn{)z@~4-{H|Q+NaIj&Jl(;Sr3NsCBTc4Jv zSAVxpv0m8ym7l+&-3PaMkj|-TgQK{1trIA0urgj^>bTHCikC#3)o;xWm>t=RJQ$%~Br zB+iPQG6_8uHgIkI_&ugzcTJL+qh)6Tl2jz@pQ&}3crW_OH3U%3UDV?+d%@FjunQSG z1jSIVZknNA#tGau*Y0y_JVF%Aoi5x3d2&PrzK=z|ku&{vX_(U95XL|qsVMMBj&&fO zcD{~k2+>%l2Z^-{7Y$ad&4queJ61Y8YTOSc5$nId@|bcMYOn1st!|vDv69sT=z+mV zEBNLNI5S?2<^aE02x_$<*FFp1pf0gq& zy=!*o>dBkTHk16$r8PCkdpUQ|8RbR{_*LOv&IV8j3^2Yz!fhtz)Y$-^=i1N4fT^6S z*td{x_#TG#G?$_=DP&&#QtpYbm>E>7W=k^}goq&d#nAKBDws)6P30rx$D1f?ucy&1Eb%Fx?xN!rY->qWtL(Z=w@@l?|i6x9iXJqx^x^gb$KuDkn14-h-f z%g*lHdagXpUC=G@TAmyn0~vD$$I_ zq|{o8iL{cp>bZ&vc3+$*QFrwM%xnL!CMpg>i?eQP!b%BtHEIqZ+z zl#_y9qZAU`nOD*uJ`ct*%Z>2xeb-NC`NmCEW7#hG*?AF;t=`t6;2U~*@7A*8=G+fa zSc*2Hrr;T^bMImL#V+;ar$zhM9f#=l$FNhmy{bT}%ClAix?oH)R4%Pua$|Edqom{~ z;XYyU$lLRWNeQdxWhd2A$1sx>p83lNXice0?rU4luQMPw2x7M?+<)c6sW)OH zeEUVWT3E1y8DRVyUT)Z3Q(YKDd~;tJ#n0s2ZWOJjm~IFY-l~Z&*z_fSq{j*cE1MGY zzSIi@ynR@(ZBD@Q{*P9AFYyK%s zdr)-2+-D*{>w6&>fux`a&#g}Q<`uVrFV<#nBhraBy+b7pFh8~3&zkC)BOa_yjdvD= z<`VtxauDd^CvUGhNNgooY$E^lXxjvmdX)l*RnkCjuQsD>XQJDewEPa*IO4p47qj); zDM=&6e=!&Z=JhbjT>F#^oAAJYF|itgwjdLwTGmO=0sHXALCa_tjv>3wVSz~iQyDh| z(C4sLX_P-qa^B~EWRPlCYi9VuAHgO3i9XB?CS118R<}JZl+&pkl~EZx!uM8+b8Fn< zR>gctfd2IzouO813cK_9+yBZU*+pD;k}U}O8-m#)nV6Vv20S~&xhUL2NB{s#adf}A zc?f`Co3}ktn^lNoX#jrZZr#r5Q;5oTyu2@-J=e^OT$afnAzDN=BmzG8Bt&xs?Y4S) zN5(`>Wyfv&Foo8$^p^u)^JetFS=KC_FKd<-sEMP5JnFr8XLcOlTaot^NLr z8o0k)Te0Nn zJ0~TKIidWl-+mV&URlj##C@H8QP)3P=6Yu`|BgqTW7N-Y6;4{Lw96Jo86)?y8s`uR zcfSJEb-pyyLrwYRL5mCk);)g>|MoD)=pylw`|1|5hX=paB71CxeuJGegK`q?U)cb4 zy-*GVQo86F^CIIy9(466mC_$3=HfBy@21ECC9AS;xyfP-thh=VistX2>3YTov_}279*iCV5&< zw{>XvCbG8d=Po8{&m%9Rd9MnDTP|Cn$fKk{RcCvx04!_Ad}Oy(y1Mws-{`AH#&-I^ z0vbvl8m z@+t)_=V7bRWOag6iU{L0JUgpJgv4tp%*5I1U`E$M3oIA)p4$9HmLu7Q-&`y-;#1}W znqlqS+WMf1V<4m0QQv{^24H||=ED_32Ojw$il^Dko-^_*s? z(JBa@oj0$AjBtX6qrW|`-TGC{vys$#Bipy}KkzGCcswm3P>j_-O1POh+X<2)^s4Nw zlKWM{#`pbD-W6WJ`8#Htt5f7|Xbp+L+f%NHMAgD|y2R6eqb~OUqOLo)uh zbW(4w(I>{@VdqrlK0>~`5Zk2|}t!++Q9XXOd zePUG`vH3F%cB`rk{W`pNU2vn~mT5(9{YAvp`lWBP9q8FY$BCI&>_@|p#h=+)+64}8 zkHZJeUm9zH*6M+g$M=dS znwMT=AcffRRCS2dxdY^o8?#AvXM{+agB&GQ-P}lZ&g-@*d>zNzin3{|lnB!qtt5`* z?Bw~X4!>o+6)x71q9@mG)iBOkUK^!ad0=2x1Mt{WsvBAf*L#PIZbdb8d&Yvf%Vj!D z1~~S`KO-NE`O=5I^b9lVcL?^n?l`D^vr5rgCweco3jkVq`b+ZmL3|@Ttjw=W+au)x zz|Gyz9x7+O-v>Ppu2D^hb7XZ~3f+(#HZ!N>+GuJ`g*&}{a<=jkc?#1zeS#DZP;OYg zWvM>OjgTkW@hyR*2W*j|vO#tyODkZ_RY!a+lB*FF5 zB<3n#1UVw~HL5EcC;eIRJ65&=Kv)8IEVcEN1q_zTe{u56SnZV{qJj6KG@!v%)TItq zC``~qkN^m);)hAxuZWuuRbf{f%tTjBjgf|{c`u1iLi(YCGUch}0mf_NlRx~bk9A^KLnA<)Tz)nblF7>07sRb6YYDkf`BF4psSqs6jR3S&pdQo*xXZO>hI4}wX2xlVzs$;hJZ z{|knid&jF?^gYAs+HK5n=TYVV3Pbe}uG^EFw0~~9TCspI8RCfTh%aiU^8ii%dr`P0 zdMpe}Bqt_TNPGzszcH8X%lH^uhhF5+!S8@~okh&yw+}K1<1X1nAG|^u63wEERJitB z7jgAz<9? zwiv&qzlM3%^Ma&6cK>_S4>GG8RYDc{!nwdL8;IU2b`V>P1jaX=gE4fyVlqL4t^avx zLw0s6Knv59V`oy!hQ(H82&jK?Qp=Y!nrA$=9M8&YY@D@XEp??P-_g*~v8;_?y7}9e zWkoiWk$bPt%GSP6Ec~6|Me}c8xT@-vFa=r=>6x!@6FHb1`Z8;s0Z7HXiHqJ8YvS;W zQiKT%Jz%|Lo&IznB0gj$p9DvpZ7}Tc8&kz>z}l?T%O;<3OIV}mmkUho{$c0OJ|>=P zovU+IJtLr`dVW`)%Ol|fypS}OIcibK?12r;zr8-S>`peS*#~JAj_&m;nRHielJkCk zlc-5S^@k33KQn0j&8b>XrL7T~xF?Ti2NF{Uut^PNgYV8h@U>w8B9AKWkd;*|VkL$sJPY;Gdc+A(|tkKLQ#5pe*mf zk*_I^d0~~dK3UYX@%hcI3L5kG48=6@+0@87NtRQ=8=~3PHN$ifli%MfXd2Lyh=a!e zSFWx9!Yf88IA@*9c6hC}h9=Hb)6+{q^tXR&q%Gwg$c>g;nj8r@s|px#0J@qO(YNWC zvq}c_Fld4k;KNtl%d5t!<=ke;h_X%_zRxBib&=L1T`Gtg(}!< zQ3}q+e#^3H8$~(7$>f+9*-_&Y6DP~U!w_?${OMkS^}N@1yar6HE}Dw2&V}i@p&!I{ zIxgiF7|s{(U$u%rloe?;YMhZk@2c%M#Nj?$4OIkq46S5ii92tQBP^*dSG?9E3){4E z511=FizT!Wbjy1_@I1`k#EX~&H6+M-7eADSt;;2(N!xn=2U?xBQmJVr82^S=_0C)W zGDzt55#BTC*#-^-VF|o~Ml7mQOA2VaJI4XJZ0w706O5CB*CpPw5T`n4NTbt-SW{)Mh^sgtz9UbKY`9BBvXz1zHVV5-bQkPX&TtZJfm9qF7GHsajH0eP3G`BMeQv{g3*@kU z)+O963bj}cMHp`lfUP)S8JevhC9a7KVRGK(SsLC_h;d(08kQvL*N|4+&JlLgs{!ff z0FEtZ6^hNdBMi=NMeWo|oyqxSWL8sAwxCF+#OkkSX%p{tZNHzLbfxMpS&u(6Xn$dV z%wJ~srIWvx|ikV2I7Jq_SyI zwkYH`%NVu!HW>$|jWW9K`d()bJBIg&R4r!%=R}GJGC0aEg}~lqiy$ydINR*(llwc0*q-vb31nmVm!SEDAz>%BU|T%?-d4!d5@5;m)0SNMXtlc zv;~x}l9A=FzVWQX8AZpK+1d4rfRMkD76fAFd^w=GyQ@1)vkfQTo)^@5O>kKuBc!CL zu4Ut5i%h3^>N}8w`Z3r1{b4zxhI1<`iT`)aF8BzVX@ypDQrH;p(j%NaX1xa28#8|G ze&sCE(<4ZE*kNw!HFw>JUH=X1_69+#p;E^OhdP7Rr9hl{?1}4a@$2fe4x^gCWCQA5 z&YF{ywwPqkg!UAN57P?e#`CUF00Jf{4%!*NjOe0HXIAz<;m$Ln(NPC!&XvhjCnIlM z9q-T6;L8Vc+gYPFj^K{@Ik2+;lcPCCx^QSzRRVo>>D^4gp>9&5uN4{Cbe?77DraHf zT~@$(6`(sk^32+2y~J1Fb%e_9y!rP_Vio;4l6T>v@^;USjZ;@rvL4#SjFxf+GR50) zL^gJRPEd!x*RG)uMQyeFBuy&$@3=F`IMbp9wcpi-X$>$M>78@+ z00NhPyvK3`@LmN$DDTv`qCx%E!^{%JldT&W$DZY4>`b(t8hH*1TO_X=l8Pkr#~XD| z$$nTyy~}$3qJ^S$gOpZrL@SzOh}KuI@Q5M|U2x`iGy;-t6fRL(r}h1)nwrJg(f%&! zLSoSaRne!Dp_m^(`Due`2i_1lu=OoQtvqnbYLNa%35+1TLNm*^p}YwnyrHG@lKUrB zPYLbXZd&)W#)#AdQ$hD%>0=8Isa)*(RJKfuX1k{ark1`qtPf?tzvk3>#SP=-D(2P~ z#18T}t8Obc6q1)1>P!|HnEui(8~v`t*8L*dv4Txl^5J<;eqJHe|8-XV z!3e)&8WH65A*vtzDCc92ZNkIDldR~hDeY`D=wBinRtGX6_wrCWwoQPBxy;#c_nNiyl(W)?nJwjH5Wb796u6H?O>O#vI-y!r=}eo?%l8B4*+yY#ghAbBZo;7B4_-Yad#T~#%7yHyb`c1+W&XmI%T>kVr{UrjQe z{7lvfYO`f~ZHMQP_7uO!%>W4}{bCV8#liT=gJH+HPHFfK;SFMyML4F6Swo27fwjL(3A>_eX<;@v1r1~i<>U^pDkM(Swr@2Us{l9P)|XND$8)s5muVFqi__LU}H&zrj{#pdTK-Ym}LxEZw693O>X3oE~D zY2>lFrx(4*{l2b>jGuHH_`(-qTf_&ybr^dTd=#P^MSN58{-3GDPMjCFchUV`uJyJD zNUeY2sGiO#E{ijn7=2L|&aBL9s-yYkFy@^iRH5?J;A@1H^JP$vqYX6grlfqqH7iU> zjIFU;Y4A|NDd>e$x}n3u6Zb;>B#Yun8h*?Ppx^QU!yLyqngA7SnUEJ&C}H>1^U-S_ z5ET_w#V(N^MFVmljrGHiPXH}~x6aP5_YV%X^~43ALXPK2@^qeWKW*$F(x2VH&U|3< zPHWy=ZUWhzA2a3-`ALGjfLv4Ha<^jY@9&?48AA&Po3QrZfuf0B{$ThcK*FG0bg={o zd~dyBEd1(9nbqX)!`K@P7r+(E^^zh)01XKxWn~&lpX6rN>?p_8UYex~Ye6Bu^(uf` z*SIT)IuA^40TVqb{PuevtrGZd)aF=G4}c(e%mEy>SsivJ3TE)BFV z&<=d5#jKUPq7C)ZY^P?+PMd0T9n*`rADrL}w+G$lzYpi7hrB3gWGWz~;Y&wr1fIQP zX4c-m)4!J_xRN#HIg;OTic`UC;C1>vb)v2D;>mOc{M;l*w%nbO=NtT8BONCAaS=6| zK#uhNZP_@rT(mpFKqG!5JnnFLuI0`==$|32t>;!U;Z^@~#h>=OqltON$byA>NORRP zkE?6<_K9YkRJ;dLH_PuMh}Gbr+yFQ8LSQC&AqlFOF%-{cr%zTZmP&Ai`Vg0A@PxG3_+@D5ao^;TL~P+-O!Ij6{l z@ua;$P<~@^@f#81e6ufB*y}=K>`@)MF(O_Vs*508G@hOZ`@~OIJGAafRNP*;eE;1S z`0h2YOXF=`@*(skHQCLVjm~X4Nr;MCiWxR~O%Uh+UYOMBFp!pQEsdxK)t@s0N%%Pw z>eraSuZl39k%_bv=v8g$OBj(6NE(|Z*M1zlkt~j>5e?J|w7VekmzFhhUOf@_aVg@@v~@>_|hsGy@eZtDj=*Ig@@myA?*)%}9k@ zQ->J(F1`TXoA^m+Vn~Oj10#vIf`;nHTZOMaSoyIjxQQH}VFu#Z-CfcfDlR?5hR19~ z7q_O3moATlCq@h&ux93(l~z3Y;y7wGU~?Y+CziHS(6ia}5M9s#!3;0!Chn*YRbX8M zaU6xJf<0Au&w^ReSo_-4=XSkSGze`gw&;>?UMJc}W<*WaRDU9UZixqcmtw=aRa}lE z%~AcN2USW!L28Kkee=WdHv!|$wwoCQW8CLRsl^b$u+ zNycKEeL?#Z=E*dgmk!hvzaGq6FMa@&i&%^hrxg-j$Ak8KbIUR+KLQ>3F3escwwljh zpSOMAq}7zr8%)vMAl=WkgZez(hq)Av`U^(a2qbo`lKIruzC=II zIG$a~_Y@A=hdxX<^x7nky|tO(3!m;Y2A&;@%)f0WHYeDNiga)FmIqZvY6s&Z0OxNG z#W`ls|D zAiKviRR+6JwaOA~wyukMq;*>u`$#Tdjb0}_?t%E`)!PRZdIg7;r}5wBy&@nPcO&*f z9`V%V9>KCjzS4gB8hP;m86>nqM?4oF;vz^JLaMj~ou?B+_)au;*;6!b56z!@W4rtK z>^jbOuS@wH@s|JX#cDo2KEqC_rpet4yO0w7H|FghJplB`ZmndB!Erp; z|B4%%uMmzbQ<|m~DX9 z!-srFHaILxT*{HUc04Yf%{y0fg7ZgW^SQbKls3{P7q`hC{ao&s)Kf_9pP*k=i`1z7 zo=_kx*@7)>XoINDpdW~wOq+`guyyxJ86eQrVLbPdYWUzF>znT4tx^Epkp(%Btx&hashVFZ)Fmk z(E~Ljbu$r~tx)g<#KlHZd+~9a`d(Mp$HMR{kEQnH-n_GytY#pD!j=QQJN6W=hmyiC z@k2+e+hIQ*`K)JUWo;XtT>|Pj(twqMi_Y!%h8#=n3T{o;4831q#Leq{27~KELiGL9 zyfF)4`qFR+@}-X)XZha{-jT}YD#EqG-P`{D>hB*m=QhoVx=C}3mJ0D&%1>w&2FqB z4IcWSdM%IVBfX=Q9ybTId-kcjk?Mx{m9gWIX1IF_`aYTwHP7K1Bi5(-l!$A&7PrkA zt={dvz_{{rm{oKSf%;eAatVBY^kMEC%u^6+RWE8J)?Laaw1M>s#PNJHD=g{Um!en` z-k|fiMv;)q0~D%nw>n@BkA5o>ri-HP*x+;__7`d%#9w#9@c84oE+G_n0lh4$ofG?7 zh1t1@6a-4a)4fv3^|pedW%S#078(~)e&2`%2B1#IXww2<|)sy`a+w}raKz7 zjvsU`HE}zZt%ve>yK(MH?dfk3pQ&7diLRmt=kFMUS>dAo$n!|Dy9|g6jd%KaDNKhb z5tpX@;k#MIQnz8TzI&ZClqIIecPz%AHj=>>6puM~rfW=*yH~33KxmFh5Bv#~_7Llf zVAE^;{Gbz>-Y)$$63~Je{YA(*BOhWD^;*xjmiVXBcb!`B)u9aq^LKbWLdVf}J%4^p zpjmD2Xwhx@G!H-Q8F&%ygUbda7V?ZvjqG3T_fOP$!;0l{zdIV7-gS+_x0va5t_+Ga z=0#u}oeFg*);$#<{NpPB2N{Q}~VE@KJ6oshpcV5E{DE_Q7MM6!b#lf6Y zZ=;-e1;*;`ANokxZp3L#TIGd<$`^+<@#TSb$*SC@OzFRP3KL`-Ywe02< z_FAZFf)_{}JmlPuWm;emolvH+datdE`eegBKs)F79IV%fGdj3y~!L2P$ zs;i`q^!{o&x0xdp_^zdivrI*onv^^*&zr_P7+Rx4E7O<>zw#E*s41y0^k6;UJ^xk9x zcMqDI&jSi_uQJq9XJ!o62To3Ec6~uh-;$HF;^Jr)e2Hysq_$8fSxly7XgkH|^4i+- zYE>1Lw~0c+!t1-cVSq;3TiYgI5eH7+U-V>A<_$Vl;iX(;*voR7n&hZAh5l$Pftejl%$6+>WtF7=Iu-;m{+Y6D-<{RDzQcsM z9#Nt!x5()7dCb6W$nKmTkJX`PAG!?_IJeLq`0?{_`%Bwc_gLYZ>w06Tj{04+y`dYD zetCh0_B?(MgK?f59}jzPYa1+dBb& zK#Etwc(dCpbHHZWkRd*qdJ^O9q>(_=Yg^{$%|bpPd!6ovP#5?{=;wxF!?hUL=dk7# z(NR|C(Q3B9u^SQ%B2gYB5;JG@=ao|q{XhKYXo+tD5~$t`5RZkojTX@piVjj45bQ4z zYM;vLftQe-Bs?#j-6q>KU(sZ>wfL;WNBqqY|9eDp(}yAhCnYwq@^p8Hro>&J5DiyP z-IP7w7>=C$_s)51lwPVG!t3*PKZ_}v;VU_FzRI(RmP7MdMIWB_BXfIslq-4@?jI+C zy_-xmpEQ{5n7~}UcQ+$JWG-!UmX+4pu*7g6wV^u6>|jP1@g={y!+qX|k=Jv;C$s}X zwYQBzeonP*OvXek{UmQ>x~mvwJV`lv%Dj_Wvy<>VIt|6X&m-dwi{_7%$uqe^)Bbzghuj zI*N1Wnl7B4KX<&K@2lZs@VRr|XTWz>1j=*go*;lL!86dgb16UzZ(1U-RSg0y zo&*zt#%n-}ly)M}<7jpXiTNecdZ0D)dT-|_G9 zD<$Q9|L*L+hvWZV1^;Vu{-5g&Z(C}+r9xpMLO;jE`%HLJ_kcvpMKSPq?dUDvw^8->yn zVY7(wewGqbaR*nMFUmZb&+qv>3V%t8`S9@J7mxEF*DmoB@hbhUuJ5aFia3n29Y_w~ zduvcho~zTML$fE{(~dx#Q!`(?#H8)Z|GoG>(h2)04xq@0A$W0rrH3|#+hD_KZ&5aw zjGEg52<|2;_S+(635x^p4Vfmhrnk*#~6S8w0dDX7eR0K2}ivEj7Z z8wW{DOoXWEX-E%iRX2r@erC8TQN(*t&=RJ!=}AC?cS- zwV#q!aeQ+}mrjz#_JuQNeU6y?=Nqmp2(T=RM_9+YlT}&R*lZ0A4i2IKF>Y80SZWpp zWRJi?7$tLGX=$OT_9cr}pvO~yq$i9=PySzX^TgiW-=0z!eVxJAo??NngAfc-7u`gH*}utYqiNC0Kh04U)HXbd;63)bKCwT9Uj zTq+!U(g;~uS%F=oqN1XWii&~(0rcst+}vDMXJ_YRCixHxyQeB9oALiz7YGTo{ghT* zEk%UWXSmM+>?fDKVgHG{t!+V4-q`T)n!7j(J==u-`#I)EMK8-c$Q&y}C48qZ46ONX z!t5J(3Xj@gFb4$r@(R_-$q58R$#^LGel1KD2oS5jdi7ORK|vw8w3M$;`IzA4qKEqT z|G(r8!Z6s)O2bGF!H{Cu{u*_!D01y~uc*{~k2~^8{|ZnYKu{!$hl>l-yD5vB501b5 zP_;|z*e_1_pxIq2;i%Q=WIxcarS+~VUyPDhb`ns##U;5X%a#+$Fip(hZtysP6V0N??d=V_;f^l8F~FOay`I0%yhnn zkaDowT6S_DEVYdC_Y&NtA3J}7yE!k{IDfbC_nD^A6T7uHQ3Xv_1=8GA0Y!h{$qXHD z>}Q4IV7hzUJB=fH3FS#R%_*er?`C(8sNH)X!vA&JMc`5A-s(D6`6#*HKBI6er zzMDTWIQVpyI+ZXt%wgZpa{!OSJ5fL{)KZYIiPx^v0}r!%Yk}p$kX?75;6rG_QHML? zpOZwWR8kuldDMXxv_~K$NRpL(J1*?rHyVF)^1<}@!>w1)G*JaBt6WuG-EXT8;^N|T zg`e)cb?-E~H1-&;>8iglG1zU%i&pVxifPhmWc~i|3`_Ly6S(lOouh+AlJ3?QQh>%L^ z0uL;Qn(ue;pUBKD#6(0a#mB^CiFS<^=)uAxB4BE2Y68>~NCa{;VBWK!F4Z==zy~3= zZVBy58im@i+;M`!tf4SYwAoz6e^$v!c6!$7pq(G|@HW53BB*A`uh!Hbdz&ZnD9mAK zGze)R=|7b`J?!kZ#4zkUKR!l>eqw;>C>iDLOqeUsOEEl;Q6te$r)%ONH1P;1HIS^H z9d_*cGCp&H?4so}&oJzN(Odl( zD923Mzku{SvO@wHsyH8O3+|^4otetFIT8kRJ<<39se zrelNR$Hlf+7&?%jYqrD%a@;`HFF?vRMX zs^$CNd5ll?bgmfoXpAQR=#Tb#YNC4JAyLQe>Lp+J3+1~{8JXsHqVvNYEOz>M!|(Sb zBe0FCKu2BC?>eIC`e>vc*$KGJTwcXUZo6asgF?Tfs0)7%#jb^b-?o!Q#imNOkqK@u zwfT<)(B#5QyA(wH_%g3AU4dzP-aUK^-7W~Ju8FIHEkizYVZm1q&LkU%lxp%)L5>8O z6*<2Xf__5#q+i;AL=^Pv$;RFKb?V0;vKD$}5)9X6 zXP!a2Y22mWp*n}#j<+VC2lPc=;Wv^{eGCDS%{4h(4w12^|6qQ#4U_7|LN1~HD2eTM zy~OP!N?sq-WtKtshbHk4gMJ?zot#LT#V@3SuJm?x?n(hW^Xh|~oE-R|`|dn;wk6zBGM7bFzh$2L&m~AcguFE%YwSZ>DSQOe)}rRr@M{I zboGXApY=OT{XH#2(0g|xXXGa`bV^KCph|WEp*K8(=?Y}xOh3`B!aEw8>&HMoRrS56 zF>U>0boJXk(^ChvMSJh$r-x!KLi`iZ4v7=nJ=VD4T9}72(s0OsY`a5oPP?$#@rm;v(=}PBjj;;m;I}66xk2R_MUvII{8@T`ku*%dSa=NbvlT=YTO|nO_W2= z=$#6n6p7Tl=RAHnR8Qq>jWnAJVd&pY>&uL#nm%7R5k#c~Q=L|Sy>xFRfy6SUOEm0~ z(=2+F_cQ#w6DRpFFZuA$n_IK*Ddxe$5f>Ld`&55$f2mYk7GR0ZTDIN|eo61YAabq4 z*e&U?KAj)xN^6(N+}URYJ`G<5+cnANtIGSR8pp- zG^0ld(hLw4Bn6Zd5a}E}rAuPOfYAd+j14x%zWbct@0|BJ&!5jZ&-1?bzV7SBi(9Po zIQr@`K$uR+fU!xRopJ*8g?6iG{_1xs(?lmmxShru({0wdUk_s3`@IElIAY(w(;ZZ? zrTylfChoaY?gJ9DxPUNSGku(Y|Zq4Hj$DAaq;BWCRoTR@DeSG zJbwt}pI#gHH}z$aGtNT6Z`NeGaF>Ea$4uf$Qp!Ji4TTh6yY_k)SM|;;9LJFL{l<4g z%2YW75@v@JJam;l%zD(^dvbR8!cQ`kdm{F4t4~v62NXh${P0ubm)(~DY5os0Pwd2y zhk578Tkij1l=U7c5p$2eq_H{4MPtofU;yZmnM#5VLsHsTqJ~7A;LR7@i)# zG^7~(98WUJ8=tgw&e?2+>v+~g8RoyLsmVC~=D_XweseLbZM7#cD6N4Z?FA5dd*K$%9}}Hn@#=%-9sd7^o+MFqUc3_X-XU7HVcx(x*Z^r-Wt7 z|7K#7rC2fBqsNbrUJu><&xYgYCDnAWAB&T}hamgd?#E)vU^|t9$h%Vfy5w)X#9eiW zt_H}phd%dut_8##5(2RJh7C9UaR%8rmOgnZQDjB5VA+E_yKIp^nO%)@sjk}d#XX)Q zhcy;0>2pZ}K3}oE#EkGG2Q^?*t7>DVuiH7LxbENktNzc5-%(H%tyDLc-ozxR`cQfF zgkRkMVFdpZ^5guQQ{3T)Mk087z@R)JUe*YCYfg?HNzAm4Zs7{^SBhn;E;0U~!l{q! z2H|wiHS+GKhnX%lpJpBakI1$8vZPDvz?x8gRl6@~`-y?=3-f2~8=Bponfch)4sv1; zo(Zc{E5YMNz;l@6fACEph)lv07k1U*-HJL+yA1+I4Xkew(^(1)9)a_hUv}2K=)8C; zgvT(ouMb|FIxg?MT*U9~T@!_9vrjgENLTl6zuqBZqI)f?2@EQOxt{OXn`)|jd?!3pq%RpbqfWy1ymm+|c(!I-0W zj_tc;9zHCsjilDM7k_+O=KKd5wuVPKN_glumLeQ?C48${^=CHbB%{FNeE)fm|H8ue zEML=^$Ok$~3=N92R6E;p;CXYhal|xSi)pyZtj_V?pYsYU$CX??_CP&$EN|rUb?Q@oDkvpjFAKKZ^MOQA zu9xuD#*BuK6BoV46AJ)aMABTCM=@D$r3${^5_)kioA0}M9BN!|xf3Gr)RS1synakr zr*tV~WJAm+Z$U2no=`>`*Ed7}7T7N-<-ij3^po;|&CV76{K>g(b&K^3zj=|2R9wZt ztI&~m7V47!g7e+pKF*hfO_WV0pAD2)-^pKfA8^VT_ym!JluyYb`w>3K;m2p!?FO)r zjhv&!-*#u^8#ZA^8PaHi+fKsQtiy~ScJiPi<-a|Da#A<_hb))O%ynmb{?5vw)8rr!f$(Q zwBw&i15YNi$uLD^ICOLEmWR4H;Z}p98EkEs+`9+58C;x)D64x~Q+Xd{`4wmJGjWx2 zM@{_%x>dc@>Bw?)@B)K+cg{QwYwVSgHe?ZqokVldNWamLMmKP?n{J>&dS#2>8GkM2 z_f%)lu#q#{2RC_VY2DU44^NY~6rw$ak{|Nwc0|@`Ok6ZIXjHxBO-AAv3cahH+xS=( zS~Vioh#Y}mZmT`HhS0i+(53`Ix>J3-gA|#%G?}{3ral~A$@X4x_I1K+Y;*N)85_b= zv14`u?uNwJF_YZARQFUg^}Fz#d>@wFW8)Ex=9v9c{=l95m!lqI<1G0(vKPR`3U$lI_UfY)xqui*|S1r*UY>E+kStFEBCoy z-q9U%7%W_{sjGPdl}F?ZnbNhh@LjOXEkCqic}r+E0k|Bs2j4SltcdyO+i^BCeX5Wj zQU&*K@<*U$Jo6YQ5RZmTx4>ijZU%2bv zQej=Wv1`U;4cN-L{06y$tynF&32~(oCY95UI!)a;V!_p}@f*(JU6&#Q%22lqhUntA z`vVMZ;(Ogi16EW^Y_n82j;`i$=3lKreZ+h2hxgq7j5*yOR!^L%seF>(@57NTdp1O@ zVN-zE%$B5YGL~k%&hHCLBHe(~;%s&Y1EKJ>{$1FZo*D_E4{W4l%LDn<*j`l+N0@BQ zOseutxTvQaq1dK!yHRLa2_3UlehC_es3m8H<|N3`wYK+Au z?UUE;r7YoYo@%c~w~zvvKBdIS(Fap4aYQsH<2L)O_2D~dvjx_PKipL|wdyXfEV(Y> zWIFM$#6_&5QAy2GZaegC+xK)ZJ%=OMudt`U?LC3`>cQcMp$>*|;Yr)#sJ&dgIUuAW zBS)0I&J7i;FgUW%lgncdz#Yn9nz5TMG{DiLqfcXS<+J@sTV zV*!iyLaY2yPIVoL+`LKn=qr@`DF|i-kNCYEOD@$S(G1Mfeu@&h3YL7&o=ZDWF0Jmi zoD-WLS9wjiEhb1r+N5KRmo877_YOzYF|F4ym0AjYm?9NM{yIkJIzFL~$fGHg&qH&j zFN$$)YrI%yA|0p~QO=mH$hZ{YJshvg#~gbhbB$m0n!6YsT-aGdYb?N7@HYq!rBY;j zt?GBoUUkV-`jOQmitcJVwt)fUNkYa?6m>Y6jS{A(HqJcIi1k*^(1$xac*)P6VL?S0 zm3o9CtY)%Nos73GDSVsn=`V2#r~cWa=zsRyZ~tU!yFxr6G$lW{4=>Twr&7P@+flRo z9`hlJJV^U}ue?(H-26m$(IaIu;8ehpE3Euc5W>TI&=n@CkM?V|o(p_Yax2-=FZkqu zI(HfnK3aV=5C&;$tski_Q+b53yc5PVW%Rw=n9N=NiF~JikuzYf=Br4fefU5i9q+DL zZpUZvE5NZDDf$mEr(OVYm=+st0NXje8+6LBq%A{yiJ*N3V910>?a|N8xGr@yF|p#m zkw3x;xL1P0Z~+cad~@S4FR(LN85GjY!HAf3A%2%(`ZCU9Bu^z&yxYYOl1Au6{z8Jo zB*X4xp_Yxt!y)jBi|qg-uNg z{Fga?-BEK^lp?Smu^zAkRs=Re_0R|wKJQ6K?TwU;P%E60fB)shfGimlo^v0=baqb| zmBQo;-M$z(clSI?VEe$gj}8vjQ+(5Iq!e>-#nW1QBT#IHof1JOCsQm#1BYjU(cADu zbvy0dwM*FbTQW|}4?wXFOKT?T-R)Oy+Ojn>Zs>LV7JD+!j&S;`W^jI2+2e2USH*U! z(XZBZCBQOIbCci@{iSmo_1hlU5l?f#;>nRC?%+DbozHb|8mjVDNj_G)Kc2z}@Sfks zUmxsTG(Kb98ub<((IQGr>l47g1Y5uYno2<0Eaz}%nsv@(@`7DN%XEqinDz8$q;FP!oXxcX#gDjWbj>Wn!7LQokbdID_ZkCK zYX3@BWTy}fj4#?L0S=*G`TD?%9Qj8Y+9}stC~!q+%-`W)r0{T`P(;!x$kkba=oK#N zq$WmKMMr_6Bh8}UheUrf`jAOr-+H8WA&fP1;=9SFWi?57H1e`p&zMhe#Oy7r#L0+N zzCOQ8<03rw@+F z#cYp0l9<7~c_kjGlaA!D*ef}*4BT_7eWehB7?@7n%WJ?opq|2>5L?eBMg)!|jjFJc ze>yfwM%GrtvPrDhZo_)+-3t3)^dU^5d93>0<+JIGQ^}L>WL}HS8X)jRz%WIH&X(MU z7z|^;t)982tYm%q)=-2Y=BxU4Yn*6u2I<-NU}jtc@78>|B}LuLXeN-+xguC_Za5Fj zlM9V+8WHVyvI~kbRV?+rTrkR!lH2jcTIU_@Uk#cY(p{0ze9ev(==#Q1@eS?BvJD}q zO-2L$ZdepuO0%Bsh1R|n(Wa{A#l>q%LB}&pu<)2&RZ<&qEbB~4|MQWe85O**YO z3d2ML0i11(icQsWnAb~I=VI!N>RZQ&QrhoIa=^{D%`vkRswj|RNN{)3qPC1b8{yP6 zi9>Mgd0uCZ7|*eiPpWE_1GI(@b7%`r>Nt+$F5 z<}YegahOie+esh-n;Ke-(RUbJQ|Jqxdty&#?SI6W90)(d zdVY9jFul5p&Cbk<(cQDJmZd*&e1!S{ai#(Q+^H^caXCb;Q>C*!^<-RS*HP1~rn0JSBQP+hK4 zTeebL(Tlox>OebLX8>v3pAZ?KvjWr;Nv3LKgoo^<#V%V51u@PG&CoRoYC;%iXi77_ zSKi#anS0{vUfa{+hzl7W7C(2}F(%|!Iv>JXipD4L^|{7J8o8}V7HX$-j#efdO*es}0!w#@=v~m?OIm{WC>=*Kyd~guh-1H*?jQ zowDs-HG+?H%r$M!D?yT0+-@=*X-A*ej!vC6?rN+eUo2J~|EV;+kU0C~p;%rzWamD= zj{N979-iI}j#W9w+s$KO1uig;@K#kTzpURTXLfDB`ohoR#mF1wtl{<57Wo08GBi`I zdyy6vd%M~swwzYpUp~2o9o?`NS?MP4TxOMO1vgS(Ld=(MoEA21P&fHqGkJU`WHuv) z$4zCT<@DYMrUTnvDbr)NenSd?AJKx{+5zTVWXS%Y z^_J>g5xwe$s72mtzI4RFS0xlLI~;&H;Iu8O_QkDSxk>ig?W)U9m<(syL{Eo52I%FX z_D9#`AlrYnOJjwRuk$yyVt^O8tEeYfUpk^RL8?X?1ki&>&%7|rs1J*_?j7l*Ao+PN zPu%muBj5A=-sB-#bM8trl^{O ze51q!YevUiQ$+ETUDLz#zSD7vQgS6H2a&z1qIu?xQKniCAK){^YB(nw*Ha*t0J>)w zL##Q&;=yxqfe=q}_6bRG@7)&J#7c2I#cM%<`S{0sv#=%i5;;UWGm-kNV`zw=$6Cji;mRDP)y6&E_i) zZ@7HBOHbo{JLAO;zYZp1l-BE~mdC^F+tvVWzB>ybs=Z=HAHIi2H)k}<&*){Qv}i_d zEobRiXUF;RgjGc1)vnP;1*a-_kD+n;Ei z;jdtCRX;IfqxSLpB+BS7HTX^+b;*6>9TiAN>D_NG70jmG3A7W_r4h$27Ss~Wz=Mgr z{?1x)R~n=ZSozn_^%wR}Q8k($T9zQ1wa- z)&^A6xkawSfLn()pjZELZsyZImiAyWFHxBdpnpCUu%qt4SyeIO!fYP$sTX*8p!DvH zf7zW3sH+XUN>Vb)&E(v+Q7bh>2~xhV|5t9dS|r(zV1d}*zWDcY{xzAGDLS$GBWHF5 z$<1zxgJp`d>O_aa)1Hc_g?}4~{x$mcT;YiAC9Mdas&4qYa$=V}4=UMOXXFv=O@9^+ ztIUcQdjDOpi6}qK7n?FBWf|_T6cbhg?dY@7cz{_B!o6MtOwAbBZJcuW00&Y?JVfcK zx9!G#>d9)+5FW5_-6Ge#nbW8dnv;?+ATzC7{f9xGZ~G^I<;s*1qPZ^ds*edB3Lep1&NO&+NPsU*Nhl$spkRDMq1I2Ji+UZ$Qg#N z;SS4M))sU@BVjA)-y&`RG#5{XHODHF+@sS?VZGk%;;rG6>U?i|UMS9-4L5;qVBc8Y z3T7Q|{#sKJP5$U>VDn(FLT5&6Byv=?ld4Tsgq6p@Mq4_Vz7nLV{A@Hef~@pOGl)g^ z>y<9D;Cr%0=C_f^&O@P3gPQzoy|QQVa4F`us;TVRcYOHPP=7hgHuy9}pt00F-eF1; zX$JbMh_ut;+iH`y&+~YaiOJn^$=xJ

<*7H8DNc% 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 literal 0 HcmV?d00001 diff --git a/docs/imgs/banner.png b/docs/imgs/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..ba0519b4013125ee90969a3f407e865f66d56ff8 GIT binary patch literal 228099 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�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

2Q1qFg9~6rO@&v;r~5;if~25*6%iW8v(uql?b_ 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 gMJ>9b)YkU@0pHR-ecx14ga7~l07*qoM6N<$g7~

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