From 7868e41710705aa6174b47d47ddf2083a3f90c7e Mon Sep 17 00:00:00 2001 From: Wouter van Wageningen Date: Fri, 3 Mar 2023 22:13:09 +0000 Subject: [PATCH] remove old --- config/software/plugins.json | 5 - designs/hortensia/src/frontpanel.mjs | 4 +- plugins/plugin-annotations/src/scalebox.mjs | 103 ------ plugins/plugin-buttons/CHANGELOG.md | 58 ---- plugins/plugin-buttons/README.md | 294 ------------------ plugins/plugin-buttons/build.mjs | 35 --- plugins/plugin-buttons/data.mjs | 4 - plugins/plugin-buttons/img/example.png | Bin 81019 -> 0 bytes plugins/plugin-buttons/package.json | 68 ---- plugins/plugin-buttons/src/index.mjs | 82 ----- plugins/plugin-buttons/tests/plugin.test.mjs | 113 ------- plugins/plugin-buttons/tests/shared.test.mjs | 6 - plugins/plugin-grainline/.travis.yml | 9 - plugins/plugin-grainline/CHANGELOG.md | 33 -- plugins/plugin-grainline/README.md | 294 ------------------ plugins/plugin-grainline/build.mjs | 35 --- plugins/plugin-grainline/data.mjs | 4 - plugins/plugin-grainline/img/example.png | Bin 68494 -> 0 bytes plugins/plugin-grainline/package.json | 68 ---- plugins/plugin-grainline/src/index.mjs | 56 ---- plugins/plugin-grainline/src/markers.js | 9 - .../plugin-grainline/tests/plugin.test.mjs | 39 --- .../plugin-grainline/tests/shared.test.mjs | 6 - plugins/plugin-logo/.travis.yml | 9 - plugins/plugin-logo/CHANGELOG.md | 33 -- plugins/plugin-logo/README.md | 294 ------------------ plugins/plugin-logo/build.mjs | 35 --- plugins/plugin-logo/data.mjs | 4 - plugins/plugin-logo/img/example.png | Bin 81019 -> 0 bytes plugins/plugin-logo/package.json | 68 ---- plugins/plugin-logo/src/index.mjs | 18 -- plugins/plugin-logo/tests/plugin.test.mjs | 16 - plugins/plugin-logo/tests/shared.test.mjs | 6 - plugins/plugin-notches/CHANGELOG.md | 27 -- plugins/plugin-notches/README.md | 294 ------------------ plugins/plugin-notches/build.mjs | 35 --- plugins/plugin-notches/data.mjs | 4 - plugins/plugin-notches/package.json | 68 ---- plugins/plugin-notches/src/index.mjs | 25 -- plugins/plugin-notches/tests/plugin.test.mjs | 43 --- plugins/plugin-notches/tests/shared.test.mjs | 6 - plugins/plugin-scalebox/.travis.yml | 9 - plugins/plugin-scalebox/CHANGELOG.md | 41 --- plugins/plugin-scalebox/README.md | 294 ------------------ plugins/plugin-scalebox/build.mjs | 35 --- plugins/plugin-scalebox/data.mjs | 4 - plugins/plugin-scalebox/img/custom.png | Bin 40818 -> 0 bytes plugins/plugin-scalebox/img/example.png | Bin 53556 -> 0 bytes plugins/plugin-scalebox/package.json | 68 ---- plugins/plugin-scalebox/src/index.mjs | 13 - plugins/plugin-scalebox/src/miniscale.mjs | 94 ------ plugins/plugin-scalebox/src/scalebox.mjs | 179 ----------- plugins/plugin-scalebox/tests/plugin.test.mjs | 282 ----------------- plugins/plugin-scalebox/tests/shared.test.mjs | 6 - 54 files changed, 2 insertions(+), 3333 deletions(-) delete mode 100644 plugins/plugin-buttons/CHANGELOG.md delete mode 100644 plugins/plugin-buttons/README.md delete mode 100644 plugins/plugin-buttons/build.mjs delete mode 100644 plugins/plugin-buttons/data.mjs delete mode 100644 plugins/plugin-buttons/img/example.png delete mode 100644 plugins/plugin-buttons/package.json delete mode 100644 plugins/plugin-buttons/src/index.mjs delete mode 100644 plugins/plugin-buttons/tests/plugin.test.mjs delete mode 100644 plugins/plugin-buttons/tests/shared.test.mjs delete mode 100644 plugins/plugin-grainline/.travis.yml delete mode 100644 plugins/plugin-grainline/CHANGELOG.md delete mode 100644 plugins/plugin-grainline/README.md delete mode 100644 plugins/plugin-grainline/build.mjs delete mode 100644 plugins/plugin-grainline/data.mjs delete mode 100644 plugins/plugin-grainline/img/example.png delete mode 100644 plugins/plugin-grainline/package.json delete mode 100644 plugins/plugin-grainline/src/index.mjs delete mode 100644 plugins/plugin-grainline/src/markers.js delete mode 100644 plugins/plugin-grainline/tests/plugin.test.mjs delete mode 100644 plugins/plugin-grainline/tests/shared.test.mjs delete mode 100644 plugins/plugin-logo/.travis.yml delete mode 100644 plugins/plugin-logo/CHANGELOG.md delete mode 100644 plugins/plugin-logo/README.md delete mode 100644 plugins/plugin-logo/build.mjs delete mode 100644 plugins/plugin-logo/data.mjs delete mode 100644 plugins/plugin-logo/img/example.png delete mode 100644 plugins/plugin-logo/package.json delete mode 100644 plugins/plugin-logo/src/index.mjs delete mode 100644 plugins/plugin-logo/tests/plugin.test.mjs delete mode 100644 plugins/plugin-logo/tests/shared.test.mjs delete mode 100644 plugins/plugin-notches/CHANGELOG.md delete mode 100644 plugins/plugin-notches/README.md delete mode 100644 plugins/plugin-notches/build.mjs delete mode 100644 plugins/plugin-notches/data.mjs delete mode 100644 plugins/plugin-notches/package.json delete mode 100644 plugins/plugin-notches/src/index.mjs delete mode 100644 plugins/plugin-notches/tests/plugin.test.mjs delete mode 100644 plugins/plugin-notches/tests/shared.test.mjs delete mode 100644 plugins/plugin-scalebox/.travis.yml delete mode 100644 plugins/plugin-scalebox/CHANGELOG.md delete mode 100644 plugins/plugin-scalebox/README.md delete mode 100644 plugins/plugin-scalebox/build.mjs delete mode 100644 plugins/plugin-scalebox/data.mjs delete mode 100644 plugins/plugin-scalebox/img/custom.png delete mode 100644 plugins/plugin-scalebox/img/example.png delete mode 100644 plugins/plugin-scalebox/package.json delete mode 100644 plugins/plugin-scalebox/src/index.mjs delete mode 100644 plugins/plugin-scalebox/src/miniscale.mjs delete mode 100644 plugins/plugin-scalebox/src/scalebox.mjs delete mode 100644 plugins/plugin-scalebox/tests/plugin.test.mjs delete mode 100644 plugins/plugin-scalebox/tests/shared.test.mjs diff --git a/config/software/plugins.json b/config/software/plugins.json index a034308b04f..e5e409b7083 100644 --- a/config/software/plugins.json +++ b/config/software/plugins.json @@ -3,19 +3,14 @@ "plugin-banner": "A FreeSewing plugin to repeat text on a path", "plugin-bundle": "An umbrella package of 8 essential FreeSewing build-time plugins", "plugin-bust": "A FreeSewing plugin that helps with bust-adjusting menswear patterns", - "plugin-buttons": "A FreeSewing plugin that provides button, buttonhole, and snap snippets", "plugin-cutlist": "A FreeSewing plugin to store data regarding a pattern's cutlist", "plugin-dimension": "A FreeSewing plugin to add dimensions to your (paperless) pattern", "plugin-flip": "A FreeSewing plugin to flip parts horizontally", "plugin-gore": "A FreeSewing plugin to generate gores for a semi-sphere or dome", - "plugin-grainline": "A FreeSewing plugin to add grainline indicators on your patterns", "plugin-i18n": "A FreeSewing plugin for pattern translation", - "plugin-logo": "A FreeSewing plugin to add our logo to your patterns", "plugin-measurements": "A FreeSewing plugin that adds additional measurements that can be calculated from existing ones", "plugin-mirror": "A FreeSewing plugin to mirror points or paths", - "plugin-notches": "A FreeSewing plugin that provides front and back notch snippets", "plugin-round": "A FreeSewing plugin to round corners", - "plugin-scalebox": "A FreeSewing plugin to add a scalebox to your pattern", "plugin-sprinkle": "A FreeSewing plugin to bulk-add snippets to your pattern", "plugin-svgattr": "A FreeSewing plugin to set SVG attributes", "plugin-theme": "A FreeSewing plugin that provides a default theme", diff --git a/designs/hortensia/src/frontpanel.mjs b/designs/hortensia/src/frontpanel.mjs index bd42576aba6..75e2b7e08a0 100644 --- a/designs/hortensia/src/frontpanel.mjs +++ b/designs/hortensia/src/frontpanel.mjs @@ -68,13 +68,13 @@ function draftHortensiaFrontpanel({ ) points.attachPoint2BR = new Point(handleVertPos + handleWidth * 2, h - h / 2 + handleSpace / 2) - macro('crossBox', { + macro('crossbox', { from: points.attachPoint1TL, to: points.attachPoint1BR, text: 'attachment', }) - macro('crossBox', { + macro('crossbox', { from: points.attachPoint2TL, to: points.attachPoint2BR, text: 'attachment', diff --git a/plugins/plugin-annotations/src/scalebox.mjs b/plugins/plugin-annotations/src/scalebox.mjs index 0463e72b6b8..5bbc60a3085 100644 --- a/plugins/plugin-annotations/src/scalebox.mjs +++ b/plugins/plugin-annotations/src/scalebox.mjs @@ -193,106 +193,3 @@ export const scalebox = { }, }, } - -export const miniscale = { - name: 'miniscale', - version, - macros: { - miniscale(so, { store, points, paths, scale, Point, Path }) { - // Passing `false` will remove the miniscale - if (so === false) { - for (const id of [ - '__miniscaleMetricTopLeft', - '__miniscaleMetricTopRight', - '__miniscaleMetricBottomRight', - '__miniscaleMetricBottomLeft', - '__miniscaleImperialTopLeft', - '__miniscaleImperialTopRight', - '__miniscaleImperialBottomRight', - '__miniscaleImperialBottomLeft', - '__miniscaleMetric', - '__miniscaleImperial', - ]) - delete points[id] - for (const id of ['__miniscaleMetric', '__miniscaleImperial']) delete paths[id] - return true - } - - // Convert scale to a value between 0 and 5, inclusive. - const scaleIndex = Math.ceil(6 * Math.max(0.1, Math.min(1, scale))) - 1 - - console.log({ MSat: so.at }) - - // Metric size in mm / display value and imperial size in mm / display value for each scale index. - const sizes = [ - [10, '1cm', 25.4 * 0.375, '⅜″'], - [13, '1.3cm', 25.4 * 0.5, '½″'], - [16, '1.6cm', 25.4 * 0.625, '⅝″'], - [19, '1.9cm', 25.4 * 0.75, '¾″'], - [22, '2.2cm', 25.4 * 0.875, '⅞″'], - [25, '2.5cm', 25.4 * 1, '1″'], - ] - const m = sizes[scaleIndex][0] / 2 - const i = sizes[scaleIndex][2] / 2 - const metricDisplaySize = sizes[scaleIndex][1] - const imperialDisplaySize = sizes[scaleIndex][3] - // Box points - points.__miniscaleMetricTopLeft = new Point(so.at.x - m, so.at.y - m) - points.__miniscaleMetricTopRight = new Point(so.at.x + m, so.at.y - m) - points.__miniscaleMetricBottomLeft = new Point(so.at.x - m, so.at.y + m) - points.__miniscaleMetricBottomRight = new Point(so.at.x + m, so.at.y + m) - points.__miniscaleImperialTopLeft = new Point(so.at.x - i, so.at.y - i) - points.__miniscaleImperialTopRight = new Point(so.at.x + i, so.at.y - i) - points.__miniscaleImperialBottomLeft = new Point(so.at.x - i, so.at.y + i) - points.__miniscaleImperialBottomRight = new Point(so.at.x + i, so.at.y + i) - // Text anchor points - points.__miniscaleMetric = new Point(so.at.x, so.at.y - 2 * scale) - points.__miniscaleImperial = new Point(so.at.x, so.at.y + 8 * scale) - // Rotation - if (so.rotate) { - so.rotate = Number(so.rotate) - let toRotate = [ - '__miniscaleMetricTopLeft', - '__miniscaleMetricTopRight', - '__miniscaleMetricBottomLeft', - '__miniscaleMetricBottomRight', - '__miniscaleImperialTopLeft', - '__miniscaleImperialTopRight', - '__miniscaleImperialBottomLeft', - '__miniscaleImperialBottomRight', - '__miniscaleMetric', - '__miniscaleImperial', - ] - for (const pid of toRotate) points[pid] = points[pid].rotate(so.rotate, so.at) - for (const pid of toRotate.slice(8)) { - points[pid].attributes.set( - 'data-text-transform', - `rotate(${so.rotate * -1}, ${points[pid].x}, ${points[pid].y})` - ) - } - } - // Paths - paths.__miniscaleImperial = new Path() - .attr('class', 'scalebox imperial fill-current') - .move(points.__miniscaleImperialTopLeft) - .line(points.__miniscaleImperialBottomLeft) - .line(points.__miniscaleImperialBottomRight) - .line(points.__miniscaleImperialTopRight) - .close() - paths.__miniscaleMetric = new Path() - .attr('class', 'scalebox metric fill-bg') - .move(points.__miniscaleMetricTopLeft) - .line(points.__miniscaleMetricBottomLeft) - .line(points.__miniscaleMetricBottomRight) - .line(points.__miniscaleMetricTopRight) - .close() - // Text - points.__miniscaleMetric = points.__miniscaleMetric - .attr('data-text', `${metricDisplaySize} x ${metricDisplaySize}`) - .attr('data-text-class', 'text-xs center') - points.__miniscaleImperial = points.__miniscaleImperial - .attr('data-text', `${imperialDisplaySize} x ${imperialDisplaySize}`) - .attr('data-text-class', 'text-xs center ') - }, - }, -} diff --git a/plugins/plugin-buttons/CHANGELOG.md b/plugins/plugin-buttons/CHANGELOG.md deleted file mode 100644 index adcc835291c..00000000000 --- a/plugins/plugin-buttons/CHANGELOG.md +++ /dev/null @@ -1,58 +0,0 @@ -# Change log for: @freesewing/plugin-buttons - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.19.6 (2021-12-29) - -### Added - - - Added (esm) unit tests - -### Changed - - - Add utility classes and CSS variables for better styling support - -### Fixed - - - Only add snippets once to SVG object - -## 2.17.0 (2021-07-01) - -### Changed - - - Is now included in plugin-bundle - -## 2.15.0 (2021-04-15) - -### Added - - - Added the buttonhole-end snippet - - Added the buttonhole-start snippet - -## 2.7.0 (2020-07-12) - -### Changed - - - Snippet names are changed, `snap-male` is now `snap-stud` and `snap-female` is now `snap-socket` Changing this to avoid needless use of gender related terminology. - -### Removed - - - Snippet `snap-male` and `snap-female` are no longer available. Use `snap-stud` and `snap-socket` instead - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-buttons/README.md b/plugins/plugin-buttons/README.md deleted file mode 100644 index e89dabb92be..00000000000 --- a/plugins/plugin-buttons/README.md +++ /dev/null @@ -1,294 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

@freesewing/plugin-buttons on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-buttons - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/plugin-buttons - -A FreeSewing plugin that provides button, buttonhole, and snap snippets - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). -> -> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-buttons - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Adam Tomkins
Adam Tomkins

📖
Alexandre Ignjatovic
Alexandre Ignjatovic

💻
AlfaLyr
AlfaLyr

💻 🔌 🎨
Andrew James
Andrew James

📖
Anneke
Anneke

📖 🌍
Annie Kao
Annie Kao

📖
Anternative
Anternative

📖
Anthony
Anthony

💬
Ari Grayzel-student
Ari Grayzel-student

💻
Bart
Bart

📖
BenJamesBen
BenJamesBen

💻 📖 🐛
Cameron Dubas
Cameron Dubas

📖
Carsten Biebricher
Carsten Biebricher

📖
Cathy Zoller
Cathy Zoller

📖
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

💻
Darigov Research
Darigov Research

📖 🤔
Elena FdR
Elena FdR

📖 📝
Emmanuel Nyachoke
Emmanuel Nyachoke

💻 📖
Enoch Riese
Enoch Riese

💻
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

📖
Frédéric
Frédéric

🌍
Glenn Matthews
Glenn Matthews

📖
Greg Sadetsky
Greg Sadetsky

📖
Igor Couto
Igor Couto

🐛
Ikko Ashimine
Ikko Ashimine

📖
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

📖
Jason Williams
Jason Williams

📖
Jeremy Jackson
Jeremy Jackson

💻
Jeroen Hoek
Jeroen Hoek

📖
Joe Schofield
Joe Schofield

📖
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

📖
Kake
Kake

📖
Kapunahele Wong
Kapunahele Wong

📖
Karen
Karen

📖 📋
Katie McGinley
Katie McGinley

📖
Kieran Klaassen
Kieran Klaassen

💻
Kittycatou
Kittycatou

🌍
Kris
Kris

📖
Kristin Ruben
Kristin Ruben

💻
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

📋
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

📖
Nadege Michel
Nadege Michel

⚠️ 📖
Natalia
Natalia

💻 🎨 📝
Nathan Yergler
Nathan Yergler

📖
Nick Dower
Nick Dower

📖 💻 🐛
Nikhil Chelliah
Nikhil Chelliah

📖
OysteinHoiby
OysteinHoiby

💻
Patrick Forringer
Patrick Forringer

🔌
Paul
Paul

📖 📝 🌍
Phillip Thelen
Phillip Thelen

💻
Pixieish
Pixieish

📖
Prof. dr. Sorcha Ní Dhubhghaill
Prof. dr. Sorcha Ní Dhubhghaill

📖
Quentin FELIX
Quentin FELIX

💻 🎨
Rik Hekker
Rik Hekker

🐛
Sam Livingston-Gray
Sam Livingston-Gray

📖
Sanne
Sanne

💻 📖
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

📖 💻
SimonbJohnson
SimonbJohnson

🐛
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

📖 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 📖 💻
Tríona
Tríona

📖
Unmutual
Unmutual

📖
Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧
amysews
amysews

📖
anna-puk
anna-puk

💻
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

📖
biou
biou

💻
bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨
brmlyklr
brmlyklr

📖
chri5b
chri5b

💻 ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

💬
econo202
econo202

📖
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

💻
gaylyndie
gaylyndie

📖
grimlokason
grimlokason

💻
hellgy
hellgy

🎨
jackseye
jackseye

📖
marckiesel
marckiesel

🌍
mesil
mesil

🐛
starfetch
starfetch

💻 📖 🌍 🎨
timorl
timorl

💻
ttimearl
ttimearl

🖋
tuesgloomsday
tuesgloomsday

📖
valadaptive
valadaptive

💻
viocky
viocky

🌍
woolishboy
woolishboy

💻
yc
yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-buttons/build.mjs b/plugins/plugin-buttons/build.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/plugins/plugin-buttons/build.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: 'json' } - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/plugins/plugin-buttons/data.mjs b/plugins/plugin-buttons/data.mjs deleted file mode 100644 index 7770a858272..00000000000 --- a/plugins/plugin-buttons/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugin-buttons' -export const version = '3.0.0-alpha.4' -export const data = { name, version } diff --git a/plugins/plugin-buttons/img/example.png b/plugins/plugin-buttons/img/example.png deleted file mode 100644 index 70ea646c479a85634567fdcc169522b0d8ea733a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81019 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

+cs8ivAP_NET*bLpuf+8D8ZlQkwX>7w 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

@)9Ap90;cef0YwmEhwF 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 UC#jVG2Pm0&y85}Sb4q9e07*=2eE (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": "./dist/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.mjs", - "wbuild": "node build.mjs", - "wcibuild_step1": "node build.mjs" - }, - "peerDependencies": { - "@freesewing/core": "3.0.0-alpha.4" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "10.0.0", - "chai": "4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8" - } -} diff --git a/plugins/plugin-buttons/src/index.mjs b/plugins/plugin-buttons/src/index.mjs deleted file mode 100644 index 1e552b10175..00000000000 --- a/plugins/plugin-buttons/src/index.mjs +++ /dev/null @@ -1,82 +0,0 @@ -import { name, version } from '../data.mjs' - -const defs = [ - // button - ` - - - - - - -`, - // buttonhole - ` - - - - - - - - -`, - // snaps - ` - - - - - - - - - - - - - -`, -] - -export const plugin = { - name, - version, - hooks: { - preRender: function (svg) { - for (const def of defs) { - if (svg.defs.indexOf(def) === -1) svg.defs += def - } - }, - }, -} - -// More specifically named exports -export const buttonsPlugin = plugin -export const pluginButtons = plugin diff --git a/plugins/plugin-buttons/tests/plugin.test.mjs b/plugins/plugin-buttons/tests/plugin.test.mjs deleted file mode 100644 index c24f22571b0..00000000000 --- a/plugins/plugin-buttons/tests/plugin.test.mjs +++ /dev/null @@ -1,113 +0,0 @@ -import chai from 'chai' -import { Design } from '@freesewing/core' -import { plugin } from '../src/index.mjs' - -const expect = chai.expect - -const Pattern = new Design() -const pattern = new Pattern().use(plugin) -pattern.draft().render() - -describe('Buttons Plugin Test', () => { - for (const snippet of ['button', 'buttonhole', 'snap-stud', 'snap-socket']) { - it(`Should add the ${snippet} snippet to defs`, () => { - expect(pattern.svg.defs.indexOf(``)).to.not.equal(-1) - }) - } - - it('Draws a button on an anchor point', () => { - const part = { - name: 'test', - draft: ({ points, Point, snippets, Snippet, part }) => { - points.anchor = new Point(10, 20) - snippets.button = new Snippet('button', points.anchor) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const svg = new Pattern().draft().render() - expect(svg).to.contain(' { - const part = { - name: 'test', - draft: ({ points, Point, snippets, Snippet, part }) => { - points.anchor = new Point(10, 20) - snippets.button = new Snippet('buttonhole', points.anchor) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const svg = new Pattern().draft().render() - expect(svg).to.contain(' { - const part = { - name: 'test', - draft: ({ points, Point, snippets, Snippet, part }) => { - points.anchor = new Point(10, 20) - snippets.button = new Snippet('buttonhole-start', points.anchor) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const svg = new Pattern().draft().render() - expect(svg).to.contain(' { - const part = { - name: 'test', - draft: ({ points, Point, snippets, Snippet, part }) => { - points.anchor = new Point(10, 20) - snippets.button = new Snippet('buttonhole-end', points.anchor) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const svg = new Pattern().draft().render() - expect(svg).to.contain(' { - const part = { - name: 'test', - draft: ({ points, Point, snippets, Snippet, part }) => { - points.anchor = new Point(10, 20) - snippets.button = new Snippet('snap-stud', points.anchor) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const svg = new Pattern().draft().render() - expect(svg).to.contain(' { - const part = { - name: 'test', - draft: ({ points, Point, snippets, Snippet, part }) => { - points.anchor = new Point(10, 20) - snippets.button = new Snippet('snap-socket', points.anchor) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const svg = new Pattern().draft().render() - expect(svg).to.contain(' Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-grainline/README.md b/plugins/plugin-grainline/README.md deleted file mode 100644 index c4ca3662b85..00000000000 --- a/plugins/plugin-grainline/README.md +++ /dev/null @@ -1,294 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

@freesewing/plugin-grainline on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-grainline - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/plugin-grainline - -A FreeSewing plugin to add grainline indicators on your patterns - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). -> -> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-grainline - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Adam Tomkins
Adam Tomkins

📖
Alexandre Ignjatovic
Alexandre Ignjatovic

💻
AlfaLyr
AlfaLyr

💻 🔌 🎨
Andrew James
Andrew James

📖
Anneke
Anneke

📖 🌍
Annie Kao
Annie Kao

📖
Anternative
Anternative

📖
Anthony
Anthony

💬
Ari Grayzel-student
Ari Grayzel-student

💻
Bart
Bart

📖
BenJamesBen
BenJamesBen

💻 📖 🐛
Cameron Dubas
Cameron Dubas

📖
Carsten Biebricher
Carsten Biebricher

📖
Cathy Zoller
Cathy Zoller

📖
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

💻
Darigov Research
Darigov Research

📖 🤔
Elena FdR
Elena FdR

📖 📝
Emmanuel Nyachoke
Emmanuel Nyachoke

💻 📖
Enoch Riese
Enoch Riese

💻
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

📖
Frédéric
Frédéric

🌍
Glenn Matthews
Glenn Matthews

📖
Greg Sadetsky
Greg Sadetsky

📖
Igor Couto
Igor Couto

🐛
Ikko Ashimine
Ikko Ashimine

📖
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

📖
Jason Williams
Jason Williams

📖
Jeremy Jackson
Jeremy Jackson

💻
Jeroen Hoek
Jeroen Hoek

📖
Joe Schofield
Joe Schofield

📖
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

📖
Kake
Kake

📖
Kapunahele Wong
Kapunahele Wong

📖
Karen
Karen

📖 📋
Katie McGinley
Katie McGinley

📖
Kieran Klaassen
Kieran Klaassen

💻
Kittycatou
Kittycatou

🌍
Kris
Kris

📖
Kristin Ruben
Kristin Ruben

💻
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

📋
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

📖
Nadege Michel
Nadege Michel

⚠️ 📖
Natalia
Natalia

💻 🎨 📝
Nathan Yergler
Nathan Yergler

📖
Nick Dower
Nick Dower

📖 💻 🐛
Nikhil Chelliah
Nikhil Chelliah

📖
OysteinHoiby
OysteinHoiby

💻
Patrick Forringer
Patrick Forringer

🔌
Paul
Paul

📖 📝 🌍
Phillip Thelen
Phillip Thelen

💻
Pixieish
Pixieish

📖
Prof. dr. Sorcha Ní Dhubhghaill
Prof. dr. Sorcha Ní Dhubhghaill

📖
Quentin FELIX
Quentin FELIX

💻 🎨
Rik Hekker
Rik Hekker

🐛
Sam Livingston-Gray
Sam Livingston-Gray

📖
Sanne
Sanne

💻 📖
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

📖 💻
SimonbJohnson
SimonbJohnson

🐛
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

📖 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 📖 💻
Tríona
Tríona

📖
Unmutual
Unmutual

📖
Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧
amysews
amysews

📖
anna-puk
anna-puk

💻
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

📖
biou
biou

💻
bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨
brmlyklr
brmlyklr

📖
chri5b
chri5b

💻 ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

💬
econo202
econo202

📖
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

💻
gaylyndie
gaylyndie

📖
grimlokason
grimlokason

💻
hellgy
hellgy

🎨
jackseye
jackseye

📖
marckiesel
marckiesel

🌍
mesil
mesil

🐛
starfetch
starfetch

💻 📖 🌍 🎨
timorl
timorl

💻
ttimearl
ttimearl

🖋
tuesgloomsday
tuesgloomsday

📖
valadaptive
valadaptive

💻
viocky
viocky

🌍
woolishboy
woolishboy

💻
yc
yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-grainline/build.mjs b/plugins/plugin-grainline/build.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/plugins/plugin-grainline/build.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: 'json' } - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/plugins/plugin-grainline/data.mjs b/plugins/plugin-grainline/data.mjs deleted file mode 100644 index 13664b7cb6a..00000000000 --- a/plugins/plugin-grainline/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugin-grainline' -export const version = '3.0.0-alpha.4' -export const data = { name, version } diff --git a/plugins/plugin-grainline/img/example.png b/plugins/plugin-grainline/img/example.png deleted file mode 100644 index c36c388f66995b4e7d2cdd3649dd23d6ab3965a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68494 zcmeAS@N?(olHy`uVBq!ia0y~yU`bC1$@8fF_&%2>~-=&2b3JV zRO%;a1T}R0eVlGMO&9LD@TdwrB|Lt#Y|3CaK zYri1Ffmgo%{@oq--)}cF6YAvQ|u_8^?|vyLt0w(8?u(d<+Z> z4lZZ(TA!*;?r3pZxW4vn_TIgFr>XC+&ki?gJ^WDFy)U9#CBOA&vhnIT1_lNOsV`n? zn~y&E{8Puj?*Fwdr$xA0jb`?^6)6Y^c&UL*n;dsigoiCUI@)>Rgr_Ip-=B4FldO!4 zj#&4`h%=v3J|90;3Rc#Cb5TY{#s!Z02aW899&T{^^n1&)*k#r4cDifs+_*7NVmDkcsPft&ej*9vc z*R7GzmNUdKKx5kK*=xU?3pts&OVNv*6p@f-EYo@=dsI7b!VR8d|ag}{8%1j zi)z(od6$%ggoLCdC*_}iqc2a=l;JZsH_zU3`%GtL3D_m7Ue!6i_y2v{9=vjj+o#{# zmzB>v^sqoj?6Ss88@c}T&liL3nzEv7W>i#E)4>H`HLAgClV84m{rjkX-9kh5L+`); z|Gocz_0piioiWqenHd-uUeAd%(!87c>s0u@Mdoq8YojhVSEfB&Q8?W*@7nI^da;){ z*cliYu37HY3s#$)nV;{kA~a1sI>~ppkKO$Do$B)fq5`%WnfPaJ6=Psv*f8(q-BhFH zM{Zu5RW{S*h(XW6gO0r^+irpaq3VqPt?F-YHriN9@W|O#nMn0U&CBUDeQVU|p*7X2 z{M{Tkqt#%4+O|3!eEqe`M(*_F%{O!Orf+^O7ajRqFW5lhOVwVflT&;c7#JERc`coE z{`u52`<}i&KOdhIBgx(m-}BdcFZ=heuD7t#=_Ct7cGAZ`8`Y+tetPR?MApVz?^zi( zl%3Jc_7XnkyD-2*|Igou*ON3SdX$uvWvyAc2pV{Lsa?k(KYsjJ=1lcmOJ3*2FOU5I z`QM>4>*SSt_wL=jyLMtu=T^O$i!NqlXJ@MjZM3O8-X|NqJG3o_1Wk7H*bD= zaB=`Yr9S9 z(*b7w8)cf4*VLX|Qnj-CwGYFFsNi(D?4KULr~mt?uK#R$-2Y2|R*Ube{^T!bRq%hK z{GR9bu4iq<_wRqH{I>pc|I6^_XP@hz-Tz~9e(lTe?=!0^Ui^vfo_f2s=5+GM-!3k3 zGFG3>OfO&IXS<}NR4#9QZPTrCCWallRk6!Lv`j55EUc`uDmR5*+m#|T@#DwBXFbdf zYkh31zig~O(|w|L?qU0RHI-#$W#1k>>EHix=5AM)IGdjle`3|U^ymFg`myjJx3|)4 z{<6BqzwP&1SX=-8bbkN;-t%|1N2dI1uNSKOGIQlsySo32KQ=2Vt>?4-JZ;v?sm5tX zOXB}*{JXkZouT1&YTdDGH%_OVYv25KhmGLGQ?q_|@Bh)=U-xCP)JbP&XLdfBAK$j` zUn|JRur>Re^?U)riNE)K{Is^d;NzEvXO)yn>pyJHeipv&?;hiV*Wp@|>ua}nbX=)@ z_2p>v{JPvv((`ZVC~f)~e1CrI&sVZ`{~l$2KFezN|8w?sn_o}&@AY?a;p4mCv-2`2 zNOI->zHqnyvXDPh<^1{c^`B?opEG~{b&l;WqPu)<=9o=CovCs;m8s!sq{(cLVEr?9 zZ~10bmAqiT|NrB8we$RU_dlIGuc|KNfve!eW@hJp)4RXYqoexxj=UF|xb%J9-<>yy8yqx3U<{?4aXm$cK{^g23fl>QZ5el>}aVY~kP^Y8EO4p+9E>BGm*pRE$T zluI>OMJO{b@0!OmJz<75r_Oy?T;ARBgx&tqrwP5p<5?1y!Km+uQc zsuFzuuY$f((f7pI z>}obAMY$R=Jot9z{Q2ppQXv~|KAh&|IhsE{wr5+ z+h$``@^9|>O=r*Ejbq&O17OMcIfyXCV@wjb4rG?V}LaclWr>*{|QmsiQ<+r9jk?9QxYRG+4> zRb$hSLl=zKhx8tSf&Rmv?sP{C#qA`?()x@^?$>CwH8<#Jw^+Px~*QeEsLl z@AB4F(>u=me=zfNceg%|?QHRh2QL1QUKX^*NRr{hy^!xW#JXL3Be+8srhNKYGkNl4 zuhXlfq@~x#?k@ZKDzvwNVTEt;`J?hVnYT7Q{kJeY?{D*5-F{x4nacZ~-?Q;~zw9r+ zU4;6lZ{3q!o=j~No1T68++TkFJsWl%zkj7jr*1pg=8&uxK5;JZtg7Bjv#eX~%f_%r z{HosNiOTL%c4>yKbULY`BrGf}RX($YQ-EOum-Xyzdp;%AWxhOgo&DaPO=TaaK93U= zoVe`w?0a9g z|7`ZJ`*?Ft$DP_Y5vPAwfrGbvy5{V&yJFS_XrxqbYF!mLisuMsd;&Md9PZpY>uz_ad3ZSsEe6=-KULz-+y?b``!L$&(3?_4o$ba z^y$U*^Go7p8qJrj|M2hpzZ6fGS9Ydfo}5~`*t!<%5dN+cfBY|fRw|1Bqx(MN>Pd!% z^5xf4y_N>(w3K zv-L~ayLW&7y*Yb4_V>=nDOdg;JiqSluP?jrKfGDmzW?Lr?PrpATs}TK&Ac`6S^^eoV<0Yypp6|B({&ji$pPL_^+n0V= zx9j@xDfxVN{&t@K^R--Ud0oNlsf$Bx?``?~@JHh3i}NEQ6S94c7#`de;bL9N`FLYQ zPD+Z3P-jL<^wH3jA=mze%2&VHSp584Z-0MuUCzhj_WwRUxBI@+{?}srUzeuuOUX3? zwM+PPb#(rG%m4qa_WRxMbKln-|MX$qx^dzP^=Ffcs$Yw+GEvt(w|!3V>JDfyw6*@^wGS?z9oSB|_Q`Vh4_V-@fxnplj-%DB7 zr>@#w@HhD&zs)YshrY}XYc)lqkB>?2URa!;s~%GGx~L`QcL2#e3b3 zA3y#!-Y9hK=@h+Eu~fZN9g<-p$3utZql*`Sz>#FMRzUx5H-Z(vA8L z)(THtEBE-;`pKWK%V*vxdTnq;djE`>|Kv~KPWnBo?z*m0^pjVsJGHNi*UZb!pB=UD z*V*pRk%Av{vKOT=HGE%YmAGg1>eue}zb<;~?_DC8w{X=|pNSqv40w8HP5Q{sQ1CoY zCv|%4SLyYCoxg3p^7ZN3*<~(&dHHj0DJT{Fy(E0I)&Jd1)6&dm|M%^C__#Ovyubb* zzt8*n&Puza{JVAMrT6FmMSt5mPH(ULy<954^4jrlW);u$=kBfgJ8OsY*T!?Z&Tbd6 zF<q*mo=}Kj-CHItL)nI``33Ce#^;B{$cL^#*FPwQq2B9p`EG=OHxY` zEhFOp?_STI^XKlf`@im%|FYK8|68Cn|K^jw{YxLU`p$k+cT<8P$8l?l5s$O-wW3h# z8P7leEZRBe*g+dFHHIC@+)G>cgw$D!{ZQtb`t{)>l@#!BYPZvIucRvsBdiy>1{+dB#H-)wu?^I~@ENPn+h_3bx5gN$o_%)E{#MLP>D)=bPUOaJ`)Z|2OIUP~8!7h(wTp7z<>JmvGc6VtBOYggQvm%FJZvobQpvbr|X>}^%b z>dLRrkDb1*{mysxYgZRDnHBdxSNv6beCv?D*t)nKNh-asm85H>pL|WPEW1~8ZPUgG zvFX+yp1pQncVJm>P@IX2%PDa^$?3Mc?f2F$zO!Rq?6d>l%uSl|V*YR6bS1y|evpyw z^!iA#n;X_{-uZI!?d|t=FWzUo;cV?)kJ$Rp@%jH=eYqdMPcV6^WnpXnVFfVsYkDy^;q7`&27r5Q^$@S6OXUi7@)zz#MoQIutN9rQyk_x-DR_~>P;boAZXOnK#d z(;shLn))#(`2c}JO19Yn^F4R$3A`1{jXF}`!D6+ zs`YvAmz$kD)LZl|%hT-LiuHFiPP(0Y#(1FmqV~))-9CLUj6&C@2u*zV?p^h}ozJhV z44$UGp6BdhknanUUp`G;d4ESxnojz9ovE?WPI(hQ1?}7P@W9!qr6F-APPJWF)~i&s zGQwi-hL6E#fAi(vQ&1{OPJH22`1;vdJHz=;x$<`Zv`*VOMf2pf+}Zc6j^@oyzkKb~ zrKi$Qxu?G9OOrn3A{W-W<(%+v2Bf`R;ccc{c^bo#=i(arW^WUQ1P-Z4|$=O?>Ko z-Rse}yXBjEc9xWWi`UvzKl`}yv(0zr$7BlY#-G>oe(+XJufi;E<@9X*_}OQ5@+wyR zd{(okH~LkoUG%CGX@V0kUAps<_2-2B>t6c$-+SO8qCad8%N=j;FcQ@`V`@C}!}EDY~G*Qa=?O}=~g?sEV6Y5JFU|9q2fzuM5y z|3(@&LwVBAOHM2I6mCBA)IDbRyW0U(|2{p9&--$$Jpbc~Pgk5g?^rjjH=jA}Gq>u^ z9m*RVUCgfJe?H+|d3Nmdb?4^Iix;|i;Yr!d#!ZQ@&!&5>++v{m&Ofhex2uP= z?e19ffA_szZ%TEnF_~zV*O_zw!*}D>|N9ctKODPiY}~eS>&L=kfy$q!>_vFW=k8D5 z9ew1pe0i>I@QMHPjeGm^%Jag zCd%+2*Vo_w`qitIBFB2tjAkZne9>X~`0Agjf}Jk!_I{7+P1&4s>iK6-TQhmuXYbVe z+kV++-@BgKpJ(-b#p`lc1{(1Wk2be*<`Tq~){~i4FA;)a? z*|eRfLrfvf$b0Hnm-@uU#y&qcxBBJM=_ZHPhMt|I32AEnj;sFuPV^nPiTJ+x-Wzto znRDiV$GE1g{&Zx|!-o$O3?w>T*7$y_u(2+Cv*0uf0|UdFSvMO4v}Vq$dZp=prf$Nk zzWNhsn|H?OP4&ub`3)|pweDR3HDG0Yx1KgJGkf;==e^&BW&vj>owS*>{L9==zyCfh z`uXYUX{m>xq0+OLcb}f(wNy<_&1h!N)00xGDh6X{`KY zw*T3)XEA!qC+3(5%wzx!l&?eA^5w{`seRD_QA$p%YhCG6BHpSkGbic7z= z!i+)6R)?(&S+;!n_qVr~3(h;6W|}lLWanuS9yWD#b<=gmf#48ZZDws9tv7w@w;OGT zA6~l_w)9@-(^WA>FVCKeko=!e32OESd=5#smuM60K58<_G~{Q(yn9o4c7d9}2Ue|| z=2Kf+tMq8fNB&T~nMoTXG(;|CoUGg%xBa&7NpLtfWt|Ms5sQwFHU;aAGn@VP#S0G= zA*qMe-`?!3__)XoY{l&_-)?lBIB~+m-@o5&Q=8UwpJxx+Q;b#$zWe_B^wXk^5m&$i zs97`OK;6Z%va+lmQbMN6@Ok_ zT+FxYbjaUHnv+lZ`1xgBnblLzz+fF+Rhe1UvH3DXg8M4fV6CY^Qva7N`K3BJu6Aej z_dG~2f7?=!`0&(EZSyYkRe#+W81k3xI{xkD^7&!6POn<>t9+)?#1kh@bhtfyQnXV_ zT3Yfy1H-p1KmO}>dAv-@TwI>K^*%Sl1F==HYCA2{?`W>NpDHx5udnaky|~_#{rBsi zo|+1oUx?WHwDswyrA0?WBmX>20&6-8j)sw zd^%l{3JL<0L4CLc=cOxyUOqY-y-Y9i*VRkC+H=k_Gf2;zH;<2nNpHHh@}Cb64^Qza zKQm{>!i)2gO@$e5T$uW0>eEY~PW_KLrTceT6B9#7^vVz|v2L%;@@#BuzkdCi!X~M) z(e>n&%a@Jq?A94(P0$l&xN-K=p-+#ryFazn@6b6rW!k^FAP27!?KX?H@nbu4)@Sr+d2W+P#}!)~e*y70uI=|JMC~^5n^vFJJEMt=8pd zXSg%*(f{BtKWt0?ugtsr&$oN#(Vz0?*#DUX%+nOFkBa$oHR)wi=4W>E@ZYvf2db7w z8O^mSef8jAGsJ~Pnr|7NSqU@Ta9J92b4&TX`)lvZb2u0pUR~CnIq76db#=AU#0@r)Q)74esQb;iAYr6uUVr0fO`Ng}L&5Ku zyy@>JzyDGH_4fbkZ>PGp&&^|Rn3ZBC&D7ZN^yEw*w>-VnQUU4Gna7SDGf4uaLcfQ% z7HvwCV<>RvYIUlu-FrIq?|*go#TS*``&teso}L_fb7_i{tnAzwGcH6hpUDEvoINm` z>b3Od&B&!oeQxGlds<|f_oq45OKoXk<)K)x{I->PsZtUW0alUAPU)4;tg5O~n%LoX z)N?wh+}Po}N_BEa#ooB3DYj)Vjg|(j?Ca~hcrozw#&*^$@& zbLP&KD^G%_2j9JW2g(ea%y#ogicg%Z?yseK89bbn=WaLud(~dK{^OrgHd{Xe&0Stg zTMQ~PdHDG3{{Q(rtzI4!8w?D4mU}HVvbFttkiRZK`HsybalUrbL!mccB*dvr))ecW z>2vH;3ZxRNHhR8PGZq{5Q8{Qbt>OEUT~jotdinbJWT<3s zzIbp?gwD47`*yvTdm9}bz%!f; z_AyAL#;%wKsvws8&%Xw?>*NxX^gHjrKmT0Wo5H}ru)yqvZmJQ_;>C-T6A})5dSaTe z7&M6~Z(9|TDZksPPtn2Kg4}z+`r>ZT?0TQPy-AGV5{Oo}`UYAEfQ?6mMf+3xbU zw^A#M)F#iIGiQrU+1VTGK<%}?aqHcTApV*Q8o#~CzcM5%Dak4M=c`*AVyCa%zdwE@ z+fwk<>%D7JwZqrN?*8_Wzdl0w&YsgtHrABp-dJ~fiigUr+qX^Io~`Yv-(VvNa^uVI3IwyGLl?M+JjAm}JsXTk*UBbMM7iTX=+)UdI%8)gn!QIY~-9Ac> zKL4CD>3YN4T|P=i1_lX!S2xHwe+JEYZ#S}6G&eDcm?y*4>Nm$i5F91OWjZr?4xa#x z&#p-Wwfpa_3eYeyGusuTcY5;VlTRKzSa6JQp=t8*Nt!~P8or84AYtUWGQ^0-`DI9) z(abYXi*DwGDc9uQ_^20bB2~IGrY$j|?#V=OBd=mID0PU>Y&y8$`s>iSAD5l&i(TfT zbn*K2>0V29{Fg!E&ZYF5vx$^#^|v){pJr`LKAF;Y`f|p-nc}w~DOPk>CCLLi?^El?Pm>W z#YVyY`~MGd>xXEG_Esu@0^;$CX+FpM<@sBkq)uiZ>tp}SbJ%0~WiRQbvu%qjkMe?) z#GOo$IQHbplFIkTcD{))`dMSQ{`%@IiZeI`K;bO?@^0#>6eD3_VXwUtOp}i{S1K(s z4{grf29YeCd8RYZ@4eB@Eh(>Fy_z*=&YpsYO;1mPmti!R&zd*y-q!5t#~*LBv6Sj% zYj$+kPZg?`J7X-`?RwZir{7e%4_u2ibcAS4^`5S$dA9Dwt5>gHytwcqWdF3BTd7?~ zlMW^XJhl=B=Zu6_OL5;!&B@1BUEP{~Sua>aq-bZ1)cquI5=>}))$*~x;?AvGt4yxv zp1rXJG`f(SoGi83^xK=8%Akfe1B1(xXY9#KK|PA2j|+RBY)!d5>10g#(!y64AAhXa z8wai|8Z^ph_Q_hC85k^>xMx~U)pSi6zW$ybjklb6IXN{imrmE3+I9NrC2&`7j?>l@ zA;IPIPYK^Ho9VJ-^XARlw}&g={KNm~(o%150p8I30#r%~tNRrg_y=x`2${9vpjk91 z@RnQ$1#EM3v)_CJy)wO-QPI&;zp+3j7Yt_hw(PC`9yM={k6Q807`4e8Z7O?je$kuU z@#XvX<(D&ID@B$$E!>cNoUi|Qa^ z2M2qJ&ph<-!;c?3F1c*qnsR^A$vJBmUOd6g!USoHtf`)^A1}7GuyXI-y}7x$QYW*| z>|_57?eIOh2(Fx6D*JPJdFl*qZU@a;f@Tjxg~8P)gW$>MpBIH0xhhSRvY4t~W;bK{ z*|f_qOSGnLvbp*C>#nuckabsV%Gk&QBZiUdo=~W@~=@`0>_2qnqCo=5>g4A3b>z zUWYz=o>&jy8i2WlTN0* z)(chPVuKxDsq6Z&av#zeL%$eZn9x80??50{F;N%qXoaeB{ z^wVC#$D9{lcy9OI(o3!M+4hL!Tmx{pZ8*15FZI>iw{PFQyXFyBy=~uVk?x~T3nv_7 z(t&FKGR@v_~b+qUtqg%IT*~oV4=S@S zy(|G0yF0aVYC+>0b8RYvR;C#F=RPai`S?feGFIyIFG*kY8shdzp>soI$!Iy8| z@US(fpP#qYrZSa@1>EqwrnvVb|H6Qbl$0fDUTV?uXM_dkpEtL(TsiR!G~imD4!$jW ze{b*YPfuKwE?&Gi5mZdB*<@2&6>hWwp(D*|`>FN-z*queLnK5w|GIk{|0yIP}al}`b>CX&WdF9BFmSb}Y zA!#pqXN=#KZ#Sgc1o_&hF59uzcK39js{0w>PJF`Mpu5S|78XCYuCMh~-l_GbZn~ye zcdL_PZ>Dsbr!TlU{(8bIx!XBrw?XZ{7}2u#MyWWlb+Y9T$4rNX_utQ-JzIOK7o=RseL2;qEwQAm?An=@!j1Ky zS<~p~Xyu6=ZWh9zqI-kg%c(vyeU?S&T)Q- zXJBafx-vk+#KdF=sP+@?bm_gDTI4W&MUwiYx1zS&o2k#D8EwM_p5$k4cJ{Yy@^pl3>O7PO0nO9eB z1vmQ=WP|P|&-PI>O(f__6S`|I^Nn zHVYWW~x-udU&RbMhJWUg_< z?>x68Bn6zp7hg{`;yL{3%&KCC>7Fi42NSI3Uh_zstqWS=H@n78U#ZdIz^5k(1~+cq zT6N{^3bFJlJ||O(Dk>tBXEuWxgc12%txe~jf3C2ZrY_x9_~S#O*D|dO(Q-N0u7NAZ z4Spe7Q)kYUT$-)f>9T13dVSESWO%o+*Rpx@=6(EF*qg%ljFEvMAvW-Ca`wH{OVMkh zM9*n})|Ey_M}z8vncyloB0NOB=lhp0b1Vv--uFa=S}aa6Qt!z&`2i{Z)~%T4bNB9D z(=sjpIYFSZ`Ps9yUbg$&a&K?Tzkd!=JP5C1|9t7?mP>Y5wTj$Mig2|)`nV&g`TYCu z;O^J~tA)2xKUM8Lm=K`6vujSEQKv_F`S$|{8r+JKlaqJG%$qy+DtOo~$8~FpRq3k` z(BNK?sO7R0p{=opV$zuy7!LeOtb1q5?jEf@)obha?dn3DrzfvI9sAb2V0T+v+ZVoP zohQD0`Es}X{@RJ)N}xS%`pG>g`1EA(@}d_P6qo*#ZghCC^?KZ8572UiH_q!*jCdAD=v=$!s#X|q z^2z6)-`?I{elb-@aR2>yz3JUY7l9kl3Bpz7Gi&VT$F(m8dAjq&hYuSr=_RfMjRq&! z2D~-8Tm63T#f&STo~$Yk0(ZYBLG!xh0_6>+Ox*QE>1Rq}#ZLef{2VQJ{eBJDOxSUtfkV zyCr=3WWHyqn{OsZv-?-XHGi#HyYuBz`?XA4? z)tnH}(EH=#{o1)A-+uo+nzS)QE3*ZZ>qFD;rC!pQX`;5}X8YuKMx7m%OMUX0j$FBN zWnb-Y9e&W@{wlxqr$zYM`(-SJK%I(h%<82xT~d-jz)5)~xXrvGw@NkGY^~7F?S-zx3?M^lL`bjZ%#yPfvb(Ad&s^xp}s;&!$1fIvE;ng=vWV zsoQ_)mYm?i(<$7{%*>$XSSX}mzp^1{Wr&X0)MHPNCT*NJQLwj@x$MD)NhhCw?(A?o z3F(tx*|2h@X5egtdsnYsy?Jxx#2j`$?U_ysFD!I!H;JkPmp=iAL%!d5R zU0to~zm2nfs?WlJ7e_jUy{cQ!PM-Vhs0CR{w|w?en}2@#>8C*}r#vm@v6bt;{uF+d6FQCZ`De}2po`%0c$HJW=H!kYG3&r96ok)d&kWI@HgoFtrQXxO#DSU+5y_Cn z#x^!{K$&(M|8sCtSy@@xtM&3JmX5YIwq8(IJK^ohd#OSbZ`sXwzGo769Tm^v3doGs zOyj!qw%;SWRCBd9U4Q)* zR3WMhb-sJ|F2^jpa#O9vCQ#CwT2&7oBXsCp8KU*G=HK?Z*V|1F8PD|D7;z6-J;N6+J7U|Pq=Vlco>&eUXE>P>q=lXDdWHrQBBKDp%bOCPo5%1vu6z9!texjB96vi<9)_{jgd z&~EYxWaHK)Rnt9Pvi>E^3-(^NZr!?*Cr^S`=s^nBtxEzlcHGTde?1#iP0C41UYv0% zO}o!#M!J?*x70>RSnHmA{<-@5yQ?1W-oAbN;>C%y%~B7)J-jkWQ?6g$vdBewrXFYn zIqTS;KQ%jJ!lb5$f8IXB$IlkDL@7ou+-&yNKQES4o|+6E{V;VXJ+xz|-qvUDjV!mG zp5mi+{Ma#2(uE8K1Q>5gw|7|_xHRQ=K^CZu;o_2RjpYj4-rYVobGEHtpKr@^wzvSa!655i z#wHm^CD9x=U303JX!p^t0Y;WzL4EBnUsjaOoB^JWT|Rr>yt3VQcbC84W^;3n?mCm0 z17R{TMqj^un`d4AZt3*6O*YWra$Xn^Fv~!Whwb?B<5T-;Z+12FKbv{k(nQJ^66(AW z5fMA8zOK6Trv2W%d)u~|^{%xqd;CBz*hY@O{jk*OHmHZ6e69?+hYeoWuWKs%O_JVeS)+Z7qG3+OZ8fQ`Srr1Dt&r0 z&#X?9vR9ve`s#%X4xk#9!QI&Y0vi)!?}vvE6MNsa@>>1?4W&rQ%U|DdT1BaDzy0Ks zQ@m9Bk1w7GYK~=GzMY&M^h+bpobR1cr$=;jba?o5w@s1Vmou0c7#fOK-bKGA!4IuWWo0pmF8WB_Y0cUH@&0>C=6fnVFN5ldD$GJac(IXyEGc6tAT} ze^xH-_BojFp?LmpnaA=n2j&>BYXm1-8Q)UP;Qajj^78F&n|LjMgTlApMM_EFWzW9O<~541e&`@QP*mjd;ri)v1$_(@#<(RdNmU2Je(2`_<9etYs`x6j51 z9SNSSEv&O=&u-oA0~(H2xH?I5`stbSQ?GL#F9&tcHzpq!0uA-Z^{4;-_7>bS0gwNJ zo2Kgi^R9SoQ$If4M{Vg!*}DDnArb4o{&b4OG0^hm6r;?_O}Uo)QiA4Qe+XJc@agI4 z>89X8ebuy+Dd&tghpA1TSZbDj=cDT64wuD&d-Wzm`pM&aYwD>lU%u?C z{k`h1Tb7IN6rYtLtJbf7|K{fAXHn7IkU)HV=G?hyr&D`x@+%2-y42XovwxORn|&6v zSHSJ^saQ2gpF(w2b3;kGIF>Y;;s zJX9VP?bNZKs;*==|NPssV2F!CzwE+emzwPJgIfS z^2<9T*5-rG?R=VFwQ^Rwc`Xak`U+ZEq_X)eXy4qqAPtc_dF8RObDy4UOMG*CyMOY# zS#z&?oLpjZd3m=7Xy9P`TB(7IGpO!edTtN_=35gyyWY zIXgRhZMF_;dsh2^S^ffe+ zg6prJo>0i{ts?aH?OSk_1|9`1V7Ype|L@D?y|3JTx>sD`&I z-)*dYGSMBpF(7wc8Mv4Ij@&w8CF%u zIXQc3eip$-LUk5K8Od6eXb5#?sN9ZuJH4y?!05H~s0!iy2p* ze=amQ|B>gghFEtRYmP2>zvzKyUP~{%d9&tH&@vY#Lko))B}+~}%UYGv<+k|j*|Sn_ zoxlT}2cDe?uJn5RDQM-DU9v`T!R()vCVFg)FyT4;>C<#@>Ab=6DrjzR-R(&$m+gX- zP5#M!?Uk*4kg)SE)eP1Vv#$NM#ck8yt05;-%%<}k-e7a{@yCk2ao|4VjcHjYuUxx! z?dsK~6LacKLycMwKYV<=-+ggl?*|8k01XjX)%d|~<-3hrZ7w@ztx6G^SYowyOTy_j z*Y#s}K{h$>@vj1v3gu5uOsufUtK6h~<;o9sLC@uvy?Pf+U0BJ>%M01z@q3~9KgHQ+ zpB3%=y7PEg*80;|?%Y{31+wzu#>}6dSLZ~ht-W~hVu=-a$68rS)N7-;cC}G2SEzzF z&?clKHqf5c%m%L(b6>G_Qf5NJgWLE2ef#xP&+h2CricJY3)>>g9!!q_tk>t5)JynGkhC#ui9<{)lB}^`GT_9KX1DE=EH{# z$Fi2mT9@VA-8B_lMwuz}W`|E3)WHQG0b?p^BBmiXoC z*RS8cMa_F7vbD@WUxcf-r$>X=;mhy8>-YV7_2*AbZ0uY&JII%ucqea^Q}rxeR?wWwa*kEkSfv5DO@Z}(?IL3)aO+wftoI0ll@)P)YUJ)+~Q^g zo_as!w$MB= z#-(WI9Je*iR}xODD7`GP65)!p<1DFe*;KKsSszw?>rpV|3jAf@!XDX)I8N8T4cwp7gl$4g{O4AdsziRn@OE3k+|C?o?{@=UU-DQ!WwH>!EUYrPO!nYueJ70 zl;+G?vuB%vd)T*^R~h)bG#y+Jv?=&X&dDoRubNs~t~9)JcuwVfSn>RBN~F=u;8SZv z`P$vx+zvh5@bu)lpxNx7eU2stDo+E?1Z?PcT6p2cjTc2bb^PTdBwoCD@gO1YY}w35 zA9oznicSPiDda2;(UNQ{e82a5R?F<8lM*GQ9`XfkR-JtQx%cwRZHW>4u1$lK!H4$f zE-IO*Db?G>!TvexTSA=C%#c~{6Yr&hcjY@=U3sqVMB3(w9xlo^BeS-p7^zoh@SI%? z8uenBZD2oT*8gSsJ3+@rbhJ}@rQ1D08KS4B=gar+*(%oFXQ%n7EzR8q9`bLH zeNhT($hf<=U*gG1UwIQWJ}C?8TI_?y0sFHfHod!j(%w6+WPYe)8g10+p(AG8?hw%j z&edfLuBU$bSrfN@I_Kk{+n~zvfcU--tk8My1ANPtFE4+0=Ow65^X+Git*z}8pP<{S zlke5=gWC%$c6lu=dU;88=}mrSX6Czh?@DF+$u3W8@9Flikqf`I_vjB$*D7RgJ5EJp18rbtU+igPA^Udwqg#vwt?4>7zH@TW#_*bv>Ma#+;qJiGnl$BrQ5jT<+9yuSZmDfqYvQ02y5`*n5v-*e^rivRuj2|6ZZ z!=$W}DlsX$R!;L)6U@xcwk~;bVP)`g9sh5?|LX7m^Xbi-H}CH51}(OXc=YGz=lj2| zZ9g~1(%9Pi_nqSNp}*fUG#ouM$uqfsZAVW}Pln9(qD4~rGhJL>ay&c5!r`UH5V7^= z(Vzc+-u++s?@#6DD|f6zP5JG9Ea-T1XXodCzu${b{QLX+`}_Ov|5@x`^GG324nKSLY~Sy@@Bdxj|7-pKPp9iA9{gVS$4j&H*_oNv zwQGOB+udKq>9E%5xc!XDC)XU+U1q-OBd8_46toQDSr798tutrO^78TV@$jrUsM5A; z*RBeie@`a+XYChY2=QJRaARX~J9q_(Q0I~$&84!-L9Pf^nrKn}?#^@j|COh!K?5@l z)*$Lp^Gb+nVD;AYo$*5 zg*;Xb_V+*kC`nrFAelB+Jm$N8HC@7c^x{V>L z^HmUNY7sPJkfOfo<0MdvUibW$s=ayJXHVi}xOaK7zuiu==O6#oe|x9D?d|U~-~UW+ z*pmLaySMQm=;Citb{;%NAk!d?C@( zm}GL46jJohW!5O3H1{fRpLL15n%_Zm!yN`@E%EHCZSAj^n5WNE6z(od>higDa3aIo zqvnZ`f0r(~uRLl0{okd5CpP_gp&p+1^Wx{fcIWvv-ON!DdinP4-Q#C$88UnpP0UP5 zQJLxE6_V$s*6$zvjx7Az7K3np3?b<3JVohJ(G*=Ccar?w&d0lb@e| z+189fTYIWkc6PRtIA~$y&X{R0;!QO_yQ|s0c3!m6V>%~;R@c!-t=!_rjvagTSK;>* zzvVlxvn=TBI9Jzk{Bdz{vC!1nQ+_Ig2KMI8o!a38T6?uNLT8?B^|qVakEjWCdZ+}w zU(V1l>x6FVB`Yhd7Atr`o?W}N0%aJa?i@PQ z^mCco3-8FUbzBTLT4O*X!c$MDcGfw6HmXkn%{b5Zf3d%`w(iU4^Y+s<_!xS1=K9Sx zjY`>k^V!^F#sf-ElqO$)ZCm*%#X!PjPZ3B{kk{V-|9)?b@L6Q!{FxzQ^1SZ}oBjoD zjnJ8PHtqFa5rz%A7eDgn@Bh2)g5X-U)Xo!EE?!(%E+O4_)rUdn#Ft7>%}^b&nU;JD zCW>;kPMbC@Jg)NShf~49!5brVCZCju+gZ8w%5O%#!^h?8bwWTx(A-jTa@!6yw6wOi zx+q<|e?R^`J7a^cP3^BQH#R1l&0c$tKZ$eN3(#zNV_K23--^>$env@%3*y6UZN7d3`yNn0Oh{d#TsUC@Q$ ztjBpd;aw+0`j0<<{#;edT;JP8ZT6#ES3D3be|~&S%#;;(_UIH&*A(EGayqsDcydMRF?)s$e6`z`-}4V-ue#HE|NZyhe{F4T z^`?7kUcGtq=GCjA@70ifJJs4$d{CI^p`)Wy^W~zu-t^V0S8I!K&9y9EcJDmvfn6@jm$znL zSFz&tJu5WPQ~spzEaQ9Eu5H`0Wy`Kzw{G3i3Y2G%I(X(xPb$0OlFON9x0y0DiY97K zKMkt#9v$tTJb7}Pcz#^i&eLD+RljdNoY?tj&ROOJR`a|&E50jV={4O}pg(_XXbLY;PGd(V;ZO<4D_NwJ>zO%o+J|{-98^iJT3crkS&sM(C&sb*@{t zuEfgL#H3_G5RWALg#fPBLmQKi=a|iYICb*LCx8CzxxmrzEOqJ$6HCjVACJp>hb%kI za^Q|or_1MeNvpmbPfJVVn>6c%5o3nT>eZ`{CIx2nuXUTA$-LTS*~*nG4<0<|qn2Ee zswB)%oc(G`z+L&-GiToX&bhapUta2q3qwJ`BH?3)AAWfAX3h22Q#J1GStB%aOVG-c z3g2V)3tqt?587|yJ!^naRp_4PfYPznzZr8l`B(R3b)^m)eyOM{km!wGXq~z@${VfUbS653{ou_(_g;bexI-X zun;)fCht3qX8Y1WJx9mgNHh3A!p zb^7qNKW^r?+fnv*mP=vVGe(EQw~Su>_*?ha?d{FZ6D$iHJIZEmP+je!wlqX*s+6SU z#1)`rbs2h7PlQw^hxg0di&aT5+z|ddE7)Jbc-r;XweRv-7Z;L8DLonk==#(TQn z(jd*l+QlFj&fIi5WTwr&4I2Wgxj?Ra=aO#kqBPOE{GEjiU*{v=vre&Uf8*=*rW@}8 zZRD6SL-V)RRqtuvuA~Z8N-?aM`9kh?V`F1qUtj#6N8&<9XU}R?3RV!%nCfLW|NMtj z`g^}z;@01DAXbfG*_Ai3%WkDVdYkn*EQY}%WfA-5Pe1ouIQu^>ePMH@Tz`6IrsoT% z=<4d=W3tXP2r7t`&<@D2M z&z~<}woIjK_uY3}x0=>5a2}}HwQJX`s&hZ4OhjAc z-?Zz3Lfb}e_g%e^Ih+CvK5JHM!e}DhC6FYbNFud}62RdYK=Dc}+YLnZ- z%^0~|)s|klySrRnU0qenn31WWQ?f$##e~wbvas{Q>vz=u-&c3|{rC5p9EE254z(v` z&uCBedbPVU^Tq+E$MREx9zTBE-QCSEZ)dUxG+RF-;_hzHy0NKGf_22U|CwL7{PNCC zn>Ib18{M|IwUza68(&CumygT=wt#s5`F6DrTgBt5UaB6}{#~>0=FLdHXSpY%Vj=ZK zX`7i?tQvz_nCwg|YwPv#`}h4!wz9TvZ)>yr^3m?=zn0@xuJq@84JFoAs6L-5S~% z%@82o>g4!HY4WeU)|D=)!W+UsRSGC^v?-U*WS9{V9v+^azFe+OfUEUS-Tz)`bFKZi zuU|JeGusxczG^uLsDrwE3!}H^UHu`seED+cg%|kbAAJA)x30dvzCJ%c|EcY4>4506 znR)m3#s1xW)miq}@89Kh9_x%5S1f*he*XHkYdL#QdoK;zwe`TwJ!jWk1x+n2_nW)u zGz&v@sHcmx-hUr|e|4eGD8F}S&zvbKFTeh2XIooa**Wj4{-JlXZ~a+rW*=cS_uBdQ zC06DoGeJ@_R;-f_5OUwmxWH{ublh2*q8FTK#DZS~dmo9D96K2?a>r>0^bCSuMr8ZxfX8dkj zaHRB9zvW*U552m7>(9rj!Ii%fS1DgUw|CR2!^Lws9rkv-+qk#n<)t4#c7P)Qv^HG6 z=7Xb!%ruRA_wMc6vqvXTlHt`lA@xfyxAgg&&f8?oay4+dm0E6J<;|RJlO~q1ta>7U zchW6I)15JTe+^yK7``e=%{=vVlS^drhA>dOYh#3tT)($Ses=cn!}9+=e7zp;EyCXL zt7vD;u9?A{Jk_sQ-=2)~-}f?Oi{;y#I{(zLxcK<{ZO^YWpDO>cC`NC(9ZST^V8#QA z!h27fSXu45zM1)2;@T5Srkr~I*(thr=Q)-GcS@Lc*8bjBm;701No?*pC%JZa&8H<+ ztCv^Hr^MzwU1?=)y?xH#1@~{b$moHb&d77Lj*RX5CYon({JAeMHOnaJp zylCRe#fzO^>~36G$#7<^knyFLTQ0x6ZCxm?31<0{imO< zI%mIoUFoe4ZNJ`~UMZ&#==*=&zxoNc#C;eW8mCPMoyGa&oNM*oxP_S`5fEQnQ3WhtKJ)xmX-bc8vn2KD|?9f ztgQUUBHgZY@5JbZKdmf_V+gekU2moE(tclT%B=t!vF@usS{M>KigxbVwoT3C_rq6L zS2s5|3r#(HuxO&D3}5`7ii^)bOUBLo$j{*8Kfmnt`}gkTm}lV+ReZ@zga&wL_h!^_moH&4Yb zmNw7JDYw&|efHjt!o}OSmlxko-`!j+ed*kpGiN%5)${J|3aw?@5TSE#f4#j}_t$UV z!uH3XPrhM!I7Cc4_s5c{E4FReFu_A*Ter`~h&7Wg{HgnYsJ!e)4?}{;#S$!91yzZn1dF{OW?*5-==Brn)Ub}X!&{xICfBJru_obc#-`W5KCpSA>6NQjOaJ~V{aa=>dvDRx zQ)T=+e`ZgQp1{O#^~o;Kzy-8%_i(E3;jW1*WAvVXt^~J^5~`~29^G=2ue|q4*yJzY zQm&r>ne_A1)3fnMZ`_DbUHkHPRP?_>Gb6?o;yWQt(TJ5HMte48Mi?5+wJv|xYkqIS z3eecZvhclEGV0A-mht{wajXAf?#gM&MYr#kd#MObjjS}!yYu4p>)W3Wf7_BK4(e+p zzN$<<=Cw5FXU#mz$JQH?Qg)TSy|prUxr&zXOol75R&)2&|KIn5b+&GL!SxL1N56Le z|NdStW=Fu^dCcDm%JLF3^`>W^X5^2Jjh$){a&yA&n{RJ#=f9W5+^|sk_If%xb8M@>LDquH$;sWDu;AOOV`^8+ zp1=F``?vP=S#owYJMPLq&yj0z-nMI3l-~5G(~R!!EI$7FtCxs5`)S`Z!CsYn?}0|> zgr1weG-6!AZM#ixuAlW>KU;n4*=O~1biRE1=I8G(|6#@LwB%&a2zYXG^6d0eSCuAu z6+avy4$DGA)%xsB(%SmzrVM)+O75Q%$YOKojWIMr!d#A*o^-`;w63kuin0g4SytthxPdI zwI}E0>4ArJPOv=q@G>y}Wl7ax(|G|JOU}>W<>&XViJN{pbmz~@SFe8k^YioDXQ~o; zhf`NAT)5ChDe$!JGO3+0>tg%wZ9FJ;AW`UUvNR8yySuxp*6cP>Wl*OfDr!=P&)T(X z-TPz|jTkLVZh{VQ$umEko0GF<^Je3@e%!p3pss|WXa7Av6`|?+@zZ{|Tm`lBcn|At zo83?@U~6kT)!R4vk(F@6VU_L2!!%9p?a#kypBrgt^zuFDLf+$f+kcsQ%7|1M2iWp0{V_WN7z z#f>ct0lw=_PdS+aX?F9h&ruWW^(lXMhm(a#=;+s*d!9Z`?R>pz?>-D4`1>IQ}GfLX;FTKd};6jJonP4x^m`~=y+HPt~ zuN*jV;OgpdRV`x^eh255uU=hRE3|XB`BYi=T^F}xcUg1To?2vd?%d0gyq$?BHR|@) zw+o8D*}__o@umN<>M{F@z4vb3yjft8Q;}-CF(W0&tM=Q?bfMJ9vn&fPzSzlO?SIy; zqV{X-V$TolJ{r2Do?)tT6g+sp{X;C`4(IZ zS*GlvlX2;*_QFL%XLjw{m6n#K7r(FO{k^^YcE3C{OW)tKt#$dZxZm!Q_2PR!XO|!P z?;QbZKWRUH`Q?o5^2%M*a7A{?f?EVvl5%fV@)XKrb|CU{NM{`>RK zrYTQ6apA&*`|q!RU+J_kKttr!t5?7L?f>{E|9>4(US6&tA|);T`t|GA@80#fEp~Qx zUKrqUe4&TRrOTHu-@m_qr)$~+rDb#93Y?iSoBe@+P30$-&bJ#wywjMVHTPHlZ%`LK zJbb#J=C9_YsMVGeS1w=PoLHH+_3T@H27_sJi7WH#CGxVeULCjpx6vil zICJH9<}2>tg)>5rMdE9}hJvQ3co#(I+}l;EJ<%g%miP9&ySr+CZ+pk_^Y6cP>-22> z&p$1a{ZO21srvrZRBbQK>8DE{AL|88((EWa{QkRr&5sYqdZlmXd^^%9?6q=geQac8 zWaXb9AOHUTE^l84I`||SWMt{-_us|4k4~LB_2I*Zx3}l#Tkd{T;P*7s*4Fm>`}_C* z{CoHAUG(<6uiw7O9pZ~;n5Mexcv)uV$-M2}A!fp}O{cF*Gn(1h*m!!nzPC@vn|JT( zUM`*f4|KrOhf@pzi%YC(A0A@88)hZv>i7<}7NGcowgoeg9j#oYVK;zIk)!GSi)n8#n4+XZ-&4tEz*S@{D zxcKYW(%EO#0_7RXuHL`@|HsG2@7}#@ZDpR&aAHFIdqa*fo zo7qXj4>PN)s;sQ7tE;O1)Ybd@pMQ2^bF4tspC23ZI&^hFKt+i2;?-RYYdq!8Ox^*q z)6LE8#pL&=7EL_)`fFK93CCHs!rgcK%S^b^w1Hz{WE!UvwK{XCkJJvq$~;1vaR`X;lrt^3oF(A=b7xWV7TIu?{+Ew`yxqk6#wu1f1?cf5HD3B&i(h->vO-{cz5sKz1C;Gzkc^F zZ_X5_6eb1V@|jx-D9+f7yCwz4!9VRo#K$ zqYVCkegE(E{{K(zYcI{ayKCv?DSRPW+bdu2nqH62E3szCXmvW6w|)DzZBlWTa{cq| z>*JC_SDuV82d!PYcrg&%CcBWK6<+A_ecij#DZv|K{=9GfzwVnwz0>{jTdy~tR5W4~ z*t%~YsFS+|G{@vQ#Z>+^sGj)qXU`FHu8EuuhlONW>nsjGQkuxoyoWL3`1JU?l}Dz5 z7U6b_>l-E3gkS6Rndy^OSQwb(v88dFSin)^pD- zT(}UlQ|kMtpsi;WH(Q+u-K4?bp&`PhtE*eK`|gKReC^6YodPqnE(X14U!mT9STO{2 zl9iP2)2V+K#-^_Vt*(2oy!3Krt%bqtv;X?*f6D*=_5bhc$9J~>4}SCgcdTAGv)Y8S ziktWE|9@(#_OG|=)~$1{lVg~+Y0sWNx3brJhRmBaYu3z}3onLnd%G{ozP_$-I%k9H zj+k}E>F4h3ueYD;m%jOC)!qy1{aoVzAHIJ6|N7_a`}f98S6_LzZNkmFcVqAV%R11* ze!wIwEbQ8~Yc0o~zTE9owA$giqpyCe_@;cW`TXzS zKd+Qkf2J}uuw1m=cKPz)gvw?lK{+I|_!OP4M=r7&FxsH&>^a^iiCS@n$K z&$Dj5y}f;Py`_oCm8(}nciweLVN&qga@xe)e7e_C6|LF*SCub=<_-mC=9ooCM@v7J zXE2#{%KOhQ{q|h0PM4&^6(0jMmh9Vo_saF_*A_l9|5sY|GZ_?Iww(U*@woi`J(a$Qz7EKd9vymI2wL{H7H z&)eRjoM#s>l?N@uD(n?G~LRprTt zA4Y&?137z9E!L~h->1)f(b-g#$b@bZXLAujz3HBD`7&V01do$D9BvuNorThJ!Pd*RWN^B5T}xv2N}`}uKg<@GuF zYNF@l8IqvX_aH4TZI0jaM-}(VA=BckE-PQ3#&Bg~M#`>|mq9ji(^uqph4uSXMRlBi zZoCINK?$lCUcGv?>Pe%EQlRCk^hj~Nm=kH6r^Z{&^;@UQxI+2ji7i{U9C2NCE7BHJ z#%;e}7rmk)Iy!n|L`-a~=qi2&c9Bk(RsGK+e+FIt@ZrO=m5*YgnF8DwmCv-YvQnvH zOH2KFV#$+6eiIUQ2$dW2lN|EOdpgUOD0^X8ojdY`nh;?WV# z?k}^x>}fw+*_j>7Ak}#1ppEU%GY<K*@poUjzo~f~?N3x0dKU+1$XJ)10SzozO7LhcWdhBSp6$|`?6ow=+uQq$Bzr>P z!hjXKu5YpQo8f6S_ubpKs``u>5uo{BZEdH=pC+Ara_N##?6O;eGpC$?zWMfBq5CFx zQkgEqm@Qd$@7}!#ov{1vlLWetR#jK8e%`75NvMHM*(%Xyrq8+a=e2gt$-nQG!w6-$y^WUp4UuJ$1YG_lEnmOgkALC#pqm?0ArUnKI zhQ=)?SQbdOIxVdJ{?2l)-`~?NN*jOjL>qgl2&wzcxv`=8)XS28pQi6mnP<`9rYtpc zUF>eP!ruEwI(+VHP4#NKo|BtfYBkqIjluW$`|ryyzkK&D@9*gxv)i|CS3f;9RV~*% zb@R>5>F4wErk9qNFTecq-@kuVwh|0E?j`+i4;(lE9;n}}WTXi`II!iL{O-H&miy0N zw|>312s?viY;5eyl3$;mo}T*MW${H}b-z2iN>}&!Zw)`1^zm4)^xnODxw*Ne>t6r* z`ub(buGOno^Yybb?4Ec#dG^T^(4hVH14lZ1PCYERk+UsEPdzZEezAS^H=jio3?AKX zi@(3S`})nBEBkfCx)%n#cyn{}Y+(=PU4@U2bqcE=J9f;>WV)5LwY*KmflW~iy*}>} z=3RenTmCM_LdI;*rcS|`Q-ZRps-iOf8(yEuU}9bCv3}RxEgLoze0y`Vjo0sJlA&04 zuH>{ie$T(YzP|b9nw{Z(j0TK5K{IiFbFEZM4xC!k;p3%w_2R{e=bx);Z9Xg3z_}x4 zU53f8-S_{#J2TUGYWb@NS8m^~etm5%+s?;R&Zf1uxBJhr5bSg@J0lS8#mfu2o@p#56fd>O8zXc;#mCJfAXC4dRG(k->7=?4X#I{s@49vCT3cJIzrPD*Uk;uo^_yd1 zXk!zzer46sq>tCuMyH>jXIuE_$eA-|p8dIY{rdL@2b*Wkl$?G#bhSLy3Rt=#T?GMueWv;8@(z|D{Qf8UjNx-?C$V3>8{*RNlj)6ci4^|T*; zIRF2j=Q3w*Po7p~@8EnPQFHQ1iGO#Ur*k%FzI?Fc{7zM&&Z$#H|NhG{lkRm}d~wC; zr=NcRt=s?q%uHjpV^fnh{`m0lu#3{h4I4H%2e00|*;s_jRY~xc7sITHFM^h3m{{4{ z%X6@(bj=o>=&8B1#x7oK>ZFW-SG#?n?ay7H!6WvELY*#36L-}9E_=FN>;0AeU%*R1 zVq;@%ZEZnES*S_MPM8v8rLgq!%d_TFR+W~Oef$2s-AS>^i(%HR4A3TZr}7`ZJtvk- z39_62{%-mGQVW^3@Vxx|@RFGfGiIHB%GK($Fd*afnmqf;viD261~DZVEvn9u2z7IUK%J>9&9Fx=Cl#E zD|r}}E!pk!Yr~|CMLX{tIB;NR@$`8MTZ@Mzt?hvxMWf1WP-HQRn){PRVx`c-5ZHz@3EuKe}q>aO9|$-AkS9)D6vn>SN>;>+mg=jICkdY5PlTAH2} zt|1av^>V3re9grVr%t96)z!_*{#JeT;GX=udn%2mdU=LidmhjU+Hi2=>aSnFE-&|w zuaEt3!6wQ3BePEr-bkG*Q`2WAIyDY0+aJodI!-s)^;l|XA6wpbhUbVko zE*Cm_w)eyr_k#%mnyQBBe_mW%+;xJ5fuTXR(`{LeUHzvgo}H(b9Y46ozQ{tx+uK`+ z{d11l?AveEK-(4**cVNFx%d0MFH3C#SbG5z$}^XL72eLY3Wci(+lR9RXYy2yfo zfx*Y2q(9eg{&S_vAY~_Bf4%j#to^WJU<`kE&8H`wE}%m)XEel2*PMLv%-OS^GRrqH zy)*jT>2LSbMZ+j`+s%ETsQ=2yz;NMBNy?@5(yAPLFPPdYU7jx?FMs~|XQ5^n3GhKm zb6;NXsw$eXvBvKHn>TBY%rVw}kZ{lKXHDFqHGMw6YP3K*XKr3z?tlCC?Of1`s^!a; z>BWN1R^nNo!&)-)pNoQkz^m{}pgpt)_`<@&Pd_aR51;PxF~ulSZ+fTCZ|9U>!i^3N z^~RENbF|85_UMArS23vMnR27$ql3bP^Up13Y`2#=^IQ01g^gIZ=NX}e;Dzb39p~yk zRM^PZ{aEOds;yx3m(zB&-SpFvaX)WtOooJaZpXWgvXYXWZi|Jcu5DEw8 zV(r?s>-T)(0$;hfL3O9?Hm{XMJ9PrDDRubNA9`4DBxz%eo_MDVkN&%|-Sxk3-v_lE zd>k1W7#xCy-x}3^ILQ9XLKKudq@RAST)6kduasAii8BTU6Vtz1fsa5v@7c3wC&%2| zCpgp0s`As40G4#{F(2EM!TF)P8+3r{hf`t)5ANyBySGQv@So#G@D{7vm)8sR%iHUP z%x|vz?Ur)u#jC5U=huF_x!AoQRwmrm6yaLG=Tp~_rRDR_n_FAI{``|?eU6~ancK6D zMEZkw%_VrRUcLJKe0%X(e+}&H>?|xaN+z7*dSR3+(&-Yka?0U{275OBGd}>{D3GII zl^D~m%J=N8^u$c%{^Of>?3i)-DbN3PpnFUh7`CZM&17n9xc++T3a}j-Gkx^*^o~6) zJgmL{*Q?cC;B6o`TuL;9cg8$Zy6h-0)9jL9%%g<3?CjNd^VGpvNKYHfq@|-$jZp`&Bm)LzZkDMPS50SZf*`=A2)TyoqPAzP5Jfd zv_5DN8p8t5&a#>B?(8gnd&{)*l$c}6Eh+G(!-9+_$Lv##W`2Ht-Z=4(LWfWEj*5?q zE*!Lhgog3oUmt#aeB2i9r#9JZC3wBwYXzfRMHxQpxqh9eazF?89!NusmE8nqC$(p? zEE6-iA3uI9EG!IKg?p+5w8Lh@!C$|s76u6HI`QOdmAbn6&C?|UF3WUZsBRNdx7!I$ zo4j9g3>Ka+v9qfKmt@xtPWY(nq9i!~y!ynWFQFk)SSh5wd`;VlEv-Q-MY@mL$n`&L zhiP{KEidL{YZjWiwz;`7T4So$&l)?>)Yr|t?c29(5db+OVB?-WYmR)oaqjF{&na6) zlrD>XiB(%Ddvg8WZ?`6^`>SX%GcYWWJgJ+iHP!3$=g%K2?tC~k?a;wJx)tEDMGjZB z?YIA)|NrOw(jdZe|lNjw52}mM-J}Eefqhwa}#*atb^&_Qvr`a2NB52$oPO3Zfz6UuYfLPM+@w1C?iG!%S0f4}eamkk|0(UVU<0&kafXuadA zwlu^rmk%}u|?N5 z+2xVm2z37Dou8kdKmNGm;Z)s@6I*oWpD%xRXJ>(hP9SK#Ap^sN z+sU&}Kjm4U8R@cY?vEO~oqCg#Kt*%I)|c`Nwr}4q4VuWGV^ewQ^;fC5n@t@))}6;6 zzu*6VpG)d4P)&bfJzKx5wOZhxyXE&&H76@}_*hSzVX*F{@aog2PdkBY)E``}PSMe` zk9=EFVPj`#s92J4Does>-{g}gJ#ASI707^YjoYx}>eZ`3D?um9cRu>%x+aGCK+p@L zw<=S;=GxcCJ^CcW4m#^s$4}luXqJH-U%R`z`_9uT9J_q1FD7bEKP|cM!Zc8ZNhn<8 zJyT6h?M>NkmsIXWr?&{tKY#t=Ma7F3R6ylS#GE@pYD=&D`Sa(|qeU*M+)74ok39eE zswCKX;>xXCuZnhp8!yvTZ>4U!{WgEk$2N!>mB}Z2dU{+I2X;Qn+y49J=JeOEUke=t zH5MK``F2BVY2Lj(mf%5dQ1Dy~pV3mL4nErTz^Ny@K!g1W2?<$Qr#_szcH~FmulUCaIZsV$~L!T26DFo+-XGD6^_6YLSsJ=xE3_KI=|D`Bw-=}LT=M?|M|OO)?K?6c3As)k>%{OX+LJkoK`Y=>+~+V z7nC9!QrE6u59*Y^XmYcWn?HND_tGGtqq-fteRj{7Ge_iAX4pF;PZ4$o1_$NnxVW&S z$Dh8$s;$4S9eAhdh0)ujtgNhpf&it(mqCq|4LTQXw@scrx%}Ooi4l5PzAnpVfs5Y+ zg^No;n=bk;qy=Ux8NF2!;Fx1q8}%sX9;oAV$y?v>A0q?9fhKTK^XaEe@iAVPlv}OG zA6Nc(;H$&(8;q zSui*p7TSCI%e&q0+YTpop1S6evPvC%CSJtkI|uiKXqkeS6Qx$9o=!UP<6T;Mdh0gh z&}}#C-dEqByn>&Bq2bsP{Vn^y-O6qYKbKRwDW5}24-Za4otX!i6OI38GQzg`XZ$~jbFBR7Bkd~vBCIleMyZpT{4 z)O|i{uBsIdi-u&OyUDK$EZ&suz7SfIz3B9o-Qayg6MWQoA^o5OO)lSW#O*HgeI&GR zs^HAB<;J^QiZ8z`*#@l)bzDu1_I^HR4Q?{zM7k`yTe=&e8Tw8(GyWpMd$s>8?h<%<^rtImMWM_3&h7Z+v(3K2hl zf9}6)?r)MXiks|j_tRwsXz4Kn!#lx3rM+Gv&Jx^O zeO6?7SUXxq_;c3R?)X1RnVFu8pwaR8<>lqa`{lRa%yIg<^K^>EE}yMZ^78T$5)(Wi z2lnVBm6m>ey?(!#)O2ya_Vo1hy`Z%lprG`c&o#Bf2i$ht&~e`Wf6U34lpwEI!vp)9 zVQT^QR+SbM1T5Ngw9sIESfhi&^wXY8%D}aVnBuPEX7kT`PhpK+7G){ZSF}^-Vyac$ zpB>;vcLQt3yN$K4*KT)OIKd^gTiNKU7Pud%KH2lI_U)W)i{1Od<%faoMZL*q)3`w` zMcuv=A=(!?zvt%W#@Bwm`s>%OJIfgu7#!}NbY147Cft2=(Zv-Hryh)576qAH=3rId ze)})zAc&Kb)z|O)waTRy)C_5Q`ZQJ5_}{`1EzPA8)72YKY+;|S7h7Z@Q~v&*>7Jrg zCYFhu3=9X3Jb4G2;^nvdp&-B^5hp2g=C(Ar;gE3u%fUV0zLg!;R-b&bvy-zkGIhb} zE$sEbx7W`;nWCZvy2Op)02f#5p^J;%!97OfnLayXt{wlJptH-TT7ZY`K6onyI9v_( zUcGuXX`_aT-uZ_GH{O`Vn!82pbu{y1OvZL|5kio?%8OGbk>hA}j}?DUi1XJN9N z-+w}-@x&E@9iXOoLe-+`98eGb^iw&z8jZj^k2-v+1^C)!`Pz@XI0iZ<6C54O)NZ9l zMMb@O@nXUX9;M52Q@ob$+-cc=Jo(3$W7n>Q?Y`>=YW*4*{!Q{v(wrQWRZ?>0VSz^o z+hh4}3e!*P>guXa_5{_H)s>Z%wY9O}9{MZ4EvL8a*m1&DP0?kUt-#%7YyN+%`T2Bu z(R@$^SgKME+J1NT{Q2de-5}0|2KoLne8=Znm$z8Wo4T;_c%Lk!=>8@2)<|=y#SHb9 z6I;w5KYskP=HF$1d(%Bdsz#mPHZd?T1n65CZ3VYmo_{`j?wr&<4t6Q_&);-FsS9*> zDMQ0fQN*4Xq%BJtyL_redDvRtT?KbN4;%rN=ytWg#Optb3mq+u(3b3M_O2CA*p{tCv2X;88LY5+_NEs&m}k++_IN6$B<|@F`us$I|S${<`+XFQD*= zj*0@eN|veIO4XWv8qzA!;CuG=@KW#Ti!QEkdD_?42U_ZOih+S)h5p48Up~+O|L4}$ zY@w+OJAA4`K`Uc6T}VsaetYk>ZQC|&QUVV|m8yu(EZP~PBbIz zW9KZH`R&ZZf-~pOd&g`@{=>|`(4g7*ZX<8|VR8MqCwh}*lrGOxoqY1>QP)mO$eAKO zp7-|%yfS)PWT|J=sbuta=AH5<6P4YgqM{%n4;u8nU;qDaijiiZq*VFLZ#n`TXU?7b zRbvNAy`bC285&M@xTzg=RZDbP_E$niW>3Y(M^BzCc{ug z#V?m@GF+DZoiS_HEKs)&JQ`;(zsBzVy?c6rHy?j=Q4(zH=~gm&+rBRWGVs@A53UGL=iMVE8_W;~f$?WixxSrVAS-Ggg=l8_Z zPu0}aKwa|NGc9JYGcY6=Et;q))M@bB5tOwShiHMe%_jDNuB~%XV_;wq7VP!8eEG7A zT4u@2Z_e^3C+|p0-+c4dty_?kthnoVSzTRSYO3oZBdr%kZ`-fGo;!E0=q#T{WxK<} z!ot8a>6{<)Ld8~KYuD7p`>#GBJ)H*@!SLxl0 zi`{wG&pDYQB7E%W#nfBs{l|^X&D8@T1?Wuh8OgbuZ}O~{;b8HbZ>L*wP)^ikS?#P@ zvu4eofBodW2rDBf+*HdTJ3wPf= zKhHKgJ|48pmZ8BJGUE2MC^AV((oDhV?c~D`Ioc099krYdidep)i6nOr1JOoN-boL zg)IZuQB1F2zXsLW-}imD?R@mhW8V4alQsIXWX{~)@1r*P{BzY=3n8hj;?t8(q1`8@ z_^5sUxyL0n$06mGegE;rQ;hZ;T>?pI3cHS*P4zl^_N-^fF*c9^1r{~0u4u~6>G^sq zd%Y(3uq+eHi?-XA27xy6EHW}%aC%Gq%8;yt1O>T%>A0O+w|;#(Js#|?3s=6J-udlY zS?42A|L6U^sVjPTJABxuo_?xwYTMSWwza=XYN2%2Opi;kfvTf{p911 zbF9nzI3Kq+pD0myzyE)oj@V@IejSE}wB_}G{=Qnh-b=*3^p(iOmjwbd`JRB6ZM_7w zQ%!a|Elk*cJ32a=cfCyi@#Kv&E)=Tg9GLKtdFGrsBCFP{=M)09T4!DP_3PKCPoL)h z|2hA3E!R6ES-xF9?2~-d>OVBgdq9trxo~CQpHJSZ+ootr@YH=c$R4*oe36Bjf|0Dp z%8(!<@QPgqh6`6*zTa?LeDUYc%Fa_adYUWQAASBg>Esd@?tc7OReXGWyube6&*yE^Ss54(C zQ=qFVeV|?OS=T>(+BB)tCvLsD2p20je|VS7n|}WJ&E)Eg7e=yE4nGvIvbcWl-a2r?Jeyfr`4e(jL;vyT&z~F5>~Sf~ahv{f z0ciAli+d0Fcx&IR)YR16T;GhCdHYTunefrsdHTx*i!Q!c>OEa0$gUh5cT--pe9XSS z?(WXw_7f!;9X`h<%rHI&DpMNNRHbI#t9(9p;zYsDQ#XXzKl5ox@T3_@uD_mL0XlTS zRS;~zgp8C^&p(3)88@o#@?n4av0{$ja+m2R(>BZ6*UbT+7U%1p*S{9LG1{rx5v*$J z>8H=0Jqrs9Q`uK|H}AXszsL6L)~(wH%G{v3&dFuBPyYVD-=g#Pss>6%FFIWk@axgs z3w&v{b6ayL|-l;d4anZ#W2M#p2q=Nf4CX1K*&)>FX3uI^yGBqZ_BNZokThT~z zL5LP;j1e-To#EE%v~ca(v*0x(GkyI0{iWl?tQCwT4?O?OdA1UK1Js3*y8plL*MB~1 z?zH^VqmLDK^QTK(?|EA={UpP~f*)V6$Lmk^YLnLjw<8@cPn`XC!IV!GHs0ReLf(!W zWq0|obsT@JtgH;~m4ZjdXZ5{!(_Uav^Zi|H=cyZf6HhYi+BpR@p9vbs2RA}4gt&aa z!NOgB#KAqj%{M{k((KujQ<2KRz`!B+)(BM9Zo0u3tHx|0 z)3cZBf+}zyr^X=nfW2b_{_3+F2<=l5ucU62;5$`+F@T8&eFHhTThhx=}@9eGK9-;+phd2~Z z?DqM^x*W7X!Kln3#pu|NA3q*FdUUv*pBFMAn4#C|^bmaZ#Muw04klc9{P729{5F|g z=8Uo1$`GyTr-ia-fbH^4DJ?BcO?AzPxp#GSxPI&|m69Etw-=sH=_#;yQ(&PoYYC{3 zZ%|XRO0=1Ndg|%ay&@v*Z6{KA=AYlbWy_S)PkH=(L5GbnWGF3~*cn+_>X>5WW;CP&E-z4)xSM`gSJznuRsv$i%i=^d!;%LCfZ@>uEe!^Njl zW^{IPF1)b*|H;~)Pp5;&1QQf4HdiiQym+FA%OY?X`Pj`rpJF65RT4CTctPihQn1?O zne*qH@6jo9O))wHT3h#P$uAupaMAbiB3*SDQCUlbjpm6A3u6e*Lw=;*@K57W*veq_Rs^(&svwi+c4|p z2f>*mt}!wN8jnm5sY0? z0yB9Y7g&6`U~_o)Qb>q%oj!fqE2lqKLEu41Tx@~Cd4ruXd3AMmpye??pH7djd)O)t z4q9HnF9~rwV?dJ)Q#TqbO-^(%H{5+U@2@jxTGK>lXLIGw7(KCW&B0*jC&wW zL8;#_%67}!*Tv|F#p+E5cg1Dq#H3sjpJ_28T)bpvPsvNzHocwaSQr>C{P?okv~#!5 zujQX7dK~$1>W1jVlO9itDhmq(!6&gWFi6ecclye`dwHN^4ood9G&Y`R+x;kE-bAN` z69Q8I^7mf_rT^YF0UCS0T=E9D=%)s+oRV~|V(x`hqaXu`n!jJKt7=^aje%y=_|LZ! zm74ziW5t`Y-NzqK)aaWlIJ0MpkD9s~=)UNOQ^C_-7ar{U^=dV!1G5x#yXND5do`o0 ztn8nA)Gr!eSLlJ5H<#e0|!s)rUrr9M3ypqosf`P^n1qbTetpwXt%HVeAXP&Bmb>-J=JSz z5V+{L^x@PBkjtMGSk(P}9nbyMM_X9IZ;pi`xWZ&tET8WAeY#7%RllsjOdil>YEyoF zx$MsipC`+3C<2Wr|31hr4{ld37Lz$+JmYR2Xl5O>XjzF$p;TTEYO<{YxKB%`}utScF^jDw6M6^i>XF4jz5l!ib?|a#+Obx{S*}BoR8zy zfB*9G@}1OG;!2Ybez6hmw0sO6M9GL)6cx=9dz~h0~|6U@f27Bi`#aecCke8cA?j+v~aC$-3&xiicBe<<5iF zt^IvpfB(a&6@sy9f=`Pg7eUG%L)+S4TlVg~3#uS1v$C=h5*%KvvdMCsezM~Fy4cAP zsjF{*TR0QIy&dqng+keBHOJ?>=KmBys^5v@QUVtY8GaTY;KDG+YHjwLd(Tm&j z0<=sA6i$y*jb<)gs@mx`d0&7BID9k~fi8d)sa(0Q!{^xK-}At$K1>uY+HSM|ee?XI zk2_pauXOD8ImXSxRQ~SHL< zLOE)$r&i!CXhUdvQBlw$qb!#cqj~=f8!oh^odeywWFob5x6e$UXMcWvmN~OppYK^G zN2`;Q`7ABx&$n*hR(-|%-@dwB{I=V?d)5E^&2QeFc6L&{N|4#<%QI8Xx#-0|Nn+eB zb>mDDlWFb6T^0ov;zAp``Pd~)H#96}2x8{0*wP^KfFVyeEGLIACqCc++l1duTxATE zdMge_ChR$&C>=3J!n5n3LO=fADWP(= zH~#e^)z=R{*Uw{TVA!LxQ!n^~=AP%3w zzCAfDb*^powQad?PgWF8@ln#6>a{XtlE<@Ix(o~sH?~BrO+MbID#ZErpLjp_eExCsJNrBLf8NOb z%N#1)5WzX`KgZpTyvt@-q*_Nz@lk5Jt0pv`okc!jOO)>0lMD-@kMDo?eP8{jx&KT5 zJaAkZbaEoU|J)z%h2um1tY`Z>m9fEXk^9VP)28Xg@6(ysBkq1uMd?Ov(Au!A>Y$^d z3{SHt2wBZ_ul9W0fB)aD`6l@?Huke_RbP3_^KLa0!(Eqt(D^HIPkCijCv)81R=jhL z3%BW1FIl^q8SRw}ixdhSY+u{defzrq%bDs=I$zuV{mfvHnDao~cphwtt8 z-ak|7%XKz}UnlNv4E0)iIrFlK>ZFg4G-fW*(bLn@*Y{RQH=3EZefR$T`ht86zxEUs zq#g43RX+W_UDchN@&Bg(fB*Qdd)vgH^WE-AdaJXV~h@^GCEFoY&Eu_dGX0|M}<2weZ{I zrKN@DbFti?9J85Kplsz6$Hy-p?@izTdp=9U38C2O%cpoPzwC6fqR{5dAiqfU@~c;?F0iHT5&3s! zl2DJq&ULG8E$8~FPxkauV@SMSxvBi`N8_b`=D+!||C4#de+C6Rm-jdJ{r~s-`MJ5f zL1#Z%#L1{m7CF7?+&tUt+uK}zbPB7#yR%byA`io@C2oHIj^CI6BF@OL>B%midC!0D z^PjHCqcL-dL|fs%Ka~srpE90#X8*s}`+w~_|2d4|;pM-du1${n_TXS=di=erPhX_} zG0Ht-?BL&Ny{#?rNs*;lPdj6M8fR2wq-FKDHAm`SoIef+A+#NPh@z3TUw{>M%)N)ejkx4d?d5RB%)7sBZ{`v3odFr3?Ie)1e-=BB&atw>y-f2t@%F4{_46jr?I6v``%C{bM zq0WsP4bx^awA@Cd^hcmQPqwyu_w3P`*fag8d~#FH?SBuN`CIbL(v4=e^UIf6$#xbn zTu_*5lVMZ4=X=hDcyw$A$Iv&Ts8*-0-Ip{rS;N!BSJ&Q|{Z_O|?9rF*pn z!;25c4%&O(`?=bB?|W%>bv~7S->yggXHbxP^6o~|G*eU4Pz{kS>W@V~q)%J(_3PId zJ#%~e^|n8MW~zCqF(_WG#7OdLPts=EoVPB0CE`BQscDkuwI@%Oy#Kxb_x$QgP?1r# za^mFwAHTEzb!BK+P_}!nk6OQ+?JC=yK`Ym+Uk~2&{ygi$CXJaXvAfI8md18Ic^<3Q zS-?=idsjc-_GK!++?S|bH6M>YKHk6o_ucniE#lp- zr#Ds15Eq)_^Y_87b>Aj+>IpYY_;st=29&7`FY-R-=H@<|7M$_XC{9duvd-;o*;{8F zQ4aA^W0?4%-?_&f8MdYaC|E}Lx=gU;i z787oGkqyesDOUCW{_HG%t}^K(7az|r?v9-a=R2QQ3O#)M_%UeXMv0ZsLxvBx=9S4U z?Xj2h?A=%S;>Kn5-v$vfV@eLHokXea3Q!G+VjWXNxF6H& zb?yEBlrLU$npuE(5&!2`U#()7eMtD*yyNn6|I=rUG(p95nvC7Y{j#s@svaLWF?;6H zI}87RKfV0e?e>2!bnVtL3oySetFEcBnRwy8#rmsRU#nstZBUQnRhF-^<<6aTDnoH{I zV)V|RIb+ec*mh>58iU}3qykO{p3Xc8eX;K7=;$dv4;`nk^jEp}4AiW-5|rQfEVz9A zz0BvAm4)M@e@>`*{MI;szu^IW9)`HtFJy1eoGE$!GiVf1urJ)qCoID)=Q##*&ieKLbMka?TC*Rfuc$rG|#^|X}>1sdCQb ztc#Ljpeg8dJ_C)J3@ss9Pf}ifpI3YMzC}Sp6{o|I&a#M2sPvY>+tRVIDR(wKQ9a@x|Aw3$&eoYSzDu4hP?V(b@2TJ4rVX4!nVW{Z*3~~ zF*Z%&ba=7kp4GR%SEg?@KmM#weqM#M=GQmx#H*jqUH?W{xc{wr^o@ zneswsa!^-$<-$XgKGsDnKr`5;$byCo)14kA<{{ML4 z@~iB!j}vxHu-owe>3Xwy3<^e1cKJ+8jonwXGe9H5|CsjTlvnKMKhHY5%*Cks7-P$g z&CC1iiq9D>l(Vf}cBOG*$|Fry;f58rZr-#kdg7tAv|eX()Y^4x)^MCHd2ltr=xcNC z?a7lT3!MZtS>jfj^Usd`zy7^#-G|d#EBWQ_?|x@*%D;c*yt>NE^;HH(pGh$UUU~hs zth~In%>GK2>HY7q*QatEU;R+B(q5$dC}^uY=sGATotggcNd2ue*YxXT%s=@Xw|1VniE#8~5=roJMmwOeTeSV!a-v8^m+r66L zmFw9)e`PrETIj9O*)wOJ6zv4v{UG$P!gPwy-vA8}oAZ-z)D*qAu&|k(-v~5?bisU) z>g4yox6C-yHfg0i&*2rn`jEt!y~Yn*3yEj9+z8!NF@LzHd)f z$WHO8-LzrDg$xtW5e2q0v$ruYF#Nrex1C?!ZjRT|E$Yud|I`j&_XO08u8_4k^IHD? zch#ikNh_~rd4e7Fx@zyeckk9+2we8`=~K|=%NM4KHZP36dTxvmd9@K50Kb2OS~wZ8 z^B!AxX`cUlgF#TMWah6Uo7T7}DQ@JQ1GcnQ*vFY;s?WAue_vn2(;{Y5d}@PMhM1X~ ztA6V-hK8g2Or6t{EFO1WcR6`QeOoTKs=Q^9%1ob2pn%<1-_51{C@Kd8pvW17dlztJH_Yk<6U`s&R(Wh1X!N!Jj_z|8rHLm~z_KnUWmAK^)~;Va{d8()${w|}nZJ&2TC;Yo?#|0T z_5Z)u-+x&Wv~r4z9RmYHlmCj%H`jbixn4Ro$Z5aEBamTNzkK;}<;s<<+1IzIv(GQv z5~aKEG6Mrc%Zal_Gneh$x>fbN2Iug?WAZyL+_mCXF5HUGT25GT0eW?;y)wzd`)78crn zE^-=ZdX%r?(bqtuuUBu~idq@+$V8Zd!Qn}X)!cS|d9JmmjeU#j>gFx{Qm`oH)#?Y6 znLDRxgRW?7SaExMzV^n&pbdlF-Q7YbD{9XeeGT0hu|>!Gk%#1Kc?Jdsmy>HxJD&(N z`a1RXu7l6nf7Zn18-ev|T(sVHG-+dmj+e^guOAK8ueUk>xi&s&n&wn5S?e;LAAW2M z3=L(AVwasg>uc82E~XkBKXchkzvZoLzl~;|xpyya{q@P9q$yEUq&oSr#qHa-uV#f- z8*N#T@=E)%$@;jxT85{W)crJD56zN1mf&ucM&m)=7l(9$_n$p`cIL9m$H#czo;*MO znXive20uFkgG5nLtlDK0b2GCRyU^pW7oWb8-n?E3!obi{Vm0^o_xId)H*U?X&dNHqNvE@5kDb@DI&QN?9wu?%sbLPmy9Vzn z@69w$Z&DTDQ1n_>H~DuO_)2>Lr7FICl>1+{%u%oc&J9p4CA#p}>; z=No`h&k^;-_MB164=il=7j*H>3php+ciaps1& zz@krC(9X`T?)$sDaqHCu`4|`swtzbYvuDmsJX|p&(CF*z+}r8r=ZWrmCsQN+{yn59 z=F#05sdl`u=6-o>c(qZUO=&X|Ih5^)yAsvS1C^m5CQ1=e7xsZ*yOJ?h%| zYHnfQLpe_~m_X4q6qp*6WCqvez<3 zj#=Jqi5dROK%=1-{J!+PRi9t8Y2QA*i9E3tGt3!Uog5#9&I{6ljUzBH^t$Z!d0F!7 z&dy??lNVa`E;Cs48Qa?K-L_3lu({OGQgIds z*){J8=h{hUQjG5AO~0zmz`(HUMCr_!>vQML)0=+!*5rkP{GZtln4IMn*AwAl?fmfk zv5(N^AO;2o=M`78G&fH2tXA8y__T?{wA8CvrkyG4ZZa`2yinc#@1V)q&FSYiCE7gE zn8~&{YHb~8U-U_E5q%*$J^lHEgU#*y^4I3Qsl2!Q{XXxLB1Kbtniaoi^?{3;s;#$k z7vANc>a{dPi__MwNpFfz^TsV(wrt(13b_g1VR7~Mccr`U=9p;<%AGOtyfd%SZHiBG z;M%a|%a^N81GS487#2)?A$xo2(xs=T>jxXP%BWsWVDUbn>IFKWn}I>9Q!X_sCgw?K z+>bybUN^h>=bsh{%?F(*pfl44eBDrnA}FzjuD^cMSgvl0Pjh1AHPA`uLLDDJ7GARl zZCO!_GUBXlPUg*%fd>}+?>dculy_PPrwR|B9ZY_M6<wFWyiPO%-NJ~ zBcw5t?U>2g;N^atwewSqX8!*Ez8pM?!O)#Eaw zw83kvtXTH@_V)H>`tvO_-jOWLImM?r1l$(Nzq@Ox?aZZ>3=9nG*Wb-cH=609w9wYF zV$yM)V3iLB`4eQ0f2@sv^u!pv=;Hd7mnAj##c%x$SQ&Ed`t?>h8ApAuWsX`RTsvd@ z7AcEUa`W`p_zTOKFgQvfYguv-s0Mw;Qnt)}>;Eqz9kZ4*yF zRhhI{h8R6{!_!N4fToN-R6X%p=CyRw&YdSe?^&_nv`K<_ z-kpNjaHW}-L2bPC$?56OUtC+`zV$ZH3b+H)rcVdu?p12vdYBm)_H2qz`#(!TI4=+O3?d#zu$q!P81s>moWr%&IStk^Os^MKCjT}4m576weup||?{2tps9t_B)oUp@gB$~`%Zc+fxI5u&+E(@3+iG84QeEhOMzL{H<_D?X zW8g84>p6@J3~|067Jlv&R^Ot2J!|XRx4GBsT|nme`uaXCvg`!)@E91@FT0z!{PN2X zt)-xW`m3)?J2%e}ICN~!!RXl7wbx$@ojmwD8g!py!}Lq9zecUS2D;Md^k3~6sa*oQ ze44}crayo7Oy>B-c|M?J%nwB0ynU;=k@xY@q{8g%?n#81~>NO8ehoX z1|6Q;>-PBC+GwGN6C6&ORJ1xB{A_c2(-!s3{}>q<9*B0_+n8%21 YbDz*=9pz~ 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 A>Hq)$ diff --git a/plugins/plugin-grainline/package.json b/plugins/plugin-grainline/package.json deleted file mode 100644 index 165666f7afd..00000000000 --- a/plugins/plugin-grainline/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "@freesewing/plugin-grainline", - "version": "3.0.0-alpha.4", - "description": "A FreeSewing plugin to add grainline indicators on your patterns", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": "./dist/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.mjs", - "wbuild": "node build.mjs", - "wcibuild_step1": "node build.mjs" - }, - "peerDependencies": { - "@freesewing/core": "3.0.0-alpha.4" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "10.0.0", - "chai": "4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8" - } -} diff --git a/plugins/plugin-grainline/src/index.mjs b/plugins/plugin-grainline/src/index.mjs deleted file mode 100644 index eb56aebda63..00000000000 --- a/plugins/plugin-grainline/src/index.mjs +++ /dev/null @@ -1,56 +0,0 @@ -import { name, version } from '../data.mjs' - -const markers = ` - - - - - -` - -const dflts = { text: 'grainline' } - -export const plugin = { - name, - version, - hooks: { - preRender: (svg) => { - if (svg.defs.indexOf(markers) === -1) svg.defs += markers - }, - }, - macros: { - grainline: function (so = {}, { points, paths, Path, complete, setGrain }) { - if (so === false) { - delete points.grainlineFrom - delete points.grainlineTo - delete paths.grainline - setGrain(90) // Restoring default - return true - } - so = { - ...dflts, - ...so, - } - // setGrain relies on plugin-cutlist - if (typeof setGrain === 'function') { - setGrain(so.from.angle(so.to)) - } - if (complete) { - points.grainlineFrom = so.from.shiftFractionTowards(so.to, 0.05) - points.grainlineTo = so.to.shiftFractionTowards(so.from, 0.05) - paths.grainline = new Path() - .move(points.grainlineFrom) - .line(points.grainlineTo) - .attr('class', 'note') - .attr('marker-start', 'url(#grainlineFrom)') - .attr('marker-end', 'url(#grainlineTo)') - .attr('data-text', so.text) - .attr('data-text-class', 'center fill-note') - } - }, - }, -} - -// More specifically named exports -export const grainlinePlugin = plugin -export const pluginGrainline = plugin diff --git a/plugins/plugin-grainline/src/markers.js b/plugins/plugin-grainline/src/markers.js deleted file mode 100644 index 2dc576b2e84..00000000000 --- a/plugins/plugin-grainline/src/markers.js +++ /dev/null @@ -1,9 +0,0 @@ -// FIXME identical arrow paths for dimensions, cutonfold, and grainline -export default ` - - - - - - -` diff --git a/plugins/plugin-grainline/tests/plugin.test.mjs b/plugins/plugin-grainline/tests/plugin.test.mjs deleted file mode 100644 index f8061011dbf..00000000000 --- a/plugins/plugin-grainline/tests/plugin.test.mjs +++ /dev/null @@ -1,39 +0,0 @@ -import chai from 'chai' -import { round, Design } from '@freesewing/core' -import { plugin } from '../src/index.mjs' - -const expect = chai.expect - -describe('Grainline Plugin Tests', () => { - it('Should run the default grainline macro', () => { - const part = { - name: 'test', - draft: ({ points, Point, macro, part }) => { - points.from = new Point(10, 20) - points.to = new Point(10, 230) - macro('grainline', { - from: points.from, - to: points.to, - }) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const pattern = new Pattern() - pattern.draft() - const c = pattern.parts[0].test.paths.grainline - expect(c.attributes.get('class')).to.equal('note') - expect(c.attributes.get('marker-start')).to.equal('url(#grainlineFrom)') - expect(c.attributes.get('marker-end')).to.equal('url(#grainlineTo)') - expect(c.attributes.get('data-text')).to.equal('grainline') - expect(c.attributes.get('data-text-class')).to.equal('center fill-note') - expect(c.ops[0].type).to.equal('move') - expect(c.ops[1].type).to.equal('line') - expect(round(c.ops[0].to.x)).to.equal(10) - expect(round(c.ops[0].to.y)).to.equal(30.5) - expect(round(c.ops[1].to.x)).to.equal(10) - expect(round(c.ops[1].to.y)).to.equal(219.5) - }) -}) diff --git a/plugins/plugin-grainline/tests/shared.test.mjs b/plugins/plugin-grainline/tests/shared.test.mjs deleted file mode 100644 index 7bf4f668398..00000000000 --- a/plugins/plugin-grainline/tests/shared.test.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// This file is auto-generated | Any changes you make will be overwritten. -import { plugin } from '../src/index.mjs' -import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' - -// Run shared tests -sharedPluginTests(plugin) diff --git a/plugins/plugin-logo/.travis.yml b/plugins/plugin-logo/.travis.yml deleted file mode 100644 index 121b29f66a4..00000000000 --- a/plugins/plugin-logo/.travis.yml +++ /dev/null @@ -1,9 +0,0 @@ -language: node_js -node_js: - - "node" -install: - - npm install - - npm run build -script: - - npm run test - - npm run coverage diff --git a/plugins/plugin-logo/CHANGELOG.md b/plugins/plugin-logo/CHANGELOG.md deleted file mode 100644 index 5c39d52b2ae..00000000000 --- a/plugins/plugin-logo/CHANGELOG.md +++ /dev/null @@ -1,33 +0,0 @@ -# Change log for: @freesewing/plugin-logo - - -## 2.21.0 (2022-06-27) - -### Changed - - - Migrated from Rollup to Esbuild for all builds - -## 2.19.6 (2021-12-29) - -### Added - - - Added (esm) unit tests - -## 2.15.0 (2021-04-15) - -### Added - - - Render logo in currentColor to support dark mode - -## 2.0.0 (2019-08-25) - -### Added - - - Initial release - - -This is the **initial release**, and the start of this change log. - -> Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-logo/README.md b/plugins/plugin-logo/README.md deleted file mode 100644 index 19765aae122..00000000000 --- a/plugins/plugin-logo/README.md +++ /dev/null @@ -1,294 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/plugin-logo - -A FreeSewing plugin to add our logo to your patterns - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). -> -> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-logo - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Adam Tomkins
Adam Tomkins

📖
Alexandre Ignjatovic
Alexandre Ignjatovic

💻
AlfaLyr
AlfaLyr

💻 🔌 🎨
Andrew James
Andrew James

📖
Anneke
Anneke

📖 🌍
Annie Kao
Annie Kao

📖
Anternative
Anternative

📖
Anthony
Anthony

💬
Ari Grayzel-student
Ari Grayzel-student

💻
Bart
Bart

📖
BenJamesBen
BenJamesBen

💻 📖 🐛
Cameron Dubas
Cameron Dubas

📖
Carsten Biebricher
Carsten Biebricher

📖
Cathy Zoller
Cathy Zoller

📖
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

💻
Darigov Research
Darigov Research

📖 🤔
Elena FdR
Elena FdR

📖 📝
Emmanuel Nyachoke
Emmanuel Nyachoke

💻 📖
Enoch Riese
Enoch Riese

💻
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

📖
Frédéric
Frédéric

🌍
Glenn Matthews
Glenn Matthews

📖
Greg Sadetsky
Greg Sadetsky

📖
Igor Couto
Igor Couto

🐛
Ikko Ashimine
Ikko Ashimine

📖
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

📖
Jason Williams
Jason Williams

📖
Jeremy Jackson
Jeremy Jackson

💻
Jeroen Hoek
Jeroen Hoek

📖
Joe Schofield
Joe Schofield

📖
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

📖
Kake
Kake

📖
Kapunahele Wong
Kapunahele Wong

📖
Karen
Karen

📖 📋
Katie McGinley
Katie McGinley

📖
Kieran Klaassen
Kieran Klaassen

💻
Kittycatou
Kittycatou

🌍
Kris
Kris

📖
Kristin Ruben
Kristin Ruben

💻
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

📋
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

📖
Nadege Michel
Nadege Michel

⚠️ 📖
Natalia
Natalia

💻 🎨 📝
Nathan Yergler
Nathan Yergler

📖
Nick Dower
Nick Dower

📖 💻 🐛
Nikhil Chelliah
Nikhil Chelliah

📖
OysteinHoiby
OysteinHoiby

💻
Patrick Forringer
Patrick Forringer

🔌
Paul
Paul

📖 📝 🌍
Phillip Thelen
Phillip Thelen

💻
Pixieish
Pixieish

📖
Prof. dr. Sorcha Ní Dhubhghaill
Prof. dr. Sorcha Ní Dhubhghaill

📖
Quentin FELIX
Quentin FELIX

💻 🎨
Rik Hekker
Rik Hekker

🐛
Sam Livingston-Gray
Sam Livingston-Gray

📖
Sanne
Sanne

💻 📖
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

📖 💻
SimonbJohnson
SimonbJohnson

🐛
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

📖 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 📖 💻
Tríona
Tríona

📖
Unmutual
Unmutual

📖
Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧
amysews
amysews

📖
anna-puk
anna-puk

💻
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

📖
biou
biou

💻
bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨
brmlyklr
brmlyklr

📖
chri5b
chri5b

💻 ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

💬
econo202
econo202

📖
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

💻
gaylyndie
gaylyndie

📖
grimlokason
grimlokason

💻
hellgy
hellgy

🎨
jackseye
jackseye

📖
marckiesel
marckiesel

🌍
mesil
mesil

🐛
starfetch
starfetch

💻 📖 🌍 🎨
timorl
timorl

💻
ttimearl
ttimearl

🖋
tuesgloomsday
tuesgloomsday

📖
valadaptive
valadaptive

💻
viocky
viocky

🌍
woolishboy
woolishboy

💻
yc
yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-logo/build.mjs b/plugins/plugin-logo/build.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/plugins/plugin-logo/build.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: 'json' } - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/plugins/plugin-logo/data.mjs b/plugins/plugin-logo/data.mjs deleted file mode 100644 index e6636323887..00000000000 --- a/plugins/plugin-logo/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugin-logo' -export const version = '3.0.0-alpha.4' -export const data = { name, version } diff --git a/plugins/plugin-logo/img/example.png b/plugins/plugin-logo/img/example.png deleted file mode 100644 index 70ea646c479a85634567fdcc169522b0d8ea733a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81019 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

+cs8ivAP_NET*bLpuf+8D8ZlQkwX>7w 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

@)9Ap90;cef0YwmEhwF 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 UC#jVG2Pm0&y85}Sb4q9e07*=2eE (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": "./dist/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.mjs", - "wbuild": "node build.mjs", - "wcibuild_step1": "node build.mjs" - }, - "peerDependencies": { - "@freesewing/core": "3.0.0-alpha.4" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "10.0.0", - "chai": "4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8" - } -} diff --git a/plugins/plugin-logo/src/index.mjs b/plugins/plugin-logo/src/index.mjs deleted file mode 100644 index 1d2250741b9..00000000000 --- a/plugins/plugin-logo/src/index.mjs +++ /dev/null @@ -1,18 +0,0 @@ -import { name, version } from '../data.mjs' - -const logo = (scale) => - `` - -export const plugin = { - name, - version, - hooks: { - preRender: (svg) => { - if (svg.defs.indexOf('id="logo"') === -1) svg.defs += logo(svg.pattern.settings[0].scale) - }, - }, -} - -// More specifically named exports -export const logoPlugin = plugin -export const pluginLogo = plugin diff --git a/plugins/plugin-logo/tests/plugin.test.mjs b/plugins/plugin-logo/tests/plugin.test.mjs deleted file mode 100644 index e3829a81d67..00000000000 --- a/plugins/plugin-logo/tests/plugin.test.mjs +++ /dev/null @@ -1,16 +0,0 @@ -import chai from 'chai' -import { Design } from '@freesewing/core' -import { plugin } from '../src/index.mjs' - -const expect = chai.expect - -describe('Logo Plugin Tests', () => { - it('Should import style and defs', () => { - const Pattern = new Design() - const pattern = new Pattern().use(plugin) - pattern.draft().render() - expect(pattern.svg.defs).to.contain( - '

@freesewing/plugin-notches on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-notches - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/plugin-notches - -A FreeSewing plugin that provides front and back notch snippets - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). -> -> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-notches - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Adam Tomkins
Adam Tomkins

📖
Alexandre Ignjatovic
Alexandre Ignjatovic

💻
AlfaLyr
AlfaLyr

💻 🔌 🎨
Andrew James
Andrew James

📖
Anneke
Anneke

📖 🌍
Annie Kao
Annie Kao

📖
Anternative
Anternative

📖
Anthony
Anthony

💬
Ari Grayzel-student
Ari Grayzel-student

💻
Bart
Bart

📖
BenJamesBen
BenJamesBen

💻 📖 🐛
Cameron Dubas
Cameron Dubas

📖
Carsten Biebricher
Carsten Biebricher

📖
Cathy Zoller
Cathy Zoller

📖
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

💻
Darigov Research
Darigov Research

📖 🤔
Elena FdR
Elena FdR

📖 📝
Emmanuel Nyachoke
Emmanuel Nyachoke

💻 📖
Enoch Riese
Enoch Riese

💻
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

📖
Frédéric
Frédéric

🌍
Glenn Matthews
Glenn Matthews

📖
Greg Sadetsky
Greg Sadetsky

📖
Igor Couto
Igor Couto

🐛
Ikko Ashimine
Ikko Ashimine

📖
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

📖
Jason Williams
Jason Williams

📖
Jeremy Jackson
Jeremy Jackson

💻
Jeroen Hoek
Jeroen Hoek

📖
Joe Schofield
Joe Schofield

📖
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

📖
Kake
Kake

📖
Kapunahele Wong
Kapunahele Wong

📖
Karen
Karen

📖 📋
Katie McGinley
Katie McGinley

📖
Kieran Klaassen
Kieran Klaassen

💻
Kittycatou
Kittycatou

🌍
Kris
Kris

📖
Kristin Ruben
Kristin Ruben

💻
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

📋
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

📖
Nadege Michel
Nadege Michel

⚠️ 📖
Natalia
Natalia

💻 🎨 📝
Nathan Yergler
Nathan Yergler

📖
Nick Dower
Nick Dower

📖 💻 🐛
Nikhil Chelliah
Nikhil Chelliah

📖
OysteinHoiby
OysteinHoiby

💻
Patrick Forringer
Patrick Forringer

🔌
Paul
Paul

📖 📝 🌍
Phillip Thelen
Phillip Thelen

💻
Pixieish
Pixieish

📖
Prof. dr. Sorcha Ní Dhubhghaill
Prof. dr. Sorcha Ní Dhubhghaill

📖
Quentin FELIX
Quentin FELIX

💻 🎨
Rik Hekker
Rik Hekker

🐛
Sam Livingston-Gray
Sam Livingston-Gray

📖
Sanne
Sanne

💻 📖
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

📖 💻
SimonbJohnson
SimonbJohnson

🐛
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

📖 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 📖 💻
Tríona
Tríona

📖
Unmutual
Unmutual

📖
Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧
amysews
amysews

📖
anna-puk
anna-puk

💻
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

📖
biou
biou

💻
bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨
brmlyklr
brmlyklr

📖
chri5b
chri5b

💻 ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

💬
econo202
econo202

📖
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

💻
gaylyndie
gaylyndie

📖
grimlokason
grimlokason

💻
hellgy
hellgy

🎨
jackseye
jackseye

📖
marckiesel
marckiesel

🌍
mesil
mesil

🐛
starfetch
starfetch

💻 📖 🌍 🎨
timorl
timorl

💻
ttimearl
ttimearl

🖋
tuesgloomsday
tuesgloomsday

📖
valadaptive
valadaptive

💻
viocky
viocky

🌍
woolishboy
woolishboy

💻
yc
yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-notches/build.mjs b/plugins/plugin-notches/build.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/plugins/plugin-notches/build.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: 'json' } - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/plugins/plugin-notches/data.mjs b/plugins/plugin-notches/data.mjs deleted file mode 100644 index 35125163f11..00000000000 --- a/plugins/plugin-notches/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugin-notches' -export const version = '3.0.0-alpha.4' -export const data = { name, version } diff --git a/plugins/plugin-notches/package.json b/plugins/plugin-notches/package.json deleted file mode 100644 index 973693fbf53..00000000000 --- a/plugins/plugin-notches/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "@freesewing/plugin-notches", - "version": "3.0.0-alpha.4", - "description": "A FreeSewing plugin that provides front and back notch snippets", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": "./dist/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.mjs", - "wbuild": "node build.mjs", - "wcibuild_step1": "node build.mjs" - }, - "peerDependencies": { - "@freesewing/core": "3.0.0-alpha.4" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "10.0.0", - "chai": "4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8" - } -} diff --git a/plugins/plugin-notches/src/index.mjs b/plugins/plugin-notches/src/index.mjs deleted file mode 100644 index c83eaf33fb3..00000000000 --- a/plugins/plugin-notches/src/index.mjs +++ /dev/null @@ -1,25 +0,0 @@ -import { name, version } from '../data.mjs' - -const notches = ` - - - - - - - -` - -export const plugin = { - name, - version, - hooks: { - preRender: function (svg) { - if (svg.defs.indexOf(`id="notch"`) === -1) svg.defs += notches - }, - }, -} - -// More specifically named exports -export const notchesPlugin = plugin -export const pluginNotches = plugin diff --git a/plugins/plugin-notches/tests/plugin.test.mjs b/plugins/plugin-notches/tests/plugin.test.mjs deleted file mode 100644 index 5f9553532b7..00000000000 --- a/plugins/plugin-notches/tests/plugin.test.mjs +++ /dev/null @@ -1,43 +0,0 @@ -import chai from 'chai' -import { Design } from '@freesewing/core' -import { plugin } from '../src/index.mjs' - -const expect = chai.expect - -const part = { - name: 'test', - draft: ({ Point, snippets, Snippet }) => { - snippets.button = new Snippet('notch', new Point(10, 20)) - }, - plugins: [plugin], -} -const Pattern = new Design({ parts: [part] }) -const pattern = new Pattern() -pattern.draft().render() - -describe('Notches Plugin Test', () => { - it(`Should add the snippets to defs`, () => { - expect(pattern.svg.defs).to.contain('') - }) - - it(`Should add the notches snippet to defs`, () => { - expect(pattern.svg.defs.indexOf(``)).to.not.equal(-1) - }) - - it('Draws a notch on an anchor point', () => { - const part = { - name: 'test', - draft: ({ Point, snippets, Snippet, part }) => { - snippets.button = new Snippet('notch', new Point(10, 20)) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const pattern = new Pattern() - pattern.draft().render() - const c = pattern.svg - expect(c.layout.test.svg).to.contain(' Prior to version 2, FreeSewing was not a JavaScript project. -> As such, that history is out of scope for this change log. - diff --git a/plugins/plugin-scalebox/README.md b/plugins/plugin-scalebox/README.md deleted file mode 100644 index 2fc331559dd..00000000000 --- a/plugins/plugin-scalebox/README.md +++ /dev/null @@ -1,294 +0,0 @@ -![FreeSewing](https://static.freesewing.org/banner.png) -

@freesewing/plugin-scalebox on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-scalebox - All Contributors -

Follow @freesewing_org on Twitter - Chat with us on Discord - Become a FreeSewing Patron - Follow @freesewing_org on Twitter -

- -# @freesewing/plugin-scalebox - -A FreeSewing plugin to add a scalebox to your pattern - - - - -> #### Note: Version 3 is a work in progress -> -> We are working on a new major version (v3) but it is not ready for prime-time. -> For production use, please refer to our v2 packages (the `latest` on NPM) -> or [the `v2` branch in our monorepo](https://github.com/freesewing/freesewing/tree/v2). -> -> We the `main` branch and `next` packages on NPM holds v3 code. But it's alpha for now. - -## What am I looking at? 🤔 - -This repository is our *monorepo* holding all our NPM designs, plugins, other NPM packages, and (web)sites. - -This folder holds: @freesewing/plugin-scalebox - -If you're not entirely sure what to do or how to start, type this command: - -``` -npm run tips -``` - -> If you don't want to set up a dev environment, you can run it in your browser: -> -> [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/freesewing/freesewing) -> -> We recommend that you fork our repository and then -> put `gitpod.io/# to start up a browser-based dev environment of your own. - -## About FreeSewing 💀 - -Where the world of makers and developers collide, that's where you'll find FreeSewing. - -If you're a maker, checkout [freesewing.org](https://freesewing.org/) where you can generate -our sewing patterns adapted to your measurements. - -If you're a developer, our documentation is on [freesewing.dev](https://freesewing.dev/). -Our [core library](https://freesewing.dev/reference/api/) is a *batteries-included* toolbox -for parametric design of sewing patterns. But we also provide a range -of [plugins](https://freesewing.dev/reference/plugins/) that further extend the -functionality of the platform. - -If you have NodeJS installed, you can try it right now by running: - -```bash -npx create-freesewing-pattern -``` - -Or, consult our getting started guides -for [Linux](https://freesewing.dev/tutorials/getting-started-linux/), -[MacOS](https://freesewing.dev/tutorials/getting-started-mac/), -or [Windows](https://freesewing.dev/tutorials/getting-started-windows/). - -We also have a [pattern design tutorial](https://freesewing.dev/tutorials/pattern-design/) that -walks you through your first parametric design, -and [a friendly community](https://freesewing.org/community/where/) with -people who can help you when you get stuck. - -## Support FreeSewing: Become a patron 🥰 - -FreeSewing is an open source project run by a community, -and financially supported by our patrons. - -If you feel what we do is worthwhile, and you can spend a few coind without -hardship, then you should [join us and become a patron](https://freesewing.org/community/join). - -## Links 👩‍💻 - - - 💻 Makers website: [freesewing.org](https://freesewing.org) - - 💻 Developers website: [freesewing.dev](https://freesewing.dev) - - 💬 Chat: On Discord via [discord.freesewing.org](https://discord.freesewing.org/) - - ✅ Todo list/Kanban board: On Github via [todo.freesewing.org](https://todo.freesewing.org/) - - 🐦 Twitter: [@freesewing_org](https://twitter.com/freesewing_org) - - 📷 Instagram: [@freesewing_org](https://instagram.com/freesewing_org) - -## License: MIT 🤓 - -© [Joost De Cock](https://github.com/joostdecock). -See [the license file](https://github.com/freesewing/freesewing/blob/develop/LICENSE) for details. - -## Where to get help 🤯 - -Our [chatrooms on Discord](https://chat.freesewing.org/) are the best place to ask questions, -share your feedback, or just hang out. - -If you want to report a problem, please [create an issue](https://github.com/freesewing/freesewing/issues/new). - - - -## Contributors ✨ - -Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Adam Tomkins
Adam Tomkins

📖
Alexandre Ignjatovic
Alexandre Ignjatovic

💻
AlfaLyr
AlfaLyr

💻 🔌 🎨
Andrew James
Andrew James

📖
Anneke
Anneke

📖 🌍
Annie Kao
Annie Kao

📖
Anternative
Anternative

📖
Anthony
Anthony

💬
Ari Grayzel-student
Ari Grayzel-student

💻
Bart
Bart

📖
BenJamesBen
BenJamesBen

💻 📖 🐛
Cameron Dubas
Cameron Dubas

📖
Carsten Biebricher
Carsten Biebricher

📖
Cathy Zoller
Cathy Zoller

📖
Chantal Lapointe
Chantal Lapointe

🌍
Damien PIQUET
Damien PIQUET

💻
Darigov Research
Darigov Research

📖 🤔
Elena FdR
Elena FdR

📖 📝
Emmanuel Nyachoke
Emmanuel Nyachoke

💻 📖
Enoch Riese
Enoch Riese

💻
EvEkSwed
EvEkSwed

🌍
Fantastik-Maman
Fantastik-Maman

🌍
Forrest O.
Forrest O.

📖
Frédéric
Frédéric

🌍
Glenn Matthews
Glenn Matthews

📖
Greg Sadetsky
Greg Sadetsky

📖
Igor Couto
Igor Couto

🐛
Ikko Ashimine
Ikko Ashimine

📖
Irapeke
Irapeke

🌍
Jacek Sawoszczuk
Jacek Sawoszczuk

📖
Jason Williams
Jason Williams

📖
Jeremy Jackson
Jeremy Jackson

💻
Jeroen Hoek
Jeroen Hoek

📖
Joe Schofield
Joe Schofield

📖
Joebidido
Joebidido

🌍
Joost De Cock
Joost De Cock

🚧
Josh Essman
Josh Essman

📖
Kake
Kake

📖
Kapunahele Wong
Kapunahele Wong

📖
Karen
Karen

📖 📋
Katie McGinley
Katie McGinley

📖
Kieran Klaassen
Kieran Klaassen

💻
Kittycatou
Kittycatou

🌍
Kris
Kris

📖
Kristin Ruben
Kristin Ruben

💻
Loudepeuter
Loudepeuter

🌍
Lucian
Lucian

📋
Marcus
Marcus

🌍
Martin Tribo
Martin Tribo

📖
Nadege Michel
Nadege Michel

⚠️ 📖
Natalia
Natalia

💻 🎨 📝
Nathan Yergler
Nathan Yergler

📖
Nick Dower
Nick Dower

📖 💻 🐛
Nikhil Chelliah
Nikhil Chelliah

📖
OysteinHoiby
OysteinHoiby

💻
Patrick Forringer
Patrick Forringer

🔌
Paul
Paul

📖 📝 🌍
Phillip Thelen
Phillip Thelen

💻
Pixieish
Pixieish

📖
Prof. dr. Sorcha Ní Dhubhghaill
Prof. dr. Sorcha Ní Dhubhghaill

📖
Quentin FELIX
Quentin FELIX

💻 🎨
Rik Hekker
Rik Hekker

🐛
Sam Livingston-Gray
Sam Livingston-Gray

📖
Sanne
Sanne

💻 📖
Sara Latorre
Sara Latorre

🌍
SeaZeeZee
SeaZeeZee

📖 💻
SimonbJohnson
SimonbJohnson

🐛
SirCharlotte
SirCharlotte

🌍
Slylele
Slylele

📖 🌍
Soazillon
Soazillon

🌍
SoneaTheBest
SoneaTheBest

🌍
Stefan Sydow
Stefan Sydow

🌍 📖 💻
Tríona
Tríona

📖
Unmutual
Unmutual

📖
Wouter van Wageningen
Wouter van Wageningen

💻 🎨 🔧
amysews
amysews

📖
anna-puk
anna-puk

💻
beautifulsummermoon
beautifulsummermoon

🌍
berce
berce

📖
biou
biou

💻
bobgeorgethe3rd
bobgeorgethe3rd

💻 📖 🎨
brmlyklr
brmlyklr

📖
chri5b
chri5b

💻 ⚠️
dingcycle
dingcycle

🌍
drowned-in-books
drowned-in-books

💬
econo202
econo202

📖
ericamattos
ericamattos

🌍
fightingrabbit
fightingrabbit

💻
gaylyndie
gaylyndie

📖
grimlokason
grimlokason

💻
hellgy
hellgy

🎨
jackseye
jackseye

📖
marckiesel
marckiesel

🌍
mesil
mesil

🐛
starfetch
starfetch

💻 📖 🌍 🎨
timorl
timorl

💻
ttimearl
ttimearl

🖋
tuesgloomsday
tuesgloomsday

📖
valadaptive
valadaptive

💻
viocky
viocky

🌍
woolishboy
woolishboy

💻
yc
yc

🌍
- - - - - - -This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! - diff --git a/plugins/plugin-scalebox/build.mjs b/plugins/plugin-scalebox/build.mjs deleted file mode 100644 index 99ace216bc8..00000000000 --- a/plugins/plugin-scalebox/build.mjs +++ /dev/null @@ -1,35 +0,0 @@ -/* This script will build the package with esbuild */ -import esbuild from 'esbuild' -import pkg from './package.json' assert { type: 'json' } - -// Create banner based on package info -const banner = `/** - * ${pkg.name} | v${pkg.version} - * ${pkg.description} - * (c) ${new Date().getFullYear()} ${pkg.author} - * @license ${pkg.license} - */` - -// Shared esbuild options -const options = { - banner: { js: banner }, - bundle: true, - entryPoints: ['src/index.mjs'], - format: 'esm', - outfile: 'dist/index.mjs', - external: ['@freesewing'], - metafile: process.env.VERBOSE ? true : false, - minify: process.env.NO_MINIFY ? false : true, - sourcemap: true, -} - -// Let esbuild generate the build -const build = async () => { - const result = await esbuild.build(options).catch(() => process.exit(1)) - - if (process.env.VERBOSE) { - const info = await esbuild.analyzeMetafile(result.metafile) - console.log(info) - } -} -build() diff --git a/plugins/plugin-scalebox/data.mjs b/plugins/plugin-scalebox/data.mjs deleted file mode 100644 index 80238db6e3d..00000000000 --- a/plugins/plugin-scalebox/data.mjs +++ /dev/null @@ -1,4 +0,0 @@ -// This file is auto-generated | All changes you make will be overwritten. -export const name = '@freesewing/plugin-scalebox' -export const version = '3.0.0-alpha.4' -export const data = { name, version } diff --git a/plugins/plugin-scalebox/img/custom.png b/plugins/plugin-scalebox/img/custom.png deleted file mode 100644 index 159a7c7212d85a45b3219234fafeb8b0528713fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40818 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 diff --git a/plugins/plugin-scalebox/img/example.png b/plugins/plugin-scalebox/img/example.png deleted file mode 100644 index a30693cb776696261265808ee05590277ba5860d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53556 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 QSs-gXUHx3vIVCg!0Lxf8KmY&$ diff --git a/plugins/plugin-scalebox/package.json b/plugins/plugin-scalebox/package.json deleted file mode 100644 index 46b5d713a06..00000000000 --- a/plugins/plugin-scalebox/package.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "name": "@freesewing/plugin-scalebox", - "version": "3.0.0-alpha.4", - "description": "A FreeSewing plugin to add a scalebox to your pattern", - "author": "Joost De Cock (https://github.com/joostdecock)", - "homepage": "https://freesewing.org/", - "repository": "github:freesewing/freesewing", - "license": "MIT", - "bugs": { - "url": "https://github.com/freesewing/freesewing/issues" - }, - "funding": { - "type": "individual", - "url": "https://freesewing.org/patrons/join" - }, - "keywords": [ - "freesewing", - "plugin", - "sewing pattern", - "sewing", - "design", - "parametric design", - "made to measure", - "diy", - "fashion" - ], - "type": "module", - "module": "dist/index.mjs", - "exports": { - ".": "./dist/index.mjs" - }, - "scripts": { - "build": "node build.mjs", - "clean": "rimraf dist", - "mbuild": "NO_MINIFY=1 node build.mjs", - "symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -", - "test": "npx mocha tests/*.test.mjs", - "vbuild": "VERBOSE=1 node build.mjs", - "lab": "cd ../../sites/lab && yarn start", - "tips": "node ../../scripts/help.mjs", - "lint": "npx eslint 'src/**' 'tests/*.mjs'", - "prettier": "npx prettier --write 'src/*.mjs' 'tests/*.mjs'", - "testci": "npx mocha tests/*.test.mjs --reporter ../../tests/reporters/terse.js", - "cibuild_step1": "node build.mjs", - "wbuild": "node build.mjs", - "wcibuild_step1": "node build.mjs" - }, - "peerDependencies": { - "@freesewing/core": "3.0.0-alpha.4" - }, - "dependencies": {}, - "devDependencies": { - "mocha": "10.0.0", - "chai": "4.2.0" - }, - "files": [ - "dist/*", - "README.md" - ], - "publishConfig": { - "access": "public", - "tag": "next" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=8" - } -} diff --git a/plugins/plugin-scalebox/src/index.mjs b/plugins/plugin-scalebox/src/index.mjs deleted file mode 100644 index 1b8a4c0fc4e..00000000000 --- a/plugins/plugin-scalebox/src/index.mjs +++ /dev/null @@ -1,13 +0,0 @@ -import { name, version } from '../data.mjs' -import { scalebox } from './scalebox.mjs' -import { miniscale } from './miniscale.mjs' - -export const plugin = { - name, - version, - macros: { scalebox, miniscale }, -} - -// More specifically named exports -export const scaleboxPlugin = plugin -export const pluginScalebox = plugin diff --git a/plugins/plugin-scalebox/src/miniscale.mjs b/plugins/plugin-scalebox/src/miniscale.mjs deleted file mode 100644 index b7876518fd0..00000000000 --- a/plugins/plugin-scalebox/src/miniscale.mjs +++ /dev/null @@ -1,94 +0,0 @@ -export function miniscale(so, { points, paths, Point, Path, scale }) { - // Passing `false` will remove the miniscale - if (so === false) { - for (const id of [ - '__miniscaleMetricTopLeft', - '__miniscaleMetricTopRight', - '__miniscaleMetricBottomRight', - '__miniscaleMetricBottomLeft', - '__miniscaleImperialTopLeft', - '__miniscaleImperialTopRight', - '__miniscaleImperialBottomRight', - '__miniscaleImperialBottomLeft', - '__miniscaleMetric', - '__miniscaleImperial', - ]) - delete points[id] - for (const id of ['__miniscaleMetric', '__miniscaleImperial']) delete paths[id] - return true - } - - // Convert scale to a value between 0 and 5, inclusive. - const scaleIndex = Math.ceil(6 * Math.max(0.1, Math.min(1, scale))) - 1 - - // Metric size in mm / display value and imperial size in mm / display value for each scale index. - const sizes = [ - [10, '1cm', 25.4 * 0.375, '⅜″'], - [13, '1.3cm', 25.4 * 0.5, '½″'], - [16, '1.6cm', 25.4 * 0.625, '⅝″'], - [19, '1.9cm', 25.4 * 0.75, '¾″'], - [22, '2.2cm', 25.4 * 0.875, '⅞″'], - [25, '2.5cm', 25.4 * 1, '1″'], - ] - const m = sizes[scaleIndex][0] / 2 - const i = sizes[scaleIndex][2] / 2 - const metricDisplaySize = sizes[scaleIndex][1] - const imperialDisplaySize = sizes[scaleIndex][3] - // Box points - points.__miniscaleMetricTopLeft = new Point(so.at.x - m, so.at.y - m) - points.__miniscaleMetricTopRight = new Point(so.at.x + m, so.at.y - m) - points.__miniscaleMetricBottomLeft = new Point(so.at.x - m, so.at.y + m) - points.__miniscaleMetricBottomRight = new Point(so.at.x + m, so.at.y + m) - points.__miniscaleImperialTopLeft = new Point(so.at.x - i, so.at.y - i) - points.__miniscaleImperialTopRight = new Point(so.at.x + i, so.at.y - i) - points.__miniscaleImperialBottomLeft = new Point(so.at.x - i, so.at.y + i) - points.__miniscaleImperialBottomRight = new Point(so.at.x + i, so.at.y + i) - // Text anchor points - points.__miniscaleMetric = new Point(so.at.x, so.at.y - 2 * scale) - points.__miniscaleImperial = new Point(so.at.x, so.at.y + 8 * scale) - // Rotation - if (so.rotate) { - so.rotate = Number(so.rotate) - let toRotate = [ - '__miniscaleMetricTopLeft', - '__miniscaleMetricTopRight', - '__miniscaleMetricBottomLeft', - '__miniscaleMetricBottomRight', - '__miniscaleImperialTopLeft', - '__miniscaleImperialTopRight', - '__miniscaleImperialBottomLeft', - '__miniscaleImperialBottomRight', - '__miniscaleMetric', - '__miniscaleImperial', - ] - for (const pid of toRotate) points[pid] = points[pid].rotate(so.rotate, so.at) - for (const pid of toRotate.slice(8)) { - points[pid].attributes.set( - 'data-text-transform', - `rotate(${so.rotate * -1}, ${points[pid].x}, ${points[pid].y})` - ) - } - } - // Paths - paths.__miniscaleImperial = new Path() - .attr('class', 'scalebox imperial fill-current') - .move(points.__miniscaleImperialTopLeft) - .line(points.__miniscaleImperialBottomLeft) - .line(points.__miniscaleImperialBottomRight) - .line(points.__miniscaleImperialTopRight) - .close() - paths.__miniscaleMetric = new Path() - .attr('class', 'scalebox metric fill-bg') - .move(points.__miniscaleMetricTopLeft) - .line(points.__miniscaleMetricBottomLeft) - .line(points.__miniscaleMetricBottomRight) - .line(points.__miniscaleMetricTopRight) - .close() - // Text - points.__miniscaleMetric = points.__miniscaleMetric - .attr('data-text', `${metricDisplaySize} x ${metricDisplaySize}`) - .attr('data-text-class', 'text-xs center') - points.__miniscaleImperial = points.__miniscaleImperial - .attr('data-text', `${imperialDisplaySize} x ${imperialDisplaySize}`) - .attr('data-text-class', 'text-xs center ') -} diff --git a/plugins/plugin-scalebox/src/scalebox.mjs b/plugins/plugin-scalebox/src/scalebox.mjs deleted file mode 100644 index 55a343f102b..00000000000 --- a/plugins/plugin-scalebox/src/scalebox.mjs +++ /dev/null @@ -1,179 +0,0 @@ -export function scalebox(so, { store, points, paths, scale, Point, Path }) { - // Passing `false` will remove the scalebox - if (so === false) { - for (let id of [ - '__scaleboxMetricTopLeft', - '__scaleboxMetricTopRight', - '__scaleboxMetricBottomRight', - '__scaleboxMetricBottomLeft', - '__scaleboxImperialTopLeft', - '__scaleboxImperialTopRight', - '__scaleboxImperialBottomRight', - '__scaleboxImperialBottomLeft', - '__scaleboxLead', - '__scaleboxTitle', - '__scaleboxText', - '__scaleboxLink', - '__scaleboxMetric', - '__scaleboxImperial', - ]) - delete points[id] - for (let id of ['__scaleboxMetric', '__scaleboxImperial']) delete paths[id] - return true - } - - // Convert scale to a value between 0 and 9, inclusive. - const scaleIndex = Math.round(10 * Math.max(0.1, Math.min(1, scale))) - 1 - - // Metric width and height in mm and display width and height for each scale index. - const metricSizes = [ - [10, 5, '1cm', '0.5cm'], - [20, 10, '2cm', '1cm'], - [30, 15, '3cm', '1.5cm'], - [40, 20, '4cm', '2cm'], - [50, 25, '5cm', '2.5cm'], - [60, 30, '6cm', '3cm'], - [70, 35, '7cm', '3.5cm'], - [80, 40, '8cm', '4cm'], - [90, 45, '9cm', '4.5cm'], - [100, 50, '10cm', '5cm'], - ] - - const metricWidth = metricSizes[scaleIndex][0] - const metricHeight = metricSizes[scaleIndex][1] - const metricDisplayWidth = metricSizes[scaleIndex][2] - const metricDisplayHeight = metricSizes[scaleIndex][3] - - // Imperial width and height in mm and display width and heigth for each scale index. - const imperialSizes = [ - [25.4 * 0.5, 25.4 * 0.25, '½″', '¼″'], - [25.4 * 0.875, 25.4 * 0.5, '⅞″', '½″'], - [25.4 * 1.25, 25.4 * 0.625, '1 ¼″', '⅝″'], - [25.4 * 1.625, 25.4 * 0.875, '1 ⅝″', '⅞″'], - [25.4 * 2, 25.4 * 1, '2″', '1″'], - [25.4 * 2.375, 25.4 * 1.25, '2 ⅜″', '1 ¼″'], - [25.4 * 2.875, 25.4 * 1.5, '2 ⅞″', '1 ½″'], - [25.4 * 3.25, 25.4 * 1.625, '3 ¼″', '1 ⅝″'], - [25.4 * 3.625, 25.4 * 1.875, '3 ⅝″', '1 ⅞″'], - [25.4 * 4, 25.4 * 2, '4″', '2″'], - ] - - const imperialWidth = imperialSizes[scaleIndex][0] - const imperialHeight = imperialSizes[scaleIndex][1] - const imperialDisplayWidth = imperialSizes[scaleIndex][2] - const imperialDisplayHeight = imperialSizes[scaleIndex][3] - - // Box points - points.__scaleboxMetricTopLeft = new Point(so.at.x - metricWidth / 2, so.at.y - metricHeight / 2) - points.__scaleboxMetricTopRight = new Point(so.at.x + metricWidth / 2, so.at.y - metricHeight / 2) - points.__scaleboxMetricBottomLeft = new Point( - so.at.x - metricWidth / 2, - so.at.y + metricHeight / 2 - ) - points.__scaleboxMetricBottomRight = new Point( - so.at.x + metricWidth / 2, - so.at.y + metricHeight / 2 - ) - points.__scaleboxImperialTopLeft = new Point( - so.at.x - imperialWidth / 2, - so.at.y - imperialHeight / 2 - ) - points.__scaleboxImperialTopRight = new Point( - so.at.x + imperialWidth / 2, - so.at.y - imperialHeight / 2 - ) - points.__scaleboxImperialBottomLeft = new Point( - so.at.x - imperialWidth / 2, - so.at.y + imperialHeight / 2 - ) - points.__scaleboxImperialBottomRight = new Point( - so.at.x + imperialWidth / 2, - so.at.y + imperialHeight / 2 - ) - // Text anchor points - points.__scaleboxLead = new Point(so.at.x - 45 * scale, so.at.y - 15 * scale) - points.__scaleboxTitle = points.__scaleboxLead.shift(-90, 10 * scale) - points.__scaleboxText = points.__scaleboxTitle.shift(-90, 12 * scale) - points.__scaleboxLink = points.__scaleboxText.shift(-90, 5 * scale) - points.__scaleboxMetric = new Point(so.at.x, so.at.y + 20 * scale) - points.__scaleboxImperial = new Point(so.at.x, so.at.y + 24 * scale) - // Rotation - if (so.rotate) { - so.rotate = Number(so.rotate) - let toRotate = [ - '__scaleboxMetricTopLeft', - '__scaleboxMetricTopRight', - '__scaleboxMetricBottomLeft', - '__scaleboxMetricBottomRight', - '__scaleboxImperialTopLeft', - '__scaleboxImperialTopRight', - '__scaleboxImperialBottomLeft', - '__scaleboxImperialBottomRight', - '__scaleboxLead', - '__scaleboxTitle', - '__scaleboxText', - '__scaleboxLink', - '__scaleboxMetric', - '__scaleboxImperial', - ] - for (let pid of toRotate) points[pid] = points[pid].rotate(so.rotate, so.at) - for (let pid of toRotate.slice(8)) { - points[pid].attributes.set( - 'data-text-transform', - `rotate(${so.rotate * -1}, ${points[pid].x}, ${points[pid].y})` - ) - } - } - // Paths - paths.__scaleboxImperial = new Path() - .attr('class', 'scalebox imperial fill-current') - .move(points.__scaleboxImperialTopLeft) - .line(points.__scaleboxImperialBottomLeft) - .line(points.__scaleboxImperialBottomRight) - .line(points.__scaleboxImperialTopRight) - .close() - paths.__scaleboxMetric = new Path() - .attr('class', 'scalebox metric fill-bg') - .move(points.__scaleboxMetricTopLeft) - .line(points.__scaleboxMetricBottomLeft) - .line(points.__scaleboxMetricBottomRight) - .line(points.__scaleboxMetricTopRight) - .close() - // Lead - points.__scaleboxLead = points.__scaleboxLead - .attr('data-text', so.lead || 'FreeSewing') - .attr('data-text-class', 'text-sm') - // Title - if (so.title) points.__scaleboxTitle.attributes.set('data-text', so.title) - else { - let name = store.data?.name || 'No Name' - if (name.indexOf('@freesewing/') !== -1) name = name.replace('@freesewing/', '') - points.__scaleboxTitle = points.__scaleboxTitle - .attr('data-text', name) - .attr('data-text', 'v' + (store.data?.version || 'No Version')) - } - points.__scaleboxTitle.attributes.add('data-text-class', 'text-lg') - // Text - if (typeof so.text === 'string') { - points.__scaleboxText.attr('data-text', so.text) - } else { - points.__scaleboxText.attr('data-text', 'supportFreesewingBecomeAPatron') - points.__scaleboxLink = points.__scaleboxLink - .attr('data-text', 'freesewing.org/patrons/join') - .attr('data-text-class', 'text-sm fill-note') - } - points.__scaleboxText.attr('data-text-class', 'text-xs').attr('data-text-lineheight', 4) - // Instructions - points.__scaleboxMetric = points.__scaleboxMetric - .attr('data-text', 'theWhiteInsideOfThisBoxShouldMeasure') - .attr('data-text', `${metricDisplayWidth}`) - .attr('data-text', 'x') - .attr('data-text', `${metricDisplayHeight}`) - .attr('data-text-class', 'text-xs center') - points.__scaleboxImperial = points.__scaleboxImperial - .attr('data-text', 'theBlackOutsideOfThisBoxShouldMeasure') - .attr('data-text', `${imperialDisplayWidth}`) - .attr('data-text', 'x') - .attr('data-text', `${imperialDisplayHeight}`) - .attr('data-text-class', 'text-xs center ') -} diff --git a/plugins/plugin-scalebox/tests/plugin.test.mjs b/plugins/plugin-scalebox/tests/plugin.test.mjs deleted file mode 100644 index 57cf10d1842..00000000000 --- a/plugins/plugin-scalebox/tests/plugin.test.mjs +++ /dev/null @@ -1,282 +0,0 @@ -import chai from 'chai' -import { Design, round } from '@freesewing/core' -import { plugin } from '../src/index.mjs' - -const expect = chai.expect - -describe('Scalebox Plugin Tests', () => { - it('Should run the default scalebox macro', () => { - const part = { - name: 'test', - draft: ({ points, Point, macro, part }) => { - points.anchor = new Point(100, 200) - macro('scalebox', { - at: points.anchor, - }) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const pattern = new Pattern() - pattern.draft() - let p = pattern.parts[0].test.points - expect(p.__scaleboxMetricTopLeft.x).to.equal(50) - expect(p.__scaleboxMetricTopLeft.y).to.equal(175) - expect(p.__scaleboxMetricTopRight.x).to.equal(150) - expect(p.__scaleboxMetricTopRight.y).to.equal(175) - expect(p.__scaleboxMetricBottomLeft.x).to.equal(50) - expect(p.__scaleboxMetricBottomLeft.y).to.equal(225) - expect(p.__scaleboxMetricBottomRight.x).to.equal(150) - expect(p.__scaleboxMetricBottomRight.y).to.equal(225) - expect(p.__scaleboxImperialTopLeft.x).to.equal(49.2) - expect(p.__scaleboxImperialTopLeft.y).to.equal(174.6) - expect(p.__scaleboxImperialTopRight.x).to.equal(150.8) - expect(p.__scaleboxImperialTopRight.y).to.equal(174.6) - expect(p.__scaleboxImperialBottomLeft.x).to.equal(49.2) - expect(p.__scaleboxImperialBottomLeft.y).to.equal(225.4) - expect(p.__scaleboxImperialBottomRight.x).to.equal(150.8) - expect(p.__scaleboxImperialBottomRight.y).to.equal(225.4) - expect(p.__scaleboxLead.x).to.equal(55) - expect(p.__scaleboxLead.y).to.equal(185) - expect(p.__scaleboxTitle.x).to.equal(55) - expect(p.__scaleboxTitle.y).to.equal(195) - expect(p.__scaleboxText.x).to.equal(55) - expect(p.__scaleboxText.y).to.equal(207) - expect(p.__scaleboxLink.x).to.equal(55) - expect(p.__scaleboxLink.y).to.equal(212) - expect(p.__scaleboxMetric.x).to.equal(100) - expect(p.__scaleboxMetric.y).to.equal(220) - expect(p.__scaleboxImperial.x).to.equal(100) - expect(p.__scaleboxImperial.y).to.equal(224) - p = pattern.parts[0].test.paths.__scaleboxMetric - expect(p.ops[0].type).to.equal('move') - expect(p.ops[1].type).to.equal('line') - expect(p.ops[2].type).to.equal('line') - expect(p.ops[3].type).to.equal('line') - expect(p.ops[4].type).to.equal('close') - expect(p.ops[0].to.x).to.equal(50) - expect(p.ops[0].to.y).to.equal(175) - expect(p.ops[1].to.x).to.equal(50) - expect(p.ops[1].to.y).to.equal(225) - expect(p.ops[2].to.x).to.equal(150) - expect(p.ops[2].to.y).to.equal(225) - expect(p.ops[3].to.x).to.equal(150) - expect(p.ops[3].to.y).to.equal(175) - p = pattern.parts[0].test.paths.__scaleboxImperial - expect(p.ops[0].type).to.equal('move') - expect(p.ops[1].type).to.equal('line') - expect(p.ops[2].type).to.equal('line') - expect(p.ops[3].type).to.equal('line') - expect(p.ops[4].type).to.equal('close') - expect(p.ops[0].to.x).to.equal(49.2) - expect(p.ops[0].to.y).to.equal(174.6) - expect(p.ops[1].to.x).to.equal(49.2) - expect(p.ops[1].to.y).to.equal(225.4) - expect(p.ops[2].to.x).to.equal(150.8) - expect(p.ops[2].to.y).to.equal(225.4) - expect(p.ops[3].to.x).to.equal(150.8) - expect(p.ops[3].to.y).to.equal(174.6) - }) - - it('Should run the scalebox macro with rotation', () => { - const part = { - name: 'test', - draft: ({ points, Point, macro }) => { - points.anchor = new Point(100, 200) - macro('scalebox', { - at: points.anchor, - rotate: 90, - }) - }, - plugins: [plugin], - } - const Pattern = new Design({ parts: [part] }) - const pattern = new Pattern() - pattern.draft() - const p = pattern.parts[0].test.points - expect(round(p.__scaleboxMetricTopLeft.x)).to.equal(75) - expect(round(p.__scaleboxMetricTopLeft.y)).to.equal(250) - expect(round(p.__scaleboxMetricTopRight.x)).to.equal(75) - expect(round(p.__scaleboxMetricTopRight.y)).to.equal(150) - expect(round(p.__scaleboxMetricBottomLeft.x)).to.equal(125) - expect(round(p.__scaleboxMetricBottomLeft.y)).to.equal(250) - expect(round(p.__scaleboxMetricBottomRight.x)).to.equal(125) - expect(round(p.__scaleboxMetricBottomRight.y)).to.equal(150) - expect(round(p.__scaleboxImperialTopLeft.x)).to.equal(74.6) - expect(round(p.__scaleboxImperialTopLeft.y)).to.equal(250.8) - expect(round(p.__scaleboxImperialTopRight.x)).to.equal(74.6) - expect(round(p.__scaleboxImperialTopRight.y)).to.equal(149.2) - expect(round(p.__scaleboxImperialBottomLeft.x)).to.equal(125.4) - expect(round(p.__scaleboxImperialBottomLeft.y)).to.equal(250.8) - expect(round(p.__scaleboxImperialBottomRight.x)).to.equal(125.4) - expect(round(p.__scaleboxImperialBottomRight.y)).to.equal(149.2) - expect(round(p.__scaleboxLead.x)).to.equal(85) - expect(round(p.__scaleboxLead.y)).to.equal(245) - expect(round(p.__scaleboxTitle.x)).to.equal(95) - expect(round(p.__scaleboxTitle.y)).to.equal(245) - expect(round(p.__scaleboxText.x)).to.equal(107) - expect(round(p.__scaleboxText.y)).to.equal(245) - expect(round(p.__scaleboxLink.x)).to.equal(112) - expect(round(p.__scaleboxLink.y)).to.equal(245) - expect(round(p.__scaleboxMetric.x)).to.equal(120) - expect(round(p.__scaleboxMetric.y)).to.equal(200) - expect(round(p.__scaleboxImperial.x)).to.equal(124) - expect(round(p.__scaleboxImperial.y)).to.equal(200) - }) - - it('Should run the scalebox macro with default text', () => { - const part = { - name: 'test', - draft: ({ points, Point, macro, part }) => { - points.anchor = new Point(100, 200) - macro('scalebox', { - at: points.anchor, - }) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ - parts: [part], - data: { name: 'test', version: '1.2.3' }, - }) - const pattern = new Pattern() - pattern.draft() - let p = pattern.parts[0].test.points.__scaleboxLead.attributes - expect(p.get('data-text')).to.equal('FreeSewing') - expect(p.get('data-text-class')).to.equal('text-sm') - p = pattern.parts[0].test.points.__scaleboxTitle.attributes - expect(p.get('data-text')).to.equal('test v1.2.3') - expect(p.get('data-text-class')).to.equal('text-lg') - p = pattern.parts[0].test.points.__scaleboxText.attributes - expect(p.get('data-text-class')).to.equal('text-xs') - expect(p.get('data-text-lineheight')).to.equal('4') - expect(p.list['data-text'][0]).to.equal('supportFreesewingBecomeAPatron') - }) - - it('Should run the scalebox macro with custom text', () => { - const part = { - name: 'test', - draft: ({ points, Point, macro, part }) => { - points.anchor = new Point(100, 200) - macro('scalebox', { - at: points.anchor, - lead: 'theLead', - title: 'theTitle', - text: 'theText', - }) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ - parts: [part], - data: { name: 'test', version: '1.2.3' }, - }) - const pattern = new Pattern() - pattern.draft() - let p = pattern.parts[0].test.points.__scaleboxLead.attributes - expect(p.get('data-text')).to.equal('theLead') - expect(p.get('data-text-class')).to.equal('text-sm') - p = pattern.parts[0].test.points.__scaleboxTitle.attributes - expect(p.get('data-text')).to.equal('theTitle') - expect(p.get('data-text-class')).to.equal('text-lg') - p = pattern.parts[0].test.points.__scaleboxText.attributes - expect(p.get('data-text')).to.equal('theText') - expect(p.get('data-text-class')).to.equal('text-xs') - expect(p.get('data-text-lineheight')).to.equal('4') - }) - - it('Should apply scale to the scalebox macro', () => { - const part = { - name: 'test', - draft: ({ points, Point, macro, part }) => { - points.anchor = new Point(100, 200) - macro('scalebox', { - at: points.anchor, - lead: 'theLead', - title: 'theTitle', - text: 'theText', - }) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ - parts: [part], - plugins: [plugin], - data: { name: 'test', version: '1.2.3' }, - }) - const pattern = new Pattern({ scale: 0.5 }) - pattern.draft() - let p = pattern.parts[0].test.points - expect(p.__scaleboxMetricTopLeft.x).to.equal(75) - expect(p.__scaleboxMetricTopLeft.y).to.equal(187.5) - expect(p.__scaleboxMetricTopRight.x).to.equal(125) - expect(p.__scaleboxMetricTopRight.y).to.equal(187.5) - expect(p.__scaleboxMetricBottomLeft.x).to.equal(75) - expect(p.__scaleboxMetricBottomLeft.y).to.equal(212.5) - expect(p.__scaleboxMetricBottomRight.x).to.equal(125) - expect(p.__scaleboxMetricBottomRight.y).to.equal(212.5) - expect(p.__scaleboxImperialTopLeft.x).to.equal(74.6) - expect(p.__scaleboxImperialTopLeft.y).to.equal(187.3) - expect(p.__scaleboxImperialTopRight.x).to.equal(125.4) - expect(p.__scaleboxImperialTopRight.y).to.equal(187.3) - expect(p.__scaleboxImperialBottomLeft.x).to.equal(74.6) - expect(p.__scaleboxImperialBottomLeft.y).to.equal(212.7) - expect(p.__scaleboxImperialBottomRight.x).to.equal(125.4) - expect(p.__scaleboxImperialBottomRight.y).to.equal(212.7) - expect(p.__scaleboxMetric.attributes.get('data-text')).to.equal( - 'theWhiteInsideOfThisBoxShouldMeasure 5cm x 2.5cm' - ) - expect(p.__scaleboxImperial.attributes.get('data-text')).to.equal( - 'theBlackOutsideOfThisBoxShouldMeasure 2″ x 1″' - ) - }) - - it('Should apply scale to the miniscale macro', () => { - const part = { - name: 'test', - draft: ({ points, Point, macro, part }) => { - points.anchor = new Point(100, 200) - macro('miniscale', { - at: points.anchor, - }) - - return part - }, - plugins: [plugin], - } - const Pattern = new Design({ - parts: [part], - plugins: [plugin], - data: { name: 'test', version: '1.2.3' }, - }) - const pattern = new Pattern({ scale: 0.5 }) - pattern.draft() - let p = pattern.parts[0].test.points - expect(p.__miniscaleMetricTopLeft.x).to.equal(92) - expect(p.__miniscaleMetricTopLeft.y).to.equal(192) - expect(p.__miniscaleMetricTopRight.x).to.equal(108) - expect(p.__miniscaleMetricTopRight.y).to.equal(192) - expect(p.__miniscaleMetricBottomLeft.x).to.equal(92) - expect(p.__miniscaleMetricBottomLeft.y).to.equal(208) - expect(p.__miniscaleMetricBottomRight.x).to.equal(108) - expect(p.__miniscaleMetricBottomRight.y).to.equal(208) - expect(p.__miniscaleImperialTopLeft.x).to.equal(92.0625) - expect(p.__miniscaleImperialTopLeft.y).to.equal(192.0625) - expect(p.__miniscaleImperialTopRight.x).to.equal(107.9375) - expect(p.__miniscaleImperialTopRight.y).to.equal(192.0625) - expect(p.__miniscaleImperialBottomLeft.x).to.equal(92.0625) - expect(p.__miniscaleImperialBottomLeft.y).to.equal(207.9375) - expect(p.__miniscaleImperialBottomRight.x).to.equal(107.9375) - expect(p.__miniscaleImperialBottomRight.y).to.equal(207.9375) - expect(p.__miniscaleMetric.attributes.get('data-text')).to.equal('1.6cm x 1.6cm') - expect(p.__miniscaleImperial.attributes.get('data-text')).to.equal('⅝″ x ⅝″') - }) -}) diff --git a/plugins/plugin-scalebox/tests/shared.test.mjs b/plugins/plugin-scalebox/tests/shared.test.mjs deleted file mode 100644 index 7bf4f668398..00000000000 --- a/plugins/plugin-scalebox/tests/shared.test.mjs +++ /dev/null @@ -1,6 +0,0 @@ -// This file is auto-generated | Any changes you make will be overwritten. -import { plugin } from '../src/index.mjs' -import { sharedPluginTests } from '../../../tests/plugins/shared.mjs' - -// Run shared tests -sharedPluginTests(plugin)

@freesewing/plugin-logo on NPM - License: MIT - Code quality on DeepScan - Open issues tagged pkg:plugin-logo - All Contributors -