diff --git a/frontend/playwright/data/render-wasm/get-file-shadows.json b/frontend/playwright/data/render-wasm/get-file-shadows.json new file mode 100644 index 0000000000..31bec85517 --- /dev/null +++ b/frontend/playwright/data/render-wasm/get-file-shadows.json @@ -0,0 +1,10098 @@ +{ + "~:features": { + "~#set": [ + "fdata/path-data", + "plugins/runtime", + "design-tokens/v1", + "variants/v1", + "layout/grid", + "styles/v2", + "fdata/pointer-map", + "fdata/objects-map", + "render-wasm/v1", + "components/v2", + "fdata/shape-data-type" + ] + }, + "~:team-id": "~ueba8fa2e-4140-8084-8005-448635d7a724", + "~:permissions": { + "~:type": "~:membership", + "~:is-owner": true, + "~:is-admin": true, + "~:can-edit": true, + "~:can-read": true, + "~:is-logged": true + }, + "~:has-media-trimmed": false, + "~:comment-thread-seqn": 0, + "~:name": "New File 6", + "~:revn": 1, + "~:modified-at": "~m1757142143405", + "~:vern": 0, + "~:id": "~u9502081a-e1a4-80bc-8006-c2b968723199", + "~:is-shared": false, + "~:migrations": { + "~#ordered-set": [ + "legacy-2", + "legacy-3", + "legacy-5", + "legacy-6", + "legacy-7", + "legacy-8", + "legacy-9", + "legacy-10", + "legacy-11", + "legacy-12", + "legacy-13", + "legacy-14", + "legacy-16", + "legacy-17", + "legacy-18", + "legacy-19", + "legacy-25", + "legacy-26", + "legacy-27", + "legacy-28", + "legacy-29", + "legacy-31", + "legacy-32", + "legacy-33", + "legacy-34", + "legacy-36", + "legacy-37", + "legacy-38", + "legacy-39", + "legacy-40", + "legacy-41", + "legacy-42", + "legacy-43", + "legacy-44", + "legacy-45", + "legacy-46", + "legacy-47", + "legacy-48", + "legacy-49", + "legacy-50", + "legacy-51", + "legacy-52", + "legacy-53", + "legacy-54", + "legacy-55", + "legacy-56", + "legacy-57", + "legacy-59", + "legacy-62", + "legacy-65", + "legacy-66", + "legacy-67", + "0001-remove-tokens-from-groups", + "0002-normalize-bool-content-v2", + "0002-clean-shape-interactions", + "0003-fix-root-shape", + "0003-convert-path-content-v2", + "0004-clean-shadow-color", + "0005-deprecate-image-type", + "0006-fix-old-texts-fills", + "0007-clear-invalid-strokes-and-fills-v2", + "0008-fix-library-colors-v4", + "0009-clean-library-colors", + "0009-add-partial-text-touched-flags", + "0010-fix-swap-slots-pointing-non-existent-shapes" + ] + }, + "~:version": 67, + "~:project-id": "~ueba8fa2e-4140-8084-8005-448635da32b4", + "~:created-at": "~m1757142138312", + "~:data": { + "~:pages": [ + "~u9502081a-e1a4-80bc-8006-c2b96872319a" + ], + "~:pages-index": { + "~u9502081a-e1a4-80bc-8006-c2b96872319a": { + "~:objects": { + "~u00000000-0000-0000-0000-000000000000": { + "~#shape": { + "~:y": 0, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:name": "Root Frame", + "~:width": 0.01, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 0, + "~:y": 0 + } + }, + { + "~#point": { + "~:x": 0.01, + "~:y": 0 + } + }, + { + "~#point": { + "~:x": 0.01, + "~:y": 0.01 + } + }, + { + "~#point": { + "~:x": 0, + "~:y": 0.01 + } + } + ], + "~:r2": 0, + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:r3": 0, + "~:r1": 0, + "~:id": "~u00000000-0000-0000-0000-000000000000", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [], + "~:x": 0, + "~:proportion": 1, + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 0, + "~:y": 0, + "~:width": 0.01, + "~:height": 0.01, + "~:x1": 0, + "~:y1": 0, + "~:x2": 0.01, + "~:y2": 0.01 + } + }, + "~:fills": [ + { + "~:fill-color": "#FFFFFF", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 0.01, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc7fdf", + "~u813630e3-7f07-80da-8006-c2b969bc7fe2", + "~u813630e3-7f07-80da-8006-c2b969bc7fe4", + "~u813630e3-7f07-80da-8006-c2b969bc7fe5", + "~u813630e3-7f07-80da-8006-c2b969bc7fe6", + "~u813630e3-7f07-80da-8006-c2b969bc7fe7", + "~u813630e3-7f07-80da-8006-c2b969bc7fe8", + "~u813630e3-7f07-80da-8006-c2b969bc7fe9", + "~u813630e3-7f07-80da-8006-c2b969bc7fea", + "~u813630e3-7f07-80da-8006-c2b969bc7feb", + "~u813630e3-7f07-80da-8006-c2b969bc7fec", + "~u813630e3-7f07-80da-8006-c2b969bc7fed", + "~u813630e3-7f07-80da-8006-c2b969bc7fee", + "~u813630e3-7f07-80da-8006-c2b969bc7fef", + "~u813630e3-7f07-80da-8006-c2b969bc7ff0", + "~u813630e3-7f07-80da-8006-c2b969bc7ff1", + "~u813630e3-7f07-80da-8006-c2b969bc7ff2", + "~u813630e3-7f07-80da-8006-c2b969bc7ff3", + "~u813630e3-7f07-80da-8006-c2b969bc7ff4", + "~u813630e3-7f07-80da-8006-c2b969bc7ff5", + "~u813630e3-7f07-80da-8006-c2b969bc7ff6", + "~u813630e3-7f07-80da-8006-c2b969bc7ff9", + "~u813630e3-7f07-80da-8006-c2b969bc9bdc", + "~u813630e3-7f07-80da-8006-c2b969bc9bde", + "~u813630e3-7f07-80da-8006-c2b969bc9be0", + "~u813630e3-7f07-80da-8006-c2b969bc9be2", + "~u813630e3-7f07-80da-8006-c2b969bc9be4", + "~u813630e3-7f07-80da-8006-c2b969bc9be6", + "~u813630e3-7f07-80da-8006-c2b969bc9be8", + "~u813630e3-7f07-80da-8006-c2b969bc9bea", + "~u813630e3-7f07-80da-8006-c2b969bc9bec", + "~u813630e3-7f07-80da-8006-c2b969bc9bee", + "~u813630e3-7f07-80da-8006-c2b969bc9bf0", + "~u813630e3-7f07-80da-8006-c2b969bc9bf2", + "~u813630e3-7f07-80da-8006-c2b969bc9bf4", + "~u813630e3-7f07-80da-8006-c2b969bc9bf6", + "~u813630e3-7f07-80da-8006-c2b969bc9bf8", + "~u813630e3-7f07-80da-8006-c2b969bc9bfa", + "~u813630e3-7f07-80da-8006-c2b969bc9bfb", + "~u813630e3-7f07-80da-8006-c2b969bc9bfc", + "~u813630e3-7f07-80da-8006-c2b969bc9bfd", + "~u813630e3-7f07-80da-8006-c2b969bc9bfe", + "~u813630e3-7f07-80da-8006-c2b969bc9bff", + "~u813630e3-7f07-80da-8006-c2b969bc9c00", + "~u813630e3-7f07-80da-8006-c2b969bc9c01", + "~u813630e3-7f07-80da-8006-c2b969bc9c02", + "~u813630e3-7f07-80da-8006-c2b969bc9c03", + "~u813630e3-7f07-80da-8006-c2b969bc9c04", + "~u813630e3-7f07-80da-8006-c2b969bc9c05", + "~u813630e3-7f07-80da-8006-c2b969bc9c06", + "~u813630e3-7f07-80da-8006-c2b969bc9c07", + "~u813630e3-7f07-80da-8006-c2b969bc9c08", + "~u813630e3-7f07-80da-8006-c2b969bc9c09", + "~u813630e3-7f07-80da-8006-c2b969bc9c0a", + "~u813630e3-7f07-80da-8006-c2b969bc9c0b", + "~u813630e3-7f07-80da-8006-c2b969bc9c0c", + "~u813630e3-7f07-80da-8006-c2b969bc9c0e", + "~u813630e3-7f07-80da-8006-c2b969bc9c10", + "~u813630e3-7f07-80da-8006-c2b969bc9c12", + "~u813630e3-7f07-80da-8006-c2b969bc9c14" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe0": { + "~#shape": { + "~:y": 4864.79091500983, + "~:transform": { + "~#matrix": { + "~:a": 0.875521645611856, + "~:b": -0.483178898613245, + "~:c": 0.483178842426414, + "~:d": 0.875521676619982, + "~:e": 1.00044417195022e-11, + "~:f": 1.38697942020372e-11 + } + }, + "~:rotation": 331.106771530248, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 224.867986830995, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 4678.00025480242, + "~:y": 4925.65175652314 + } + }, + { + "~#point": { + "~:x": 4874.87704467812, + "~:y": 4817.00029031276 + } + }, + { + "~#point": { + "~:x": 4925.61079542329, + "~:y": 4908.93001614796 + } + }, + { + "~#point": { + "~:x": 4728.73400554759, + "~:y": 5017.58148235834 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.875521676619987, + "~:b": 0.483178898613247, + "~:c": -0.483178842426416, + "~:d": 0.87552164561186, + "~:e": -2.05751448067259e-12, + "~:f": -1.69772401753349e-11 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe0", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc7fdf", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc7fdf", + "~:strokes": [], + "~:x": 4689.37153169736, + "~:proportion": 1, + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 4689.37153169736, + "~:y": 4864.79091500983, + "~:width": 224.867986830995, + "~:height": 104.999942651446, + "~:x1": 4689.37153169736, + "~:y1": 4864.79091500983, + "~:x2": 4914.23951852835, + "~:y2": 4969.79085766127 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 104.999942651446, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be0": { + "~#shape": { + "~:y": 2566.00032561364, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 1270.00003131535, + "~:y": 2566.00032561364 + } + }, + { + "~#point": { + "~:x": 1746.17594840024, + "~:y": 2566.00032561364 + } + }, + { + "~#point": { + "~:x": 1746.17594840024, + "~:y": 3042.00034766736 + } + }, + { + "~#point": { + "~:x": 1270.00003131535, + "~:y": 3042.00034766736 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be0", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 1270.00003131535, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1270.00003131535, + "~:y": 2566.00032561364, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 1270.00003131535, + "~:y1": 2566.00032561364, + "~:x2": 1746.17594840024, + "~:y2": 3042.00034766736 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9be1" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c00": { + "~#shape": { + "~:y": 1481.00031547019, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 1237.00011775044, + "~:y": 1481.00031547019 + } + }, + { + "~#point": { + "~:x": 1429.00011775044, + "~:y": 1481.00031547019 + } + }, + { + "~#point": { + "~:x": 1429.00011775044, + "~:y": 1660.00031547019 + } + }, + { + "~#point": { + "~:x": 1237.00011775044, + "~:y": 1660.00031547019 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c00", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 1237.00011775044, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1237.00011775044, + "~:y": 1481.00031547019, + "~:width": 192, + "~:height": 179, + "~:x1": 1237.00011775044, + "~:y1": 1481.00031547019, + "~:x2": 1429.00011775044, + "~:y2": 1660.00031547019 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe1": { + "~#shape": { + "~:y": 5005.52952441881, + "~:transform": { + "~#matrix": { + "~:a": 0.875521645343034, + "~:b": -0.48317889910035, + "~:c": 0.483178913552956, + "~:d": 0.875521637366997, + "~:e": -9.09494701772928e-13, + "~:f": -4.09272615797818e-12 + } + }, + "~:rotation": 331.106771530248, + "~:grow-type": "~:fixed", + "~:content": { + "~:type": "root", + "~:key": "1otdj8747ov", + "~:children": [ + { + "~:type": "paragraph-set", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:text-transform": "none", + "~:font-id": "sourcesanspro", + "~:key": "1ppxneff2xr", + "~:font-size": "400", + "~:font-weight": "400", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro", + "~:text": "HOLA" + } + ], + "~:text-transform": "none", + "~:text-align": "left", + "~:font-id": "sourcesanspro", + "~:key": "2afvsygzvt", + "~:font-size": "400", + "~:font-weight": "400", + "~:text-direction": "ltr", + "~:type": "paragraph", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro" + } + ] + } + ], + "~:vertical-align": "top" + }, + "~:hide-in-viewer": false, + "~:name": "HOLA", + "~:width": 986.211331368466, + "~:type": "~:text", + "~:points": [ + { + "~#point": { + "~:x": 4062.0000545014, + "~:y": 5267.51689202866 + } + }, + { + "~#point": { + "~:x": 4925.44942199707, + "~:y": 4791.00038665776 + } + }, + { + "~#point": { + "~:x": 5109.66469806955, + "~:y": 5124.79901820196 + } + }, + { + "~#point": { + "~:x": 4246.21533057388, + "~:y": 5601.31552357287 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.875521637366997, + "~:b": 0.48317889910035, + "~:c": -0.483178913552956, + "~:d": 0.875521645343034, + "~:e": -1.18123668800882e-12, + "~:f": 4.02271898851177e-12 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:constraints-v": "~:top", + "~:constraints-h": "~:left", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe1", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc7fdf", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc7fdf", + "~:strokes": [], + "~:x": 4092.72671060124, + "~:shadow": [ + { + "~:color": { + "~:color": "#ea1212", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 20, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u757a30c8-2a19-8062-8006-bdd7693703f6", + "~:offset-x": 20 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 4092.72671060124, + "~:y": 5005.52952441881, + "~:width": 986.211331368466, + "~:height": 381.256861393003, + "~:x1": 4092.72671060124, + "~:y1": 5005.52952441881, + "~:x2": 5078.93804196971, + "~:y2": 5386.78638581181 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 381.256861393003, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be1": { + "~#shape": { + "~:y": 2925.00035033024, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1628.0000529461, + "~:y": 2925.00035033024 + } + }, + { + "~#point": { + "~:x": 1898.9300503495, + "~:y": 2925.00035033024 + } + }, + { + "~#point": { + "~:x": 1898.9300503495, + "~:y": 3195.93160099633 + } + }, + { + "~#point": { + "~:x": 1628.0000529461, + "~:y": 3195.93160099633 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be1", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9be0", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9be0", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 1628.0000529461, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#094ae0", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": true, + "~:id": "~udca35925-f5a2-8083-8006-b60be22fea0c", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1628.0000529461, + "~:y": 2925.00035033024, + "~:width": 270.929997403396, + "~:height": 270.931250666089, + "~:x1": 1628.0000529461, + "~:y1": 2925.00035033024, + "~:x2": 1898.9300503495, + "~:y2": 3195.93160099633 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931250666089, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c01": { + "~#shape": { + "~:y": 1481.00031547019, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 875.00011775044, + "~:y": 1481.00031547019 + } + }, + { + "~#point": { + "~:x": 1067.00011775044, + "~:y": 1481.00031547019 + } + }, + { + "~#point": { + "~:x": 1067.00011775044, + "~:y": 1660.00031547019 + } + }, + { + "~#point": { + "~:x": 875.00011775044, + "~:y": 1660.00031547019 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c01", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:center", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 875.00011775044, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 875.00011775044, + "~:y": 1481.00031547019, + "~:width": 192, + "~:height": 179, + "~:x1": 875.00011775044, + "~:y1": 1481.00031547019, + "~:x2": 1067.00011775044, + "~:y2": 1660.00031547019 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe2": { + "~#shape": { + "~:y": 3766.45120593457, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 0.875521645210578, + "~:b": -0.483178899340361, + "~:c": 0.483178898327598, + "~:d": 0.875521645769497, + "~:e": 9.09494701772928e-13, + "~:f": 2.27373675443232e-13 + } + }, + "~:rotation": 331.106771530248, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Board", + "~:width": 1103.99984135388, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 3740.00013797052, + "~:y": 4066.4296434044 + } + }, + { + "~#point": { + "~:x": 4706.57589538488, + "~:y": 3533.0002151871 + } + }, + { + "~#point": { + "~:x": 4964.81081995927, + "~:y": 4000.92269057062 + } + }, + { + "~#point": { + "~:x": 3998.23506254491, + "~:y": 4534.35211878792 + } + } + ], + "~:r2": 20, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.875521645769497, + "~:b": 0.483178899340361, + "~:c": -0.483178898327598, + "~:d": 0.875521645210578, + "~:e": -6.86420136105515e-13, + "~:f": -6.38519223360168e-13 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:r1": 20, + "~:opacity": 0.8, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe2", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:center", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 3800.40555828795, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#140a67", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 300, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~ud2b53ca8-aebb-8099-8006-bdabce5cb46c", + "~:offset-x": 300 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 3800.40555828795, + "~:y": 3766.45120593457, + "~:width": 1103.99984135388, + "~:height": 534.449922105886, + "~:x1": 3800.40555828795, + "~:y1": 3766.45120593457, + "~:x2": 4904.40539964183, + "~:y2": 4300.90112804045 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 534.449922105886, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc7fe3" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be2": { + "~#shape": { + "~:y": 4981.00042962585, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084896, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 490.000059192417, + "~:y": 4981.00042962585 + } + }, + { + "~#point": { + "~:x": 966.175976277314, + "~:y": 4981.00042962585 + } + }, + { + "~#point": { + "~:x": 966.175976277314, + "~:y": 5457.00045167957 + } + }, + { + "~#point": { + "~:x": 490.000059192417, + "~:y": 5457.00045167957 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be2", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 490.000059192417, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 490.000059192417, + "~:y": 4981.00042962585, + "~:width": 476.175917084896, + "~:height": 476.000022053719, + "~:x1": 490.000059192417, + "~:y1": 4981.00042962585, + "~:x2": 966.175976277314, + "~:y2": 5457.00045167957 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9be3" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c02": { + "~#shape": { + "~:y": 1481.00031547019, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 513.00011775044, + "~:y": 1481.00031547019 + } + }, + { + "~#point": { + "~:x": 705.00011775044, + "~:y": 1481.00031547019 + } + }, + { + "~#point": { + "~:x": 705.00011775044, + "~:y": 1660.00031547019 + } + }, + { + "~#point": { + "~:x": 513.00011775044, + "~:y": 1660.00031547019 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c02", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 513.00011775044, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 513.00011775044, + "~:y": 1481.00031547019, + "~:width": 192, + "~:height": 179, + "~:x1": 513.00011775044, + "~:y1": 1481.00031547019, + "~:x2": 705.00011775044, + "~:y2": 1660.00031547019 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe3": { + "~#shape": { + "~:y": 3947.52954822035, + "~:transform": { + "~#matrix": { + "~:a": 0.875521645343034, + "~:b": -0.48317889910035, + "~:c": 0.483178913552956, + "~:d": 0.875521637366997, + "~:e": -9.09494701772928e-13, + "~:f": -4.09272615797818e-12 + } + }, + "~:rotation": 331.106771530248, + "~:grow-type": "~:fixed", + "~:content": { + "~:type": "root", + "~:key": "1otdj8747ov", + "~:children": [ + { + "~:type": "paragraph-set", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:text-transform": "none", + "~:font-id": "sourcesanspro", + "~:key": "1ppxneff2xr", + "~:font-size": "400", + "~:font-weight": "400", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro", + "~:text": "HOLA" + } + ], + "~:text-transform": "none", + "~:text-align": "left", + "~:font-id": "sourcesanspro", + "~:key": "2afvsygzvt", + "~:font-size": "400", + "~:font-weight": "400", + "~:text-direction": "ltr", + "~:type": "paragraph", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro" + } + ] + } + ], + "~:vertical-align": "top" + }, + "~:hide-in-viewer": false, + "~:name": "HOLA", + "~:width": 986.211331368466, + "~:type": "~:text", + "~:points": [ + { + "~#point": { + "~:x": 3997.00007371149, + "~:y": 4209.51691583021 + } + }, + { + "~#point": { + "~:x": 4860.44944120715, + "~:y": 3733.0004104593 + } + }, + { + "~#point": { + "~:x": 5044.66471727964, + "~:y": 4066.7990420035 + } + }, + { + "~#point": { + "~:x": 4181.21534978397, + "~:y": 4543.31554737441 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.875521637366997, + "~:b": 0.48317889910035, + "~:c": -0.483178913552956, + "~:d": 0.875521645343034, + "~:e": -1.18123668800882e-12, + "~:f": 4.02271898851177e-12 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:constraints-v": "~:top", + "~:constraints-h": "~:left", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe3", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc7fe2", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc7fe2", + "~:strokes": [], + "~:x": 4027.72672981133, + "~:shadow": [ + { + "~:color": { + "~:color": "#ea1212", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 20, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u757a30c8-2a19-8062-8006-bdd7693703f6", + "~:offset-x": 20 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 4027.72672981133, + "~:y": 3947.52954822035, + "~:width": 986.211331368466, + "~:height": 381.256861393003, + "~:x1": 4027.72672981133, + "~:y1": 3947.52954822035, + "~:x2": 5013.9380611798, + "~:y2": 4328.78640961336 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 381.256861393003, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be3": { + "~#shape": { + "~:y": 5340.0002407194, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 848.000050305598, + "~:y": 5340.0002407194 + } + }, + { + "~#point": { + "~:x": 1118.93004770899, + "~:y": 5340.0002407194 + } + }, + { + "~#point": { + "~:x": 1118.93004770899, + "~:y": 5610.93149138549 + } + }, + { + "~#point": { + "~:x": 848.000050305598, + "~:y": 5610.93149138549 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be3", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9be2", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9be2", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 848.000050305598, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#094ae0", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": true, + "~:id": "~udca35925-f5a2-8083-8006-b60be22fea0c", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 848.000050305598, + "~:y": 5340.0002407194, + "~:width": 270.929997403396, + "~:height": 270.93125066609, + "~:x1": 848.000050305598, + "~:y1": 5340.0002407194, + "~:x2": 1118.93004770899, + "~:y2": 5610.93149138549 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c03": { + "~#shape": { + "~:y": 1199.0003002114, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 1237.00011775044, + "~:y": 1199.0003002114 + } + }, + { + "~#point": { + "~:x": 1429.00011775044, + "~:y": 1199.0003002114 + } + }, + { + "~#point": { + "~:x": 1429.00011775044, + "~:y": 1378.0003002114 + } + }, + { + "~#point": { + "~:x": 1237.00011775044, + "~:y": 1378.0003002114 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c03", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 1237.00011775044, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1237.00011775044, + "~:y": 1199.0003002114, + "~:width": 192, + "~:height": 179, + "~:x1": 1237.00011775044, + "~:y1": 1199.0003002114, + "~:x2": 1429.00011775044, + "~:y2": 1378.0003002114 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.6 + } + ], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe4": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD/vyBFIS8PRQMAAAD/vyBFIS8PRR8gMUX9lQdF//8wRRAWCEUDAAAA298wRSOWCEW7qyxFAQAVRburLEUBABVFAgAAAAAAAAAAAAAAAAAAAAAAAAD/vyBFIS8PRQ==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 2572.00010497607, + "~:y": 2177.00026073771 + } + }, + { + "~#point": { + "~:x": 2831.99922798953, + "~:y": 2177.00026073771 + } + }, + { + "~#point": { + "~:x": 2831.99922798953, + "~:y": 2384.00021746085 + } + }, + { + "~#point": { + "~:x": 2572.00010497607, + "~:y": 2384.00021746085 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fd3f80", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe4", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2572.00010497607, + "~:y": 2177.00026073771, + "~:width": 259.999123013458, + "~:height": 206.999956723148, + "~:x1": 2572.00010497607, + "~:y1": 2177.00026073771, + "~:x2": 2831.99922798953, + "~:y2": 2384.00021746085 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be4": { + "~#shape": { + "~:y": 4981.00042962585, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 1270.00001192184, + "~:y": 4981.00042962585 + } + }, + { + "~#point": { + "~:x": 1746.17592900674, + "~:y": 4981.00042962585 + } + }, + { + "~#point": { + "~:x": 1746.17592900674, + "~:y": 5457.00045167957 + } + }, + { + "~#point": { + "~:x": 1270.00001192184, + "~:y": 5457.00045167957 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be4", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 1270.00001192184, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1270.00001192184, + "~:y": 4981.00042962585, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 1270.00001192184, + "~:y1": 4981.00042962585, + "~:x2": 1746.17592900674, + "~:y2": 5457.00045167957 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9be5" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c04": { + "~#shape": { + "~:y": 1199.0003002114, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 875.00011775044, + "~:y": 1199.0003002114 + } + }, + { + "~#point": { + "~:x": 1067.00011775044, + "~:y": 1199.0003002114 + } + }, + { + "~#point": { + "~:x": 1067.00011775044, + "~:y": 1378.0003002114 + } + }, + { + "~#point": { + "~:x": 875.00011775044, + "~:y": 1378.0003002114 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c04", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:center", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 875.00011775044, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 875.00011775044, + "~:y": 1199.0003002114, + "~:width": 192, + "~:height": 179, + "~:x1": 875.00011775044, + "~:y1": 1199.0003002114, + "~:x2": 1067.00011775044, + "~:y2": 1378.0003002114 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.6 + } + ], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe5": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD/XwVFIS8PRQMAAAD/XwVFIS8PRR/AFUX9lQdF/58VRRAWCEUDAAAA338VRSOWCEW7SxFFAQAVRbtLEUUBABVFAgAAAAAAAAAAAAAAAAAAAAAAAAD/XwVFIS8PRQ==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 2134.00001815048, + "~:y": 2177.00029083787 + } + }, + { + "~#point": { + "~:x": 2393.99914116394, + "~:y": 2177.00029083787 + } + }, + { + "~#point": { + "~:x": 2393.99914116394, + "~:y": 2384.00024756102 + } + }, + { + "~#point": { + "~:x": 2134.00001815048, + "~:y": 2384.00024756102 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fd6d62", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe5", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2134.00001815048, + "~:y": 2177.00029083787, + "~:width": 259.999123013458, + "~:height": 206.999956723148, + "~:x1": 2134.00001815048, + "~:y1": 2177.00029083787, + "~:x2": 2393.99914116394, + "~:y2": 2384.00024756102 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be5": { + "~#shape": { + "~:y": 5340.0002407194, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1628.00004881139, + "~:y": 5340.0002407194 + } + }, + { + "~#point": { + "~:x": 1898.93004621479, + "~:y": 5340.0002407194 + } + }, + { + "~#point": { + "~:x": 1898.93004621479, + "~:y": 5610.93149138549 + } + }, + { + "~#point": { + "~:x": 1628.00004881139, + "~:y": 5610.93149138549 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be5", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9be4", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9be4", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 1628.00004881139, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#094ae0", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": true, + "~:id": "~udca35925-f5a2-8083-8006-b60be22fea0c", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1628.00004881139, + "~:y": 5340.0002407194, + "~:width": 270.929997403396, + "~:height": 270.93125066609, + "~:x1": 1628.00004881139, + "~:y1": 5340.0002407194, + "~:x2": 1898.93004621479, + "~:y2": 5610.93149138549 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c05": { + "~#shape": { + "~:y": 1199.0003002114, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 513.00011775044, + "~:y": 1199.0003002114 + } + }, + { + "~#point": { + "~:x": 705.00011775044, + "~:y": 1199.0003002114 + } + }, + { + "~#point": { + "~:x": 705.00011775044, + "~:y": 1378.0003002114 + } + }, + { + "~#point": { + "~:x": 513.00011775044, + "~:y": 1378.0003002114 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c05", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 513.00011775044, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 513.00011775044, + "~:y": 1199.0003002114, + "~:width": 192, + "~:height": 179, + "~:x1": 513.00011775044, + "~:y1": 1199.0003002114, + "~:x2": 705.00011775044, + "~:y2": 1378.0003002114 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.6 + } + ], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe6": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD/n91EIU8ORQMAAAD/n91EIU8ORUdg/kT9tQZF/x/+RBA2B0UDAAAAv9/9RCO2B0V/d/VEASAURX939UQBIBRFAgAAAAAAAAAAAAAAAAAAAAAAAAD/n91EIU8ORQ==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 1773.0000099915, + "~:y": 2163.00025701871 + } + }, + { + "~#point": { + "~:x": 2033.00012588905, + "~:y": 2163.00025701871 + } + }, + { + "~#point": { + "~:x": 2033.00012588905, + "~:y": 2370.00021374186 + } + }, + { + "~#point": { + "~:x": 1773.0000099915, + "~:y": 2370.00021374186 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fd93d2", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe6", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1773.0000099915, + "~:y": 2163.00025701871, + "~:width": 260.000115897557, + "~:height": 206.999956723148, + "~:x1": 1773.0000099915, + "~:y1": 2163.00025701871, + "~:x2": 2033.00012588905, + "~:y2": 2370.00021374186 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be6": { + "~#shape": { + "~:y": 4172.0003451711, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 489.999996813684, + "~:y": 4172.0003451711 + } + }, + { + "~#point": { + "~:x": 966.17591389858, + "~:y": 4172.0003451711 + } + }, + { + "~#point": { + "~:x": 966.17591389858, + "~:y": 4648.00036722482 + } + }, + { + "~#point": { + "~:x": 489.999996813684, + "~:y": 4648.00036722482 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be6", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 489.999996813684, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 489.999996813684, + "~:y": 4172.0003451711, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 489.999996813684, + "~:y1": 4172.0003451711, + "~:x2": 966.17591389858, + "~:y2": 4648.00036722482 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9be7" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c06": { + "~#shape": { + "~:y": 860.000333928384, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 208.000215015414, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1245.99996816991, + "~:y": 860.000333928384 + } + }, + { + "~#point": { + "~:x": 1454.00018318532, + "~:y": 860.000333928384 + } + }, + { + "~#point": { + "~:x": 1454.00018318532, + "~:y": 1050.00033303431 + } + }, + { + "~#point": { + "~:x": 1245.99996816991, + "~:y": 1050.00033303431 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c06", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 1245.99996816991, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#000000", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1245.99996816991, + "~:y": 860.000333928384, + "~:width": 208.000215015414, + "~:height": 189.99999910593, + "~:x1": 1245.99996816991, + "~:y1": 860.000333928384, + "~:x2": 1454.00018318532, + "~:y2": 1050.00033303431 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe7": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAAAUCJFQ17uRAMAAAAAUCJFQ17uRCCwMkX5K99EAJAyRSAs4EQDAAAA4G8yRUcs4US8Oy5FAwD6RLw7LkUDAPpEAgAAAAAAAAAAAAAAAAAAAAAAAAAAUCJFQ17uRA==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 2597.000027112, + "~:y": 1793.0003379051 + } + }, + { + "~#point": { + "~:x": 2857.00014300956, + "~:y": 1793.0003379051 + } + }, + { + "~#point": { + "~:x": 2857.00014300956, + "~:y": 2000.00041760119 + } + }, + { + "~#point": { + "~:x": 2597.000027112, + "~:y": 2000.00041760119 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fdd2e6", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe7", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2597.000027112, + "~:y": 1793.0003379051, + "~:width": 260.000115897557, + "~:height": 207.000079696094, + "~:x1": 2597.000027112, + "~:y1": 1793.0003379051, + "~:x2": 2857.00014300956, + "~:y2": 2000.0004176012 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be7": { + "~#shape": { + "~:y": 4531.00020204102, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 847.999987926864, + "~:y": 4531.00020204102 + } + }, + { + "~#point": { + "~:x": 1118.92998533026, + "~:y": 4531.00020204102 + } + }, + { + "~#point": { + "~:x": 1118.92998533026, + "~:y": 4801.93145270711 + } + }, + { + "~#point": { + "~:x": 847.999987926864, + "~:y": 4801.93145270711 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be7", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9be6", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9be6", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 847.999987926864, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#094ae0", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": true, + "~:id": "~udca35925-f5a2-8083-8006-b60be22fea0c", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 847.999987926864, + "~:y": 4531.00020204102, + "~:width": 270.929997403396, + "~:height": 270.93125066609, + "~:x1": 847.999987926864, + "~:y1": 4531.00020204102, + "~:x2": 1118.92998533026, + "~:y2": 4801.93145270711 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c07": { + "~#shape": { + "~:y": 860.000333928384, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 208.000215015413, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 867.999909199486, + "~:y": 860.000333928384 + } + }, + { + "~#point": { + "~:x": 1076.0001242149, + "~:y": 860.000333928384 + } + }, + { + "~#point": { + "~:x": 1076.0001242149, + "~:y": 1050.00033303431 + } + }, + { + "~#point": { + "~:x": 867.999909199486, + "~:y": 1050.00033303431 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c07", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#b7c821", + "~:stroke-opacity": 1 + } + ], + "~:x": 867.999909199486, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#00f080", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 867.999909199486, + "~:y": 860.000333928384, + "~:width": 208.000215015413, + "~:height": 189.99999910593, + "~:x1": 867.999909199486, + "~:y1": 860.000333928384, + "~:x2": 1076.0001242149, + "~:y2": 1050.00033303431 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe8": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAAB8AZFQ17uRAMAAAAB8AZFQ17uRCFQF0X5K99EATAXRSAs4EQDAAAA4Q8XRUcs4US92xJFAwD6RL3bEkUDAPpEAgAAAAAAAAAAAAAAAAAAAAAAAAAB8AZFQ17uRA==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 2159.0000521047, + "~:y": 1793.00033748769 + } + }, + { + "~#point": { + "~:x": 2419.00016800225, + "~:y": 1793.00033748769 + } + }, + { + "~#point": { + "~:x": 2419.00016800225, + "~:y": 2000.00041718378 + } + }, + { + "~#point": { + "~:x": 2159.0000521047, + "~:y": 2000.00041718378 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fe373e", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe8", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2159.0000521047, + "~:y": 1793.00033748769, + "~:width": 260.000115897557, + "~:height": 207.000079696094, + "~:x1": 2159.0000521047, + "~:y1": 1793.00033748769, + "~:x2": 2419.00016800225, + "~:y2": 2000.00041718378 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be8": { + "~#shape": { + "~:y": 4172.0003451711, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 1270.00001057827, + "~:y": 4172.0003451711 + } + }, + { + "~#point": { + "~:x": 1746.17592766316, + "~:y": 4172.0003451711 + } + }, + { + "~#point": { + "~:x": 1746.17592766316, + "~:y": 4648.00036722482 + } + }, + { + "~#point": { + "~:x": 1270.00001057827, + "~:y": 4648.00036722482 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be8", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 1270.00001057827, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1270.00001057827, + "~:y": 4172.0003451711, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 1270.00001057827, + "~:y1": 4172.0003451711, + "~:x2": 1746.17592766316, + "~:y2": 4648.00036722482 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9be9" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c08": { + "~#shape": { + "~:y": 860.000304333057, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 207.999982557296, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 490.000002381843, + "~:y": 860.000304333057 + } + }, + { + "~#point": { + "~:x": 697.99998493914, + "~:y": 860.000304333057 + } + }, + { + "~#point": { + "~:x": 697.99998493914, + "~:y": 1050.00028704771 + } + }, + { + "~#point": { + "~:x": 490.000002381843, + "~:y": 1050.00028704771 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c08", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#d10202", + "~:stroke-opacity": 1 + } + ], + "~:x": 490.000002381844, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#c41414", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 490.000002381844, + "~:y": 860.000304333057, + "~:width": 207.999982557296, + "~:height": 189.999982714653, + "~:x1": 490.000002381844, + "~:y1": 860.000304333057, + "~:x2": 697.99998493914, + "~:y2": 1050.00028704771 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 189.999982714653, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fe9": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD9v+BEQ57sRAMAAAD9v+BEQ57sRCLAAEX5a91E/p8ARSBs3kQDAAAA4n8ARUds30R9l/hEA0D4RH2X+EQDQPhEAgAAAAAAAAAAAAAAAAAAAAAAAAD9v+BEQ57sRA==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 1798.00002253, + "~:y": 1779.00034295752 + } + }, + { + "~#point": { + "~:x": 2058.00013842756, + "~:y": 1779.00034295752 + } + }, + { + "~#point": { + "~:x": 2058.00013842756, + "~:y": 1986.00042265362 + } + }, + { + "~#point": { + "~:x": 1798.00002253, + "~:y": 1986.00042265362 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fe629c", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fe9", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1798.00002253, + "~:y": 1779.00034295752, + "~:width": 260.000115897557, + "~:height": 207.000079696094, + "~:x1": 1798.00002253, + "~:y1": 1779.00034295752, + "~:x2": 2058.00013842756, + "~:y2": 1986.00042265362 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9be9": { + "~#shape": { + "~:y": 4531.00020204102, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1628.00003220903, + "~:y": 4531.00020204102 + } + }, + { + "~#point": { + "~:x": 1898.93002961242, + "~:y": 4531.00020204102 + } + }, + { + "~#point": { + "~:x": 1898.93002961242, + "~:y": 4801.93145270711 + } + }, + { + "~#point": { + "~:x": 1628.00003220903, + "~:y": 4801.93145270711 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~ud486afaf-89ba-805d-8006-bda7598f6705", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9be9", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9be8", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9be8", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 1628.00003220903, + "~:proportion": 1, + "~:shadow": [], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1628.00003220903, + "~:y": 4531.00020204102, + "~:width": 270.929997403396, + "~:height": 270.93125066609, + "~:x1": 1628.00003220903, + "~:y1": 4531.00020204102, + "~:x2": 1898.93002961242, + "~:y2": 4801.93145270711 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c09": { + "~#shape": { + "~:y": 526.000362648321, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 208.00019713402, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1233.0000454261, + "~:y": 526.000362648321 + } + }, + { + "~#point": { + "~:x": 1441.00024256012, + "~:y": 526.000362648321 + } + }, + { + "~#point": { + "~:x": 1441.00024256012, + "~:y": 716.000361754251 + } + }, + { + "~#point": { + "~:x": 1233.0000454261, + "~:y": 716.000361754251 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c09", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 1233.0000454261, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#000000", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1233.0000454261, + "~:y": 526.000362648321, + "~:width": 208.00019713402, + "~:height": 189.99999910593, + "~:x1": 1233.0000454261, + "~:y1": 526.000362648321, + "~:x2": 1441.00024256012, + "~:y2": 716.000361754251 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fea": { + "~#shape": { + "~:y": 1497.00032895324, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 2567.00012774194, + "~:y": 1497.00032895324 + } + }, + { + "~#point": { + "~:x": 2759.00012774194, + "~:y": 1497.00032895324 + } + }, + { + "~#point": { + "~:x": 2759.00012774194, + "~:y": 1676.00032895324 + } + }, + { + "~#point": { + "~:x": 2567.00012774194, + "~:y": 1676.00032895324 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fe80e7", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fea", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 2567.00012774194, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2567.00012774194, + "~:y": 1497.00032895324, + "~:width": 192, + "~:height": 179, + "~:x1": 2567.00012774194, + "~:y1": 1497.00032895324, + "~:x2": 2759.00012774194, + "~:y2": 1676.00032895324 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bea": { + "~#shape": { + "~:y": 3374.0003200719, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2014.00013388588, + "~:y": 3374.0003200719 + } + }, + { + "~#point": { + "~:x": 2490.17605097078, + "~:y": 3374.0003200719 + } + }, + { + "~#point": { + "~:x": 2490.17605097078, + "~:y": 3850.00034212562 + } + }, + { + "~#point": { + "~:x": 2014.00013388588, + "~:y": 3850.00034212562 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bea", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2014.00013388588, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2014.00013388588, + "~:y": 3374.0003200719, + "~:width": 476.175917084897, + "~:height": 476.00002205372, + "~:x1": 2014.00013388588, + "~:y1": 3374.0003200719, + "~:x2": 2490.17605097078, + "~:y2": 3850.00034212562 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.00002205372, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9beb" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c0a": { + "~#shape": { + "~:y": 526.000362648321, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 207.999946794509, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 862.000123115399, + "~:y": 526.000362648321 + } + }, + { + "~#point": { + "~:x": 1070.00006990991, + "~:y": 526.000362648321 + } + }, + { + "~#point": { + "~:x": 1070.00006990991, + "~:y": 716.000361754251 + } + }, + { + "~#point": { + "~:x": 862.000123115399, + "~:y": 716.000361754251 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c0a", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#b7c821", + "~:stroke-opacity": 1 + } + ], + "~:x": 862.000123115399, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#00f080", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 862.000123115399, + "~:y": 526.000362648321, + "~:width": 207.999946794509, + "~:height": 189.99999910593, + "~:x1": 862.000123115399, + "~:y1": 526.000362648321, + "~:x2": 1070.00006990991, + "~:y2": 716.000361754251 + } + }, + "~:fills": [ + { + "~:fill-color": "#7f5217", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7feb": { + "~#shape": { + "~:y": 1497.00032895324, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 2205.00012774194, + "~:y": 1497.00032895324 + } + }, + { + "~#point": { + "~:x": 2397.00012774194, + "~:y": 1497.00032895324 + } + }, + { + "~#point": { + "~:x": 2397.00012774194, + "~:y": 1676.00032895324 + } + }, + { + "~#point": { + "~:x": 2205.00012774194, + "~:y": 1676.00032895324 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806fecd76", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7feb", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:center", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 2205.00012774194, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2205.00012774194, + "~:y": 1497.00032895324, + "~:width": 192, + "~:height": 179, + "~:x1": 2205.00012774194, + "~:y1": 1497.00032895324, + "~:x2": 2397.00012774194, + "~:y2": 1676.00032895324 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9beb": { + "~#shape": { + "~:y": 3733.00037530608, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2372.00012499907, + "~:y": 3733.00037530608 + } + }, + { + "~#point": { + "~:x": 2642.93012240246, + "~:y": 3733.00037530608 + } + }, + { + "~#point": { + "~:x": 2642.93012240246, + "~:y": 4003.93162597217 + } + }, + { + "~#point": { + "~:x": 2372.00012499907, + "~:y": 4003.93162597217 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9beb", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bea", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bea", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 1 + }, + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 2372.00012499907, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2372.00012499907, + "~:y": 3733.00037530608, + "~:width": 270.929997403396, + "~:height": 270.93125066609, + "~:x1": 2372.00012499907, + "~:y1": 3733.00037530608, + "~:x2": 2642.93012240246, + "~:y2": 4003.93162597217 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c0b": { + "~#shape": { + "~:y": 526.000362111881, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 207.999946794509, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 490.000035641214, + "~:y": 526.000362111881 + } + }, + { + "~#point": { + "~:x": 697.999982435724, + "~:y": 526.000362111881 + } + }, + { + "~#point": { + "~:x": 697.999982435724, + "~:y": 716.000344826534 + } + }, + { + "~#point": { + "~:x": 490.000035641214, + "~:y": 716.000344826534 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c0b", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#d10202", + "~:stroke-opacity": 1 + } + ], + "~:x": 490.000035641215, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#c41414", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 490.000035641215, + "~:y": 526.000362111881, + "~:width": 207.999946794509, + "~:height": 189.999982714653, + "~:x1": 490.000035641215, + "~:y1": 526.000362111881, + "~:x2": 697.999982435724, + "~:y2": 716.000344826534 + } + }, + "~:fills": [ + { + "~:fill-color": "#0b3ed5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": 189.999982714653, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fec": { + "~#shape": { + "~:y": 1497.00032895324, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 1843.00012774194, + "~:y": 1497.00032895324 + } + }, + { + "~#point": { + "~:x": 2035.00012774194, + "~:y": 1497.00032895324 + } + }, + { + "~#point": { + "~:x": 2035.00012774194, + "~:y": 1676.00032895324 + } + }, + { + "~#point": { + "~:x": 1843.00012774194, + "~:y": 1676.00032895324 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806ff1328", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fec", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 1843.00012774194, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1843.00012774194, + "~:y": 1497.00032895324, + "~:width": 192, + "~:height": 179, + "~:x1": 1843.00012774194, + "~:y1": 1497.00032895324, + "~:x2": 2035.00012774194, + "~:y2": 1676.00032895324 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bec": { + "~#shape": { + "~:y": 3374.0003200719, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2794.00008661531, + "~:y": 3374.0003200719 + } + }, + { + "~#point": { + "~:x": 3270.17600370021, + "~:y": 3374.0003200719 + } + }, + { + "~#point": { + "~:x": 3270.17600370021, + "~:y": 3850.00034212562 + } + }, + { + "~#point": { + "~:x": 2794.00008661531, + "~:y": 3850.00034212562 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bec", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2794.00008661531, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2794.00008661531, + "~:y": 3374.0003200719, + "~:width": 476.175917084897, + "~:height": 476.00002205372, + "~:x1": 2794.00008661531, + "~:y1": 3374.0003200719, + "~:x2": 3270.17600370021, + "~:y2": 3850.00034212562 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.00002205372, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bed" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c0c": { + "~#shape": { + "~:y": 1504.73413333635, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 0.818481293921291, + "~:b": -0.574533177023684, + "~:c": 0.57453315860228, + "~:d": 0.818481306852201, + "~:e": 1.21872290037572e-10, + "~:f": 1.10048858914524e-10 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "xxx", + "~:width": 564.02332050295, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 4295.00007219852, + "~:y": 1718.05045304135 + } + }, + { + "~#point": { + "~:x": 4756.64260936556, + "~:y": 1394.00034279735 + } + }, + { + "~#point": { + "~:x": 5081.33128730334, + "~:y": 1856.55260711773 + } + }, + { + "~#point": { + "~:x": 4619.6887501363, + "~:y": 2180.60271736173 + } + } + ], + "~:r2": 20, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481306852202, + "~:b": 0.574533177023684, + "~:c": -0.574533158602281, + "~:d": 0.818481293921292, + "~:e": -3.65234727062844e-11, + "~:f": -1.6009260642536e-10 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 20, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c0c", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 4406.15401949945, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 4406.15401949945, + "~:y": 1504.73413333635, + "~:width": 564.02332050295, + "~:height": 565.13479348638, + "~:x1": 4406.15401949945, + "~:y1": 1504.73413333635, + "~:x2": 4970.1773400024, + "~:y2": 2069.86892682273 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 565.13479348638, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9c0d" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fed": { + "~#shape": { + "~:y": 1215.00031369445, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 2567.00012774194, + "~:y": 1215.00031369445 + } + }, + { + "~#point": { + "~:x": 2759.00012774194, + "~:y": 1215.00031369445 + } + }, + { + "~#point": { + "~:x": 2759.00012774194, + "~:y": 1394.00031369445 + } + }, + { + "~#point": { + "~:x": 2567.00012774194, + "~:y": 1394.00031369445 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806ff1329", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fed", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 2567.00012774194, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2567.00012774194, + "~:y": 1215.00031369445, + "~:width": 192, + "~:height": 179, + "~:x1": 2567.00012774194, + "~:y1": 1215.00031369445, + "~:x2": 2759.00012774194, + "~:y2": 1394.00031369445 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.6 + } + ], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bed": { + "~#shape": { + "~:y": 3733.00037530608, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403397, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 3152.00012350486, + "~:y": 3733.00037530608 + } + }, + { + "~#point": { + "~:x": 3422.93012090826, + "~:y": 3733.00037530608 + } + }, + { + "~#point": { + "~:x": 3422.93012090826, + "~:y": 4003.93162597217 + } + }, + { + "~#point": { + "~:x": 3152.00012350486, + "~:y": 4003.93162597217 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bed", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bec", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bec", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 3152.00012350486, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 3152.00012350486, + "~:y": 3733.00037530608, + "~:width": 270.929997403397, + "~:height": 270.93125066609, + "~:x1": 3152.00012350486, + "~:y1": 3733.00037530608, + "~:x2": 3422.93012090826, + "~:y2": 4003.93162597217 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c0d": { + "~#shape": { + "~:y": 1703.23985330363, + "~:transform": { + "~#matrix": { + "~:a": 0.818481309241701, + "~:b": -0.574533155198194, + "~:c": 0.574533177718632, + "~:d": 0.818481293433472, + "~:e": 4.54747350886464e-13, + "~:f": -2.27373675443232e-13 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "c183266cdfab", + "~:width": 270.930112725792, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 4794.00012046903, + "~:y": 1805.6585938178 + } + }, + { + "~#point": { + "~:x": 5015.75142412457, + "~:y": 1650.00018246347 + } + }, + { + "~#point": { + "~:x": 5171.41044141724, + "~:y": 1871.75236278115 + } + }, + { + "~#point": { + "~:x": 4949.6591377617, + "~:y": 2027.41077413547 + } + } + ], + "~:r2": 20, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481293433473, + "~:b": 0.574533155198194, + "~:c": -0.574533177718633, + "~:d": 0.818481309241701, + "~:e": -5.02835920220964e-13, + "~:f": -7.51663267589463e-14 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:r1": 20, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c0d", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9c0c", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9c0c", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 4847.24022458024, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 4847.24022458024, + "~:y": 1703.23985330363, + "~:width": 270.930112725792, + "~:height": 270.931249991688, + "~:x1": 4847.24022458024, + "~:y1": 1703.23985330363, + "~:x2": 5118.17033730603, + "~:y2": 1974.17110329532 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931249991688, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fee": { + "~#shape": { + "~:y": 1215.00031369445, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 2205.00012774194, + "~:y": 1215.00031369445 + } + }, + { + "~#point": { + "~:x": 2397.00012774194, + "~:y": 1215.00031369445 + } + }, + { + "~#point": { + "~:x": 2397.00012774194, + "~:y": 1394.00031369445 + } + }, + { + "~#point": { + "~:x": 2205.00012774194, + "~:y": 1394.00031369445 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806ff6cea", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fee", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:center", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 2205.00012774194, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 2205.00012774194, + "~:y": 1215.00031369445, + "~:width": 192, + "~:height": 179, + "~:x1": 2205.00012774194, + "~:y1": 1215.00031369445, + "~:x2": 2397.00012774194, + "~:y2": 1394.00031369445 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.6 + } + ], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bee": { + "~#shape": { + "~:y": 2565.00029665231, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2013.99994943684, + "~:y": 2565.00029665231 + } + }, + { + "~#point": { + "~:x": 2490.17586652174, + "~:y": 2565.00029665231 + } + }, + { + "~#point": { + "~:x": 2490.17586652174, + "~:y": 3041.00031870603 + } + }, + { + "~#point": { + "~:x": 2013.99994943684, + "~:y": 3041.00031870603 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bee", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2013.99994943684, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2013.99994943684, + "~:y": 2565.00029665231, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 2013.99994943684, + "~:y1": 2565.00029665231, + "~:x2": 2490.17586652174, + "~:y2": 3041.00031870603 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bef" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c0e": { + "~#shape": { + "~:y": 1611.16803765226, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 0.818481300480226, + "~:b": -0.574533167679812, + "~:c": 0.574533167679814, + "~:d": 0.818481300480228, + "~:e": 1.34605215862393e-10, + "~:f": 1.01863406598568e-10 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "xxx", + "~:width": 413.067929797302, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 3570.00012510581, + "~:y": 1766.32157998937 + } + }, + { + "~#point": { + "~:x": 3908.08850147298, + "~:y": 1529.00035381599 + } + }, + { + "~#point": { + "~:x": 4139.09939231376, + "~:y": 1858.09901164288 + } + }, + { + "~#point": { + "~:x": 3801.01101594659, + "~:y": 2095.42023781626 + } + } + ], + "~:r2": 20, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481300480225, + "~:b": 0.57453316767981, + "~:c": -0.574533167679812, + "~:d": 0.818481300480223, + "~:e": -5.16479464667412e-11, + "~:f": -1.60708454559787e-10 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 20, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c0e", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 3648.01579381114, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 3648.01579381114, + "~:y": 1611.16803765226, + "~:width": 413.067929797302, + "~:height": 402.084516327741, + "~:x1": 3648.01579381114, + "~:y1": 1611.16803765226, + "~:x2": 4061.08372360844, + "~:y2": 2013.25255398 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 402.084516327741, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9c0f" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fef": { + "~#shape": { + "~:y": 1215.00031369445, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Ellipse", + "~:width": 192, + "~:type": "~:circle", + "~:points": [ + { + "~#point": { + "~:x": 1843.00012774194, + "~:y": 1215.00031369445 + } + }, + { + "~#point": { + "~:x": 2035.00012774194, + "~:y": 1215.00031369445 + } + }, + { + "~#point": { + "~:x": 2035.00012774194, + "~:y": 1394.00031369445 + } + }, + { + "~#point": { + "~:x": 1843.00012774194, + "~:y": 1394.00031369445 + } + } + ], + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806ff8988", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fef", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 1843.00012774194, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#e10808", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 0, + "~:hidden": false, + "~:id": "~ueb1e2a26-b3c3-8058-8006-b3a19119cecb", + "~:offset-x": 40 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1843.00012774194, + "~:y": 1215.00031369445, + "~:width": 192, + "~:height": 179, + "~:x1": 1843.00012774194, + "~:y1": 1215.00031369445, + "~:x2": 2035.00012774194, + "~:y2": 1394.00031369445 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.6 + } + ], + "~:flip-x": null, + "~:height": 179, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bef": { + "~#shape": { + "~:y": 2924.00033662769, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2372.00018469064, + "~:y": 2924.00033662769 + } + }, + { + "~#point": { + "~:x": 2642.93018209404, + "~:y": 2924.00033662769 + } + }, + { + "~#point": { + "~:x": 2642.93018209404, + "~:y": 3194.93158729378 + } + }, + { + "~#point": { + "~:x": 2372.00018469064, + "~:y": 3194.93158729378 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bef", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bee", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bee", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 1 + }, + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 2372.00018469064, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2372.00018469064, + "~:y": 2924.00033662769, + "~:width": 270.929997403396, + "~:height": 270.931250666089, + "~:x1": 2372.00018469064, + "~:y1": 2924.00033662769, + "~:x2": 2642.93018209404, + "~:y2": 3194.93158729378 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931250666089, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c0f": { + "~#shape": { + "~:y": 1751.23995333668, + "~:transform": { + "~#matrix": { + "~:a": 0.818481309241701, + "~:b": -0.574533155198194, + "~:c": 0.574533177718632, + "~:d": 0.818481293433472, + "~:e": 4.54747350886464e-13, + "~:f": -2.27373675443232e-13 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "c183266cdfab", + "~:width": 270.930229283618, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 4069.00022844074, + "~:y": 1853.65866168176 + } + }, + { + "~#point": { + "~:x": 4290.75133015836, + "~:y": 1698.0004166126 + } + }, + { + "~#point": { + "~:x": 4446.41046648783, + "~:y": 1919.75275311502 + } + }, + { + "~#point": { + "~:x": 4224.65936477021, + "~:y": 2075.41099818418 + } + } + ], + "~:r2": 20, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481293433473, + "~:b": 0.574533155198194, + "~:c": -0.574533177718633, + "~:d": 0.818481309241701, + "~:e": -5.02835920220964e-13, + "~:f": -7.51663267589463e-14 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:r1": 20, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c0f", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9c0e", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9c0e", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 4122.24023282248, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 4122.24023282248, + "~:y": 1751.23995333668, + "~:width": 270.930229283618, + "~:height": 270.931508123429, + "~:x1": 4122.24023282248, + "~:y1": 1751.23995333668, + "~:x2": 4393.17046210609, + "~:y2": 2022.17146146011 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931508123429, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff0": { + "~#shape": { + "~:y": 876.000286376278, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 208.000215015414, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2576.00010023172, + "~:y": 876.000286376278 + } + }, + { + "~#point": { + "~:x": 2784.00031524713, + "~:y": 876.000286376278 + } + }, + { + "~#point": { + "~:x": 2784.00031524713, + "~:y": 1066.00028548221 + } + }, + { + "~#point": { + "~:x": 2576.00010023172, + "~:y": 1066.00028548221 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b806ffc544", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff0", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 2576.00010023172, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#000000", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2576.00010023172, + "~:y": 876.000286376278, + "~:width": 208.000215015414, + "~:height": 189.99999910593, + "~:x1": 2576.00010023172, + "~:y1": 876.000286376278, + "~:x2": 2784.00031524713, + "~:y2": 1066.00028548221 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf0": { + "~#shape": { + "~:y": 2565.00029665231, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084896, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2794.00008527174, + "~:y": 2565.00029665231 + } + }, + { + "~#point": { + "~:x": 3270.17600235663, + "~:y": 2565.00029665231 + } + }, + { + "~#point": { + "~:x": 3270.17600235663, + "~:y": 3041.00031870603 + } + }, + { + "~#point": { + "~:x": 2794.00008527174, + "~:y": 3041.00031870603 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf0", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2794.00008527174, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2794.00008527174, + "~:y": 2565.00029665231, + "~:width": 476.175917084896, + "~:height": 476.000022053719, + "~:x1": 2794.00008527174, + "~:y1": 2565.00029665231, + "~:x2": 3270.17600235663, + "~:y2": 3041.00031870603 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bf1" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c10": { + "~#shape": { + "~:y": 610.733790539003, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 0.818481293921295, + "~:b": -0.574533177023682, + "~:c": 0.574533158602284, + "~:d": 0.818481306852201, + "~:e": 1.2732925824821e-10, + "~:f": 8.8220986071974e-11 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "xxx", + "~:width": 564.023320502951, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 4186.000584961, + "~:y": 824.050110244007 + } + }, + { + "~#point": { + "~:x": 4647.64312212804, + "~:y": 500 + } + }, + { + "~#point": { + "~:x": 4972.33180006582, + "~:y": 962.55226432038 + } + }, + { + "~#point": { + "~:x": 4510.68926289878, + "~:y": 1286.60237456439 + } + } + ], + "~:r2": 20, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481306852199, + "~:b": 0.57453317702368, + "~:c": -0.574533158602283, + "~:d": 0.818481293921293, + "~:e": -5.35307359085768e-11, + "~:f": -1.45362110100614e-10 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 20, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c10", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 4297.15453226193, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 4297.15453226193, + "~:y": 610.733790539003, + "~:width": 564.023320502951, + "~:height": 565.13479348638, + "~:x1": 4297.15453226193, + "~:y1": 610.733790539003, + "~:x2": 4861.17785276488, + "~:y2": 1175.86858402538 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 565.13479348638, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9c11" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff1": { + "~#shape": { + "~:y": 876.000286376278, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 208.000215015413, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2198.00016333161, + "~:y": 876.000286376278 + } + }, + { + "~#point": { + "~:x": 2406.00037834702, + "~:y": 876.000286376278 + } + }, + { + "~#point": { + "~:x": 2406.00037834702, + "~:y": 1066.00028548221 + } + }, + { + "~#point": { + "~:x": 2198.00016333161, + "~:y": 1066.00028548221 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b807003e68", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff1", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#b7c821", + "~:stroke-opacity": 1 + } + ], + "~:x": 2198.00016333161, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#00f080", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2198.00016333161, + "~:y": 876.000286376278, + "~:width": 208.000215015413, + "~:height": 189.99999910593, + "~:x1": 2198.00016333161, + "~:y1": 876.000286376278, + "~:x2": 2406.00037834702, + "~:y2": 1066.00028548221 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf1": { + "~#shape": { + "~:y": 2924.00033662769, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 3152.00013742007, + "~:y": 2924.00033662769 + } + }, + { + "~#point": { + "~:x": 3422.93013482347, + "~:y": 2924.00033662769 + } + }, + { + "~#point": { + "~:x": 3422.93013482347, + "~:y": 3194.93158729378 + } + }, + { + "~#point": { + "~:x": 3152.00013742007, + "~:y": 3194.93158729378 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf1", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf0", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf0", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 1 + }, + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 3152.00013742007, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 3152.00013742007, + "~:y": 2924.00033662769, + "~:width": 270.929997403396, + "~:height": 270.931250666089, + "~:x1": 3152.00013742007, + "~:y1": 2924.00033662769, + "~:x2": 3422.93013482347, + "~:y2": 3194.93158729378 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931250666089, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c11": { + "~#shape": { + "~:y": 809.24011099148, + "~:transform": { + "~#matrix": { + "~:a": 0.818481309241701, + "~:b": -0.574533155198194, + "~:c": 0.574533177718632, + "~:d": 0.818481293433472, + "~:e": 4.54747350886464e-13, + "~:f": -2.27373675443232e-13 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "c183266cdfab", + "~:width": 270.93005171888, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 4684.99991666207, + "~:y": 911.658800841629 + } + }, + { + "~#point": { + "~:x": 4906.75100791949, + "~:y": 756.000535914766 + } + }, + { + "~#point": { + "~:x": 5062.41001861255, + "~:y": 977.752740097087 + } + }, + { + "~#point": { + "~:x": 4840.65892735513, + "~:y": 1133.41100502395 + } + } + ], + "~:r2": 20, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481293433473, + "~:b": 0.574533155198194, + "~:c": -0.574533177718633, + "~:d": 0.818481309241701, + "~:e": -5.02835920220964e-13, + "~:f": -7.51663267589463e-14 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:r1": 20, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c11", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9c10", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9c10", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 4738.23994177787, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 4738.23994177787, + "~:y": 809.24011099148, + "~:width": 270.93005171888, + "~:height": 270.931318955755, + "~:x1": 4738.23994177787, + "~:y1": 809.24011099148, + "~:x2": 5009.16999349675, + "~:y2": 1080.17142994724 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931318955755, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff2": { + "~#shape": { + "~:y": 876.000317816106, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 207.999982557296, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1820.00001237334, + "~:y": 876.000317816106 + } + }, + { + "~#point": { + "~:x": 2027.99999493064, + "~:y": 876.000317816106 + } + }, + { + "~#point": { + "~:x": 2027.99999493064, + "~:y": 1066.00030053076 + } + }, + { + "~#point": { + "~:x": 1820.00001237334, + "~:y": 1066.00030053076 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b80700707b", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff2", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#d10202", + "~:stroke-opacity": 1 + } + ], + "~:x": 1820.00001237334, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#c41414", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1820.00001237334, + "~:y": 876.000317816106, + "~:width": 207.999982557296, + "~:height": 189.999982714653, + "~:x1": 1820.00001237334, + "~:y1": 876.000317816106, + "~:x2": 2027.99999493064, + "~:y2": 1066.00030053076 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 189.999982714653, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf2": { + "~#shape": { + "~:y": 4980.00043118209, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2014.00011314881, + "~:y": 4980.00043118209 + } + }, + { + "~#point": { + "~:x": 2490.1760302337, + "~:y": 4980.00043118209 + } + }, + { + "~#point": { + "~:x": 2490.1760302337, + "~:y": 5456.00045323581 + } + }, + { + "~#point": { + "~:x": 2014.00011314881, + "~:y": 5456.00045323581 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf2", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2014.00011314881, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2014.00011314881, + "~:y": 4980.00043118209, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 2014.00011314881, + "~:y1": 4980.00043118209, + "~:x2": 2490.1760302337, + "~:y2": 5456.00045323581 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bf3" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c12": { + "~#shape": { + "~:y": 716.167871455469, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 0.818481300480222, + "~:b": -0.574533167679814, + "~:c": 0.57453316767981, + "~:d": 0.818481300480228, + "~:e": 1.56433088704944e-10, + "~:f": 7.73070496506989e-11 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "xxx", + "~:width": 413.067929797302, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 3461.00005803431, + "~:y": 871.321413792587 + } + }, + { + "~#point": { + "~:x": 3799.08843440148, + "~:y": 634.0001876192 + } + }, + { + "~#point": { + "~:x": 4030.09932524226, + "~:y": 963.098845446092 + } + }, + { + "~#point": { + "~:x": 3692.01094887509, + "~:y": 1200.42007161948 + } + } + ], + "~:r2": 20, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481300480228, + "~:b": 0.574533167679814, + "~:c": -0.574533167679811, + "~:d": 0.818481300480223, + "~:e": -8.36220937615648e-11, + "~:f": -1.53150372517982e-10 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 20, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c12", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 3539.01572673963, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 3539.01572673963, + "~:y": 716.167871455469, + "~:width": 413.067929797302, + "~:height": 402.084516327739, + "~:x1": 3539.01572673963, + "~:y1": 716.167871455469, + "~:x2": 3952.08365653694, + "~:y2": 1118.25238778321 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 402.084516327739, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9c13" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff3": { + "~#shape": { + "~:y": 542.000315096214, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 208.00019713402, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2563.00005541759, + "~:y": 542.000315096214 + } + }, + { + "~#point": { + "~:x": 2771.00025255161, + "~:y": 542.000315096214 + } + }, + { + "~#point": { + "~:x": 2771.00025255161, + "~:y": 732.000314202145 + } + }, + { + "~#point": { + "~:x": 2563.00005541759, + "~:y": 732.000314202145 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b807008fda", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff3", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:outer", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 2563.00005541759, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#000000", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2563.00005541759, + "~:y": 542.000315096214, + "~:width": 208.00019713402, + "~:height": 189.99999910593, + "~:x1": 2563.00005541759, + "~:y1": 542.000315096214, + "~:x2": 2771.00025255161, + "~:y2": 732.000314202145 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf3": { + "~#shape": { + "~:y": 5339.00024227564, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2372.00010426199, + "~:y": 5339.00024227564 + } + }, + { + "~#point": { + "~:x": 2642.93010166538, + "~:y": 5339.00024227564 + } + }, + { + "~#point": { + "~:x": 2642.93010166538, + "~:y": 5609.93149294173 + } + }, + { + "~#point": { + "~:x": 2372.00010426199, + "~:y": 5609.93149294173 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf3", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf2", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf2", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 1 + }, + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 2372.00010426199, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2372.00010426199, + "~:y": 5339.00024227564, + "~:width": 270.929997403396, + "~:height": 270.93125066609, + "~:x1": 2372.00010426199, + "~:y1": 5339.00024227564, + "~:x2": 2642.93010166538, + "~:y2": 5609.93149294173 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c13": { + "~#shape": { + "~:y": 856.2391232107, + "~:transform": { + "~#matrix": { + "~:a": 0.818481309241701, + "~:b": -0.574533155198194, + "~:c": 0.574533177718632, + "~:d": 0.818481293433472, + "~:e": 4.54747350886464e-13, + "~:f": -2.27373675443232e-13 + } + }, + "~:rotation": 324.933053903474, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "c183266cdfab", + "~:width": 270.930008058034, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 3960.000598051, + "~:y": 958.65780868028 + } + }, + { + "~#point": { + "~:x": 4181.75178187885, + "~:y": 802.999513553355 + } + }, + { + "~#point": { + "~:x": 4337.41074501813, + "~:y": 1024.75163734618 + } + }, + { + "~#point": { + "~:x": 4115.65956119027, + "~:y": 1180.4099324731 + } + } + ], + "~:r2": 20, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.818481293433473, + "~:b": 0.574533155198194, + "~:c": -0.574533177718633, + "~:d": 0.818481309241701, + "~:e": -5.02835920220964e-13, + "~:f": -7.51663267589463e-14 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:r1": 20, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c13", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9c12", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9c12", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 4013.24066750554, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 4013.24066750554, + "~:y": 856.2391232107, + "~:width": 270.930008058034, + "~:height": 270.931199605052, + "~:x1": 4013.24066750554, + "~:y1": 856.2391232107, + "~:x2": 4284.17067556358, + "~:y2": 1127.17032281575 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931199605052, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff4": { + "~#shape": { + "~:y": 542.000315096214, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 207.999946794509, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2192.00013310689, + "~:y": 542.000315096214 + } + }, + { + "~#point": { + "~:x": 2400.0000799014, + "~:y": 542.000315096214 + } + }, + { + "~#point": { + "~:x": 2400.0000799014, + "~:y": 732.000314202145 + } + }, + { + "~#point": { + "~:x": 2192.00013310689, + "~:y": 732.000314202145 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b807008fdb", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff4", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#b7c821", + "~:stroke-opacity": 1 + } + ], + "~:x": 2192.0001331069, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#00f080", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2192.0001331069, + "~:y": 542.000315096214, + "~:width": 207.999946794509, + "~:height": 189.99999910593, + "~:x1": 2192.0001331069, + "~:y1": 542.000315096214, + "~:x2": 2400.0000799014, + "~:y2": 732.000314202145 + } + }, + "~:fills": [ + { + "~:fill-color": "#7f5217", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": 189.99999910593, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf4": { + "~#shape": { + "~:y": 4980.00043118209, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2794.00012691339, + "~:y": 4980.00043118209 + } + }, + { + "~#point": { + "~:x": 3270.17604399829, + "~:y": 4980.00043118209 + } + }, + { + "~#point": { + "~:x": 3270.17604399829, + "~:y": 5456.00045323581 + } + }, + { + "~#point": { + "~:x": 2794.00012691339, + "~:y": 5456.00045323581 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf4", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2794.00012691339, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2794.00012691339, + "~:y": 4980.00043118209, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 2794.00012691339, + "~:y1": 4980.00043118209, + "~:x2": 3270.17604399829, + "~:y2": 5456.00045323581 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bf5" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9c14": { + "~#shape": { + "~:y": 3548.79084725864, + "~:transform": { + "~#matrix": { + "~:a": 0.875521645611856, + "~:b": -0.483178898613245, + "~:c": 0.483178842426414, + "~:d": 0.875521676619982, + "~:e": 1.00044417195022e-11, + "~:f": 1.38697942020372e-11 + } + }, + "~:rotation": 331.106771530248, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 224.867986830995, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 4521.00011951727, + "~:y": 3609.65168877195 + } + }, + { + "~#point": { + "~:x": 4717.87690939297, + "~:y": 3501.00022256157 + } + }, + { + "~#point": { + "~:x": 4768.61066013814, + "~:y": 3592.92994839677 + } + }, + { + "~#point": { + "~:x": 4571.73387026244, + "~:y": 3701.58141460715 + } + } + ], + "~:r2": 0, + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.875521676619987, + "~:b": 0.483178898613247, + "~:c": -0.483178842426416, + "~:d": 0.87552164561186, + "~:e": -2.05751448067259e-12, + "~:f": -1.69772401753349e-11 + } + }, + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9c14", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [], + "~:x": 4532.37139641221, + "~:proportion": 1, + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 4532.37139641221, + "~:y": 3548.79084725864, + "~:width": 224.867986830995, + "~:height": 104.999942651446, + "~:x1": 4532.37139641221, + "~:y1": 3548.79084725864, + "~:x2": 4757.2393832432, + "~:y2": 3653.79078991008 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 104.999942651446, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff5": { + "~#shape": { + "~:y": 542.000314559775, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 207.999946794509, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1820.00004563271, + "~:y": 542.000314559775 + } + }, + { + "~#point": { + "~:x": 2027.99999242722, + "~:y": 542.000314559775 + } + }, + { + "~#point": { + "~:x": 2027.99999242722, + "~:y": 732.000297274428 + } + }, + { + "~#point": { + "~:x": 1820.00004563271, + "~:y": 732.000297274428 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b80700e25a", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff5", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#d10202", + "~:stroke-opacity": 1 + } + ], + "~:x": 1820.00004563271, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#c41414", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u9c6ef694-ec31-8045-8006-b383bb6b2eda", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1820.00004563271, + "~:y": 542.000314559775, + "~:width": 207.999946794509, + "~:height": 189.999982714653, + "~:x1": 1820.00004563271, + "~:y1": 542.000314559775, + "~:x2": 2027.99999242722, + "~:y2": 732.000297274428 + } + }, + "~:fills": [ + { + "~:fill-color": "#0b3ed5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": 189.999982714653, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf5": { + "~#shape": { + "~:y": 5339.00024227564, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403397, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 3152.00010276778, + "~:y": 5339.00024227564 + } + }, + { + "~#point": { + "~:x": 3422.93010017118, + "~:y": 5339.00024227564 + } + }, + { + "~#point": { + "~:x": 3422.93010017118, + "~:y": 5609.93149294173 + } + }, + { + "~#point": { + "~:x": 3152.00010276778, + "~:y": 5609.93149294173 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf5", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf4", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf4", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 1 + }, + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 3152.00010276778, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 3152.00010276778, + "~:y": 5339.00024227564, + "~:width": 270.929997403397, + "~:height": 270.93125066609, + "~:x1": 3152.00010276778, + "~:y1": 5339.00024227564, + "~:x2": 3422.93010017118, + "~:y2": 5609.93149294173 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff6": { + "~#shape": { + "~:y": 2585.00053504916, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Board", + "~:width": 1103.9998195998, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 3770.00035044873, + "~:y": 2585.00053206573 + } + }, + { + "~#point": { + "~:x": 4874.00017004853, + "~:y": 2585.0005380326 + } + }, + { + "~#point": { + "~:x": 4874.00016654172, + "~:y": 3119.45044960726 + } + }, + { + "~#point": { + "~:x": 3770.00034694192, + "~:y": 3119.4504436404 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:opacity": 0.8, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff6", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:center", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 3770.00034869533, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#140a67", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 300, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~ud2b53ca8-aebb-8099-8006-bdabce5cb46c", + "~:offset-x": 300 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 3770.00034869533, + "~:y": 2585.00053504916, + "~:width": 1103.9998195998, + "~:height": 534.449911574665, + "~:x1": 3770.00034869533, + "~:y1": 2585.00053504916, + "~:x2": 4874.00016829513, + "~:y2": 3119.45044662383 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 534.449911574665, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc7ff7", + "~u813630e3-7f07-80da-8006-c2b969bc7ff8" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf6": { + "~#shape": { + "~:y": 4171.00034672734, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2013.99992869976, + "~:y": 4171.00034672734 + } + }, + { + "~#point": { + "~:x": 2490.17584578466, + "~:y": 4171.00034672734 + } + }, + { + "~#point": { + "~:x": 2490.17584578466, + "~:y": 4647.00036878106 + } + }, + { + "~#point": { + "~:x": 2013.99992869976, + "~:y": 4647.00036878106 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf6", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2013.99992869976, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2013.99992869976, + "~:y": 4171.00034672734, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 2013.99992869976, + "~:y1": 4171.00034672734, + "~:x2": 2490.17584578466, + "~:y2": 4647.00036878106 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bf7" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff7": { + "~#shape": { + "~:y": 2654.00029065472, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 224.868012345696, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 4664.00014983, + "~:y": 2654.00028934492 + } + }, + { + "~#point": { + "~:x": 4888.8681621757, + "~:y": 2654.00029196453 + } + }, + { + "~#point": { + "~:x": 4888.8681536456, + "~:y": 2759.00026051267 + } + }, + { + "~#point": { + "~:x": 4664.00014129991, + "~:y": 2759.00025789306 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff7", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc7ff6", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc7ff6", + "~:strokes": [], + "~:x": 4664.00014556495, + "~:proportion": 1, + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 4664.00014556495, + "~:y": 2654.00029065472, + "~:width": 224.868012345696, + "~:height": 104.99996854814, + "~:x1": 4664.00014556495, + "~:y1": 2654.00029065472, + "~:x2": 4888.86815791065, + "~:y2": 2759.00025920286 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 104.99996854814, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf7": { + "~#shape": { + "~:y": 4530.00032566757, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 2372.00016395357, + "~:y": 4530.00032566757 + } + }, + { + "~#point": { + "~:x": 2642.93016135696, + "~:y": 4530.00032566757 + } + }, + { + "~#point": { + "~:x": 2642.93016135696, + "~:y": 4800.93157633366 + } + }, + { + "~#point": { + "~:x": 2372.00016395357, + "~:y": 4800.93157633366 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf7", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf6", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf6", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 1 + }, + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 2372.00016395357, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2372.00016395357, + "~:y": 4530.00032566757, + "~:width": 270.929997403396, + "~:height": 270.93125066609, + "~:x1": 2372.00016395357, + "~:y1": 4530.00032566757, + "~:x2": 2642.93016135696, + "~:y2": 4800.93157633366 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff8": { + "~#shape": { + "~:y": 2834.00024696069, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~:type": "root", + "~:key": "1otdj8747ov", + "~:children": [ + { + "~:type": "paragraph-set", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:text-transform": "none", + "~:font-id": "sourcesanspro", + "~:key": "1ppxneff2xr", + "~:font-size": "400", + "~:font-weight": "400", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro", + "~:text": "HOLA" + } + ], + "~:text-transform": "none", + "~:text-align": "left", + "~:font-id": "sourcesanspro", + "~:key": "2afvsygzvt", + "~:font-size": "400", + "~:font-weight": "400", + "~:text-direction": "ltr", + "~:type": "paragraph", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro" + } + ] + } + ], + "~:vertical-align": "top" + }, + "~:hide-in-viewer": false, + "~:name": "HOLA", + "~:width": 986.211443269176, + "~:type": "~:text", + "~:points": [ + { + "~#point": { + "~:x": 3925.99990800704, + "~:y": 2834.00024149059 + } + }, + { + "~#point": { + "~:x": 4912.21135127622, + "~:y": 2834.0002524308 + } + }, + { + "~#point": { + "~:x": 4912.21135127622, + "~:y": 3215.25720785521 + } + }, + { + "~#point": { + "~:x": 3925.99990800704, + "~:y": 3215.257196915 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:constraints-v": "~:top", + "~:constraints-h": "~:left", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff8", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc7ff6", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc7ff6", + "~:strokes": [], + "~:x": 3925.99990800704, + "~:shadow": [ + { + "~:color": { + "~:color": "#ea1212", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 20, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u757a30c8-2a19-8062-8006-bdd7693703f6", + "~:offset-x": 20 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 3925.99990800704, + "~:y": 2834.00024696069, + "~:width": 986.211443269176, + "~:height": 381.256955424409, + "~:x1": 3925.99990800704, + "~:y1": 2834.00024696069, + "~:x2": 4912.21135127622, + "~:y2": 3215.2572023851 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 381.256955424409, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf8": { + "~#shape": { + "~:y": 4171.00034672734, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 2794.00012556981, + "~:y": 4171.00034672734 + } + }, + { + "~#point": { + "~:x": 3270.17604265471, + "~:y": 4171.00034672734 + } + }, + { + "~#point": { + "~:x": 3270.17604265471, + "~:y": 4647.00036878106 + } + }, + { + "~#point": { + "~:x": 2794.00012556981, + "~:y": 4647.00036878106 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf8", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 2794.00012556981, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 2794.00012556981, + "~:y": 4171.00034672734, + "~:width": 476.175917084897, + "~:height": 476.000022053719, + "~:x1": 2794.00012556981, + "~:y1": 4171.00034672734, + "~:x2": 3270.17604265471, + "~:y2": 4647.00036878106 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bf9" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ff9": { + "~#shape": { + "~:y": 3375.00028799808, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084897, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 489.999957859182, + "~:y": 3375.00028799808 + } + }, + { + "~#point": { + "~:x": 966.175874944079, + "~:y": 3375.00028799808 + } + }, + { + "~#point": { + "~:x": 966.175874944079, + "~:y": 3851.0003100518 + } + }, + { + "~#point": { + "~:x": 489.999957859182, + "~:y": 3851.0003100518 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ff9", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 489.999957859182, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 489.999957859182, + "~:y": 3375.00028799808, + "~:width": 476.175917084897, + "~:height": 476.00002205372, + "~:x1": 489.999957859182, + "~:y1": 3375.00028799808, + "~:x2": 966.175874944079, + "~:y2": 3851.0003100518 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.00002205372, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc7ffa" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bf9": { + "~#shape": { + "~:y": 4530.00032566757, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403397, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 3152.000116683, + "~:y": 4530.00032566757 + } + }, + { + "~#point": { + "~:x": 3422.93011408639, + "~:y": 4530.00032566757 + } + }, + { + "~#point": { + "~:x": 3422.93011408639, + "~:y": 4800.93157633366 + } + }, + { + "~#point": { + "~:x": 3152.000116683, + "~:y": 4800.93157633366 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bf9", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf8", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bf8", + "~:strokes": [ + { + "~:stroke-alignment": "~:inner", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 1 + }, + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 3152.000116683, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#ba04e7", + "~:opacity": 0.5 + }, + "~:spread": 0, + "~:offset-y": 25, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~uea3497ec-8c4f-80ce-8006-b7431e93c950", + "~:offset-x": 25 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 3152.000116683, + "~:y": 4530.00032566757, + "~:width": 270.929997403397, + "~:height": 270.93125066609, + "~:x1": 3152.000116683, + "~:y1": 4530.00032566757, + "~:x2": 3422.93011408639, + "~:y2": 4800.93157633366 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 270.93125066609, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7ffa": { + "~#shape": { + "~:y": 3734.0002821971, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 848.000071042675, + "~:y": 3734.0002821971 + } + }, + { + "~#point": { + "~:x": 1118.93006844607, + "~:y": 3734.0002821971 + } + }, + { + "~#point": { + "~:x": 1118.93006844607, + "~:y": 4004.93153286319 + } + }, + { + "~#point": { + "~:x": 848.000071042675, + "~:y": 4004.93153286319 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7ffa", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc7ff9", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc7ff9", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 848.000071042675, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#094ae0", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": true, + "~:id": "~udca35925-f5a2-8083-8006-b60be22fea0c", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 848.000071042675, + "~:y": 3734.0002821971, + "~:width": 270.929997403396, + "~:height": 270.931250666088, + "~:x1": 848.000071042675, + "~:y1": 3734.0002821971, + "~:x2": 1118.93006844607, + "~:y2": 4004.93153286319 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931250666088, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bfa": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD9P5tEIS8ORQMAAAD9P5tEIS8ORT0AvET9lQZF/b+7RBAWB0UDAAAAtX+7RCOWB0V1F7NEAQAURXUXs0QBABRFAgAAAAAAAAAAAAAAAAAAAAAAAAD9P5tEIS8ORQ==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 1241.99997291426, + "~:y": 2161.00030828981 + } + }, + { + "~#point": { + "~:x": 1501.99909592772, + "~:y": 2161.00030828981 + } + }, + { + "~#point": { + "~:x": 1501.99909592772, + "~:y": 2368.00026501296 + } + }, + { + "~#point": { + "~:x": 1241.99997291426, + "~:y": 2368.00026501296 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bfa", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1241.99997291426, + "~:y": 2161.00030828981, + "~:width": 259.999123013458, + "~:height": 206.999956723148, + "~:x1": 1241.99997291426, + "~:y1": 2161.00030828981, + "~:x2": 1501.99909592772, + "~:y2": 2368.00026501296 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bfb": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD+/0hEIi8ORQMAAAD+/0hEIi8ORT9AhUT9lQZF//+ERBAWB0UDAAAAv7+ERCSWB0XurnhEAQAURe6ueEQBABRFAgAAAAAAAAAAAAAAAAAAAAAAAAD+/0hEIi8ORQ==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 804.000008158981, + "~:y": 2161.00033838998 + } + }, + { + "~#point": { + "~:x": 1063.99913117244, + "~:y": 2161.00033838998 + } + }, + { + "~#point": { + "~:x": 1063.99913117244, + "~:y": 2368.00029511312 + } + }, + { + "~#point": { + "~:x": 804.000008158981, + "~:y": 2368.00029511312 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bfb", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 804.000008158981, + "~:y": 2161.00033838998, + "~:width": 259.999123013458, + "~:height": 206.999956723148, + "~:x1": 804.000008158981, + "~:y1": 2161.00033838998, + "~:x2": 1063.99913117244, + "~:y2": 2368.00029511312 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bdc": { + "~#shape": { + "~:y": 3375.00028799808, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084896, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 1270.00003265892, + "~:y": 3375.00028799808 + } + }, + { + "~#point": { + "~:x": 1746.17594974382, + "~:y": 3375.00028799808 + } + }, + { + "~#point": { + "~:x": 1746.17594974382, + "~:y": 3851.0003100518 + } + }, + { + "~#point": { + "~:x": 1270.00003265892, + "~:y": 3851.0003100518 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bdc", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 1270.00003265892, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1270.00003265892, + "~:y": 3375.00028799808, + "~:width": 476.175917084896, + "~:height": 476.00002205372, + "~:x1": 1270.00003265892, + "~:y1": 3375.00028799808, + "~:x2": 1746.17594974382, + "~:y2": 3851.0003100518 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 476.00002205372, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bdd" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bfc": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD8f91DIU8NRQMAAAD8f91DIU8NRY5AMET9tQVF/r8vRBA2BkUDAAAAfj8vRCO2BkX+bh5EASATRf5uHkQBIBNFAgAAAAAAAAAAAAAAAAAAAAAAAAD8f91DIU8NRQ==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 443, + "~:y": 2147.00030457082 + } + }, + { + "~#point": { + "~:x": 703.000115897557, + "~:y": 2147.00030457082 + } + }, + { + "~#point": { + "~:x": 703.000115897557, + "~:y": 2354.00026129397 + } + }, + { + "~#point": { + "~:x": 443, + "~:y": 2354.00026129397 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bfc", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 443, + "~:y": 2147.00030457082, + "~:width": 260.000115897557, + "~:height": 206.999956723148, + "~:x1": 443, + "~:y1": 2147.00030457082, + "~:x2": 703.000115897557, + "~:y2": 2354.00026129397 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bdd": { + "~#shape": { + "~:y": 3734.0002821971, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1628.00003903089, + "~:y": 3734.0002821971 + } + }, + { + "~#point": { + "~:x": 1898.93003643429, + "~:y": 3734.0002821971 + } + }, + { + "~#point": { + "~:x": 1898.93003643429, + "~:y": 4004.93153286319 + } + }, + { + "~#point": { + "~:x": 1628.00003903089, + "~:y": 4004.93153286319 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bdd", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bdc", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bdc", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 1628.00003903089, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#094ae0", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": true, + "~:id": "~udca35925-f5a2-8083-8006-b60be22fea0c", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1628.00003903089, + "~:y": 3734.0002821971, + "~:width": 270.929997403396, + "~:height": 270.931250666088, + "~:x1": 1628.00003903089, + "~:y1": 3734.0002821971, + "~:x2": 1898.93003643429, + "~:y2": 4004.93153286319 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931250666088, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bfd": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAABYJ5EQ17sRAMAAAABYJ5EQ17sREEgv0T5K91EAeC+RCAs3kQDAAAAwZ++REcs30R5N7ZEAwD4RHk3tkQDAPhEAgAAAAAAAAAAAAAAAAAAAAAAAAABYJ5EQ17sRA==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 1267.0000171205, + "~:y": 1777.00032442205 + } + }, + { + "~#point": { + "~:x": 1527.00013301806, + "~:y": 1777.00032442205 + } + }, + { + "~#point": { + "~:x": 1527.00013301806, + "~:y": 1984.00040411815 + } + }, + { + "~#point": { + "~:x": 1267.0000171205, + "~:y": 1984.00040411815 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bfd", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:outer", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 1267.0000171205, + "~:y": 1777.00032442205, + "~:width": 260.000115897557, + "~:height": 207.000079696094, + "~:x1": 1267.0000171205, + "~:y1": 1777.00032442205, + "~:x2": 1527.00013301806, + "~:y2": 1984.00040411815 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bde": { + "~#shape": { + "~:y": 2566.00032561364, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77a", + "~:width": 476.175917084896, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 490.000017550761, + "~:y": 2566.00032561364 + } + }, + { + "~#point": { + "~:x": 966.175934635658, + "~:y": 2566.00032561364 + } + }, + { + "~#point": { + "~:x": 966.175934635658, + "~:y": 3042.00034766736 + } + }, + { + "~#point": { + "~:x": 490.000017550761, + "~:y": 3042.00034766736 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:blur": { + "~:id": "~u5339c9ee-d6a8-80a6-8006-b710cd2ce7d6", + "~:type": "~:layer-blur", + "~:value": 4, + "~:hidden": true + }, + "~:r1": 0, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bde", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#ff0202", + "~:stroke-opacity": 1 + } + ], + "~:x": 490.000017550761, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#010101", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 40, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u59bee4d9-ff40-808f-8006-b6070426becf", + "~:offset-x": 40 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 490.000017550761, + "~:y": 2566.00032561364, + "~:width": 476.175917084896, + "~:height": 476.000022053719, + "~:x1": 490.000017550761, + "~:y1": 2566.00032561364, + "~:x2": 966.175934635658, + "~:y2": 3042.00034766736 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 476.000022053719, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc9bdf" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bfe": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAAGQE9EQ17sRAMAAAAGQE9EQ17sRENgiET5K91EAyCIRCAs3kQDAAAAw9+HREcs30T27n5EAwD4RPbufkQDAPhEAgAAAAAAAAAAAAAAAAAAAAAAAAAGQE9EQ17sRA==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 829.000042113201, + "~:y": 1777.00032400464 + } + }, + { + "~#point": { + "~:x": 1089.00015801076, + "~:y": 1777.00032400464 + } + }, + { + "~#point": { + "~:x": 1089.00015801076, + "~:y": 1984.00040370073 + } + }, + { + "~#point": { + "~:x": 829.000042113201, + "~:y": 1984.00040370073 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bfe", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:center", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 829.000042113201, + "~:y": 1777.00032400464, + "~:width": 260.000115897557, + "~:height": 207.000079696094, + "~:x1": 829.000042113201, + "~:y1": 1777.00032400464, + "~:x2": 1089.00015801076, + "~:y2": 1984.00040370073 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc7fdf": { + "~#shape": { + "~:y": 4824.45130420334, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 0.875521645210578, + "~:b": -0.483178899340361, + "~:c": 0.483178898327598, + "~:d": 0.875521645769497, + "~:e": 9.09494701772928e-13, + "~:f": 2.27373675443232e-13 + } + }, + "~:rotation": 331.106771530248, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Board", + "~:width": 1103.99984135388, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 3805.00024083074, + "~:y": 5124.42974167317 + } + }, + { + "~#point": { + "~:x": 4771.57599824511, + "~:y": 4591.00031345587 + } + }, + { + "~#point": { + "~:x": 5029.8109228195, + "~:y": 5058.92278883939 + } + }, + { + "~#point": { + "~:x": 4063.23516540513, + "~:y": 5592.35221705669 + } + } + ], + "~:r2": 20, + "~:show-content": false, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 0.875521645769497, + "~:b": 0.483178899340361, + "~:c": -0.483178898327598, + "~:d": 0.875521645210578, + "~:e": -6.86420136105515e-13, + "~:f": -6.38519223360168e-13 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 20, + "~:blur": { + "~:id": "~u08e9047b-7a98-8007-8006-c2b86966f332", + "~:type": "~:layer-blur", + "~:value": 8, + "~:hidden": false + }, + "~:r1": 20, + "~:opacity": 0.8, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc7fdf", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-alignment": "~:center", + "~:stroke-style": "~:solid", + "~:stroke-color": "#000000", + "~:stroke-opacity": 1, + "~:stroke-width": 20 + } + ], + "~:x": 3865.40566114818, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#140a67", + "~:opacity": 0.4 + }, + "~:spread": 0, + "~:offset-y": 300, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~ud2b53ca8-aebb-8099-8006-bdabce5cb46c", + "~:offset-x": 300 + } + ], + "~:r4": 20, + "~:selrect": { + "~#rect": { + "~:x": 3865.40566114818, + "~:y": 4824.45130420334, + "~:width": 1103.99984135388, + "~:height": 534.449922105886, + "~:x1": 3865.40566114818, + "~:y1": 4824.45130420334, + "~:x2": 4969.40550250206, + "~:y2": 5358.90122630922 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 534.449922105886, + "~:flip-y": null, + "~:shapes": [ + "~u813630e3-7f07-80da-8006-c2b969bc7fe0", + "~u813630e3-7f07-80da-8006-c2b969bc7fe1" + ] + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bdf": { + "~#shape": { + "~:y": 2925.00035033024, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "b7195d5dd77b", + "~:width": 270.929997403396, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 848.000008663942, + "~:y": 2925.00035033024 + } + }, + { + "~#point": { + "~:x": 1118.93000606734, + "~:y": 2925.00035033024 + } + }, + { + "~#point": { + "~:x": 1118.93000606734, + "~:y": 3195.93160099633 + } + }, + { + "~#point": { + "~:x": 848.000008663942, + "~:y": 3195.93160099633 + } + } + ], + "~:r2": 0, + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:r3": 0, + "~:r1": 0, + "~:hidden": false, + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bdf", + "~:parent-id": "~u813630e3-7f07-80da-8006-c2b969bc9bde", + "~:frame-id": "~u813630e3-7f07-80da-8006-c2b969bc9bde", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#0109fd", + "~:stroke-opacity": 1 + } + ], + "~:x": 848.000008663942, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#094ae0", + "~:opacity": 1 + }, + "~:spread": 0, + "~:offset-y": 50, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": true, + "~:id": "~udca35925-f5a2-8083-8006-b60be22fea0c", + "~:offset-x": 50 + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 848.000008663942, + "~:y": 2925.00035033024, + "~:width": 270.929997403396, + "~:height": 270.931250666089, + "~:x1": 848.000008663942, + "~:y1": 2925.00035033024, + "~:x2": 1118.93000606734, + "~:y2": 3195.93160099633 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 270.931250666089, + "~:flip-y": null + } + }, + "~u813630e3-7f07-80da-8006-c2b969bc9bff": { + "~#shape": { + "~:y": null, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~#penpot/path-data": "~bAQAAAAAAAAAAAAAAAAAAAAAAAAD0/+lDQ57qRAMAAAD0/+lDQ57qRIqANkT5a9tE+v81RCBs3EQDAAAAin81REds3UT6riREA0D2RPquJEQDQPZEAgAAAAAAAAAAAAAAAAAAAAAAAAD0/+lDQ57qRA==" + }, + "~:name": "Path", + "~:width": null, + "~:type": "~:path", + "~:points": [ + { + "~#point": { + "~:x": 468.000012538503, + "~:y": 1763.00032947447 + } + }, + { + "~#point": { + "~:x": 728.000128436061, + "~:y": 1763.00032947447 + } + }, + { + "~#point": { + "~:x": 728.000128436061, + "~:y": 1970.00040917057 + } + }, + { + "~#point": { + "~:x": 468.000012538503, + "~:y": 1970.00040917057 + } + } + ], + "~:layout-item-h-sizing": "~:fix", + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:layout-item-v-sizing": "~:fix", + "~:id": "~u813630e3-7f07-80da-8006-c2b969bc9bff", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [ + { + "~:stroke-style": "~:solid", + "~:stroke-alignment": "~:inner", + "~:stroke-width": 20, + "~:stroke-color": "#000000", + "~:stroke-opacity": 1 + } + ], + "~:x": null, + "~:proportion": 1, + "~:shadow": [ + { + "~:color": { + "~:color": "#de1111", + "~:opacity": 0.2 + }, + "~:spread": 0, + "~:offset-y": 80, + "~:style": "~:drop-shadow", + "~:blur": 4, + "~:hidden": false, + "~:id": "~u70873f92-ec4b-8045-8006-b3a396ef1fe7", + "~:offset-x": 80 + } + ], + "~:selrect": { + "~#rect": { + "~:x": 468.000012538503, + "~:y": 1763.00032947447, + "~:width": 260.000115897557, + "~:height": 207.000079696094, + "~:x1": 468.000012538503, + "~:y1": 1763.00032947447, + "~:x2": 728.000128436061, + "~:y2": 1970.00040917057 + } + }, + "~:fills": [ + { + "~:fill-color": "#B1B2B5", + "~:fill-opacity": 0.4 + } + ], + "~:flip-x": null, + "~:height": null, + "~:flip-y": null + } + } + }, + "~:id": "~u9502081a-e1a4-80bc-8006-c2b96872319a", + "~:name": "Page 1" + } + }, + "~:id": "~u9502081a-e1a4-80bc-8006-c2b968723199", + "~:options": { + "~:components-v2": true, + "~:base-font-size": "16px" + } + } +} \ No newline at end of file diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js index a2717632b4..8b4533ef57 100644 --- a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js +++ b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js @@ -179,3 +179,19 @@ test("Renders a file with blurs applied to any kind of shape", async ({ await expect(workspace.canvas).toHaveScreenshot(); }); + +test("Renders a file with shadows applied to any kind of shape", async ({ + page, +}) => { + const workspace = new WasmWorkspacePage(page); + await workspace.setupEmptyFile(); + await workspace.mockGetFile("render-wasm/get-file-shadows.json"); + + await workspace.goToWorkspace({ + id: "9502081a-e1a4-80bc-8006-c2b968723199", + pageId: "9502081a-e1a4-80bc-8006-c2b96872319a", + }); + await workspace.waitForFirstRender(); + + await expect(workspace.canvas).toHaveScreenshot(); +}); diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Renders-a-file-with-shadows-applied-to-any-kind-of-shape-1.png b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Renders-a-file-with-shadows-applied-to-any-kind-of-shape-1.png new file mode 100644 index 0000000000..b0e6c72e8d Binary files /dev/null and b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Renders-a-file-with-shadows-applied-to-any-kind-of-shape-1.png differ diff --git a/render-wasm/src/render.rs b/render-wasm/src/render.rs index 8ab8338cbd..4dec322778 100644 --- a/render-wasm/src/render.rs +++ b/render-wasm/src/render.rs @@ -22,7 +22,7 @@ use options::RenderOptions; pub use surfaces::{SurfaceId, Surfaces}; use crate::performance; -use crate::shapes::{Blur, BlurType, Corners, Fill, Shape, StructureEntry, Type}; +use crate::shapes::{Blur, BlurType, Corners, Fill, Shadow, Shape, StructureEntry, Type}; use crate::state::ShapesPool; use crate::textlayout::{ paragraph_builder_group_from_text, stroke_paragraph_builder_group_from_text, @@ -61,16 +61,39 @@ impl NodeRenderState { self.id.is_nil() } + /// Calculates the clip bounds for child elements of a given shape. + /// + /// This function determines the clipping region that should be applied to child elements + /// when rendering. It takes into account the element's selection rectangle, transform, + /// and any additional modifiers. + /// + /// # Parameters + /// + /// * `element` - The shape element for which to calculate clip bounds + /// * `modifiers` - Optional transformation matrix to apply to the bounds + /// * `offset` - Optional offset (x, y) to adjust the bounds position. When provided, + /// the bounds are translated by the negative of this offset, effectively moving + /// the clipping region to compensate for coordinate system transformations. + /// This is useful for nested coordinate systems or when elements are grouped + /// and need relative positioning adjustments. pub fn get_children_clip_bounds( &self, element: &Shape, modifiers: Option<&Matrix>, + offset: Option<(f32, f32)>, ) -> Option<(Rect, Option, Matrix)> { if self.id.is_nil() || !element.clip() { return self.clip_bounds; } - let bounds = element.selrect(); + let mut bounds = element.selrect(); + if let Some(offset) = offset { + let x = bounds.x() - offset.0; + let y = bounds.y() - offset.1; + let width = bounds.width(); + let height = bounds.height(); + bounds.set_xywh(x, y, width, height); + } let mut transform = element.transform; transform.post_translate(bounds.center()); transform.pre_translate(-bounds.center()); @@ -87,6 +110,45 @@ impl NodeRenderState { Some((bounds, corners, transform)) } + + /// Calculates the clip bounds for shadow rendering of a given shape. + /// + /// This function determines the clipping region that should be applied when rendering a + /// shadow for a shape element. It uses the shadow bounds but calculates the + /// transformation center based on the original shape, not the shadow bounds. + /// + /// # Parameters + /// + /// * `element` - The shape element for which to calculate shadow clip bounds + /// * `modifiers` - Optional transformation matrix to apply to the bounds + /// * `shadow` - The shadow configuration containing blur, offset, and other properties + pub fn get_shadow_clip_bounds( + &self, + element: &Shape, + modifiers: Option<&Matrix>, + shadow: &Shadow, + ) -> Option<(Rect, Option, Matrix)> { + if self.id.is_nil() { + return self.clip_bounds; + } + + let bounds = element.get_frame_shadow_bounds(shadow); + let mut transform = element.transform; + transform.post_translate(element.center()); + transform.pre_translate(-element.center()); + + if let Some(modifier) = modifiers { + transform.post_concat(modifier); + } + + let corners = match &element.shape_type { + Type::Rect(data) => data.corners, + Type::Frame(data) => data.corners, + _ => None, + }; + + Some((bounds, corners, transform)) + } } /// Represents the "focus mode" state used during rendering. @@ -372,9 +434,6 @@ impl RenderState { let paint = skia::Paint::default(); - self.surfaces - .draw_into(SurfaceId::DropShadows, SurfaceId::Current, Some(&paint)); - self.surfaces .draw_into(SurfaceId::Fills, SurfaceId::Current, Some(&paint)); @@ -396,10 +455,8 @@ impl RenderState { .draw_into(SurfaceId::InnerShadows, SurfaceId::Current, Some(&paint)); } - let surface_ids = SurfaceId::Strokes as u32 - | SurfaceId::Fills as u32 - | SurfaceId::DropShadows as u32 - | SurfaceId::InnerShadows as u32; + let surface_ids = + SurfaceId::Strokes as u32 | SurfaceId::Fills as u32 | SurfaceId::InnerShadows as u32; self.surfaces.apply_mut(surface_ids, |s| { s.canvas().clear(skia::Color::TRANSPARENT); @@ -414,6 +471,7 @@ impl RenderState { self.focus_mode.set_shapes(shapes); } + #[allow(clippy::too_many_arguments)] pub fn render_shape( &mut self, shapes: &ShapesPool, @@ -422,6 +480,11 @@ impl RenderState { shape: &Shape, scale_content: Option<&f32>, clip_bounds: Option<(Rect, Option, Matrix)>, + fills_surface_id: SurfaceId, + strokes_surface_id: SurfaceId, + innershadows_surface_id: SurfaceId, + apply_to_current_surface: bool, + offset: Option<(f32, f32)>, ) { let shape = if let Some(scale_content) = scale_content { &shape.scale_content(*scale_content) @@ -429,10 +492,8 @@ impl RenderState { shape }; - let surface_ids = SurfaceId::Strokes as u32 - | SurfaceId::Fills as u32 - | SurfaceId::DropShadows as u32 - | SurfaceId::InnerShadows as u32; + let surface_ids = + fills_surface_id as u32 | strokes_surface_id as u32 | innershadows_surface_id as u32; self.surfaces.apply_mut(surface_ids, |s| { s.canvas().save(); }); @@ -466,7 +527,7 @@ impl RenderState { paint.set_color(skia::Color::from_argb(255, 255, 0, 0)); paint.set_stroke_width(4.); self.surfaces - .canvas(SurfaceId::Fills) + .canvas(fills_surface_id) .draw_rect(bounds, &paint); } @@ -505,22 +566,27 @@ impl RenderState { matrix.post_translate(center); matrix.pre_translate(-center); + // Apply the additional transformation matrix if exists + if let Some(offset) = offset { + matrix.pre_translate(offset); + } + match &shape.shape_type { Type::SVGRaw(sr) => { if let Some(shape_modifiers) = modifiers.get(&shape.id) { self.surfaces - .canvas(SurfaceId::Fills) + .canvas(fills_surface_id) .concat(shape_modifiers); } - self.surfaces.canvas(SurfaceId::Fills).concat(&matrix); + self.surfaces.canvas(fills_surface_id).concat(&matrix); if let Some(svg) = shape.svg.as_ref() { - svg.render(self.surfaces.canvas(SurfaceId::Fills)) + svg.render(self.surfaces.canvas(fills_surface_id)) } else { let font_manager = skia::FontMgr::from(self.fonts().font_provider().clone()); let dom_result = skia::svg::Dom::from_str(&sr.content, font_manager); match dom_result { Ok(dom) => { - dom.render(self.surfaces.canvas(SurfaceId::Fills)); + dom.render(self.surfaces.canvas(fills_surface_id)); shape.to_mut().set_svg(dom); } Err(e) => { @@ -531,16 +597,11 @@ impl RenderState { } Type::Text(text_content) => { - let surface_ids = SurfaceId::Strokes as u32 - | SurfaceId::Fills as u32 - | SurfaceId::DropShadows as u32 - | SurfaceId::InnerShadows as u32; self.surfaces.apply_mut(surface_ids, |s| { s.canvas().concat(&matrix); }); let text_content = text_content.new_bounds(shape.selrect()); - let drop_shadows = shape.drop_shadow_paints(); let inner_shadows = shape.inner_shadow_paints(); let blur_filter = shape.image_filter(1.); let blur_mask = shape.mask_filter(1.); @@ -551,44 +612,9 @@ impl RenderState { None, ); - // Render all drop shadows if there are no visible strokes - if !shape.has_visible_strokes() && !drop_shadows.is_empty() { - for drop_shadow in &drop_shadows { - let mut paragraphs_with_drop_shadows = paragraph_builder_group_from_text( - &text_content, - blur_filter.as_ref(), - blur_mask.as_ref(), - Some(drop_shadow), - ); - shadows::render_text_drop_shadows( - self, - &shape, - &mut paragraphs_with_drop_shadows, - ); - } - } - let count_inner_strokes = shape.count_visible_inner_strokes(); - text::render(self, &shape, &mut paragraphs, None); + text::render(self, &shape, &mut paragraphs, Some(fills_surface_id)); for stroke in shape.visible_strokes().rev() { - for drop_shadow in &drop_shadows { - let mut stroke_paragraphs_with_drop_shadows = - stroke_paragraph_builder_group_from_text( - &text_content, - stroke, - &shape.selrect(), - blur_filter.as_ref(), - blur_mask.as_ref(), - Some(drop_shadow), - count_inner_strokes, - ); - shadows::render_text_drop_shadows( - self, - &shape, - &mut stroke_paragraphs_with_drop_shadows, - ); - } - let mut stroke_paragraphs = stroke_paragraph_builder_group_from_text( &text_content, stroke, @@ -603,7 +629,7 @@ impl RenderState { self, &shape, stroke, - None, + Some(strokes_surface_id), None, Some(&mut stroke_paragraphs), antialias, @@ -624,6 +650,7 @@ impl RenderState { self, &shape, &mut stroke_paragraphs_with_inner_shadows, + innershadows_surface_id, ); } } @@ -639,14 +666,11 @@ impl RenderState { self, &shape, &mut paragraphs_with_inner_shadows, + innershadows_surface_id, ); } } _ => { - let surface_ids = SurfaceId::Strokes as u32 - | SurfaceId::Fills as u32 - | SurfaceId::DropShadows as u32 - | SurfaceId::InnerShadows as u32; self.surfaces.apply_mut(surface_ids, |s| { s.canvas().concat(&matrix); }); @@ -676,34 +700,41 @@ impl RenderState { if let Some(fills_to_render) = self.nested_fills.last() { let fills_to_render = fills_to_render.clone(); for fill in fills_to_render.iter() { - fills::render(self, shape, fill, antialias); + fills::render(self, shape, fill, antialias, fills_surface_id); } } } else { for fill in shape.fills().rev() { - fills::render(self, shape, fill, antialias); + fills::render(self, shape, fill, antialias, fills_surface_id); } } for stroke in shape.visible_strokes().rev() { - shadows::render_stroke_drop_shadows(self, shape, stroke, antialias); - //In clipped content strokes are drawn over the contained elements in a subsequent step - if !shape.clip() { - strokes::render(self, shape, stroke, None, None, None, antialias); - } - shadows::render_stroke_inner_shadows(self, shape, stroke, antialias); + strokes::render( + self, + shape, + stroke, + Some(strokes_surface_id), + None, + None, + antialias, + ); + shadows::render_stroke_inner_shadows( + self, + shape, + stroke, + antialias, + innershadows_surface_id, + ); } - shadows::render_fill_inner_shadows(self, shape, antialias); - shadows::render_fill_drop_shadows(self, shape, antialias); + shadows::render_fill_inner_shadows(self, shape, antialias, innershadows_surface_id); // bools::debug_render_bool_paths(self, shape, shapes, modifiers, structure); } }; - self.apply_drawing_to_render_canvas(Some(&shape)); - let surface_ids = SurfaceId::Strokes as u32 - | SurfaceId::Fills as u32 - | SurfaceId::DropShadows as u32 - | SurfaceId::InnerShadows as u32; + if apply_to_current_surface { + self.apply_drawing_to_render_canvas(Some(&shape)); + } self.surfaces.apply_mut(surface_ids, |s| { s.canvas().restore(); }); @@ -782,10 +813,8 @@ impl RenderState { performance::begin_measure!("start_render_loop"); self.reset_canvas(); - let surface_ids = SurfaceId::Strokes as u32 - | SurfaceId::Fills as u32 - | SurfaceId::DropShadows as u32 - | SurfaceId::InnerShadows as u32; + let surface_ids = + SurfaceId::Strokes as u32 | SurfaceId::Fills as u32 | SurfaceId::InnerShadows as u32; self.surfaces.apply_mut(surface_ids, |s| { s.canvas().scale((scale, scale)); }); @@ -868,13 +897,6 @@ impl RenderState { } } - match element.shape_type { - Type::Frame(_) | Type::Group(_) => { - self.nested_blurs.push(Some(element.blur)); - } - _ => {} - } - let mut paint = skia::Paint::default(); paint.set_blend_mode(element.blend_mode().into()); paint.set_alpha_f(element.opacity()); @@ -970,6 +992,11 @@ impl RenderState { &element_strokes, scale_content, None, + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::InnerShadows, + true, + None, ); } @@ -1016,6 +1043,61 @@ impl RenderState { self.get_aligned_tile_bounds(self.current_tile.unwrap()) } + /// Renders a drop shadow effect for the given shape. + /// + /// Creates a black shadow by converting the original shadow color to black, + /// scaling the blur radius, and rendering the shape with the shadow offset applied. + #[allow(clippy::too_many_arguments)] + fn render_drop_black_shadow( + &mut self, + shapes: &ShapesPool, + modifiers: &HashMap, + structure: &HashMap>, + shape: &Shape, + shadow: &Shadow, + scale_content: Option<&f32>, + clip_bounds: Option<(Rect, Option, Matrix)>, + scale: f32, + translation: (f32, f32), + ) { + let mut transformed_shadow: Cow = Cow::Borrowed(shadow); + transformed_shadow.to_mut().offset = (0., 0.); + transformed_shadow.to_mut().color = skia::Color::from_argb(255, 0, 0, 0); + transformed_shadow.to_mut().blur = transformed_shadow.blur * scale; + + let mut shadow_paint = skia::Paint::default(); + shadow_paint.set_image_filter(transformed_shadow.get_drop_shadow_filter()); + shadow_paint.set_blend_mode(skia::BlendMode::SrcOver); + + let layer_rec = skia::canvas::SaveLayerRec::default().paint(&shadow_paint); + self.surfaces + .canvas(SurfaceId::DropShadows) + .save_layer(&layer_rec); + + self.surfaces + .canvas(SurfaceId::DropShadows) + .scale((scale, scale)); + self.surfaces + .canvas(SurfaceId::DropShadows) + .translate(translation); + + self.render_shape( + shapes, + modifiers, + structure, + shape, + scale_content, + clip_bounds, + SurfaceId::DropShadows, + SurfaceId::DropShadows, + SurfaceId::DropShadows, + false, + Some((shadow.offset.0, shadow.offset.1)), + ); + + self.surfaces.canvas(SurfaceId::DropShadows).restore(); + } + pub fn render_shape_tree_partial_uncached( &mut self, tree: &ShapesPool, @@ -1093,6 +1175,88 @@ impl RenderState { self.render_shape_enter(element, mask); if !node_render_state.is_root() && self.focus_mode.is_active() { + let scale = self.get_scale(); + let translation = self + .surfaces + .get_render_context_translation(self.render_area, scale); + + // Shadow rendering technique: Two-pass approach for proper opacity handling + // + // The shadow rendering uses a two-pass technique to ensure that overlapping + // shadow areas maintain correct opacity without unwanted darkening: + // + // 1. First pass: Render shadow shape in pure black (alpha channel preserved) + // - This creates the shadow silhouette with proper alpha gradients + // - The black color acts as a mask for the final shadow color + // + // 2. Second pass: Apply actual shadow color using SrcIn blend mode + // - SrcIn preserves the alpha channel from the black shadow + // - Only the color channels are replaced, maintaining transparency + // - This prevents overlapping shadows from accumulating opacity + // + // This approach is essential for complex shapes with transparency where + // multiple shadow areas might overlap, ensuring visual consistency. + for shadow in element.drop_shadows().rev().filter(|s| !s.hidden()) { + let paint = skia::Paint::default(); + let layer_rec = skia::canvas::SaveLayerRec::default().paint(&paint); + self.surfaces + .canvas(SurfaceId::DropShadows) + .save_layer(&layer_rec); + + // First pass: Render shadow in black to establish alpha mask + self.render_drop_black_shadow( + tree, + modifiers, + structure, + element, + shadow, + scale_content.get(&element.id), + clip_bounds, + scale, + translation, + ); + + // Nested shapes shadowing - apply black shadow to child shapes too + for shadow_shape_id in element.children.iter() { + let shadow_shape = tree.get(shadow_shape_id).unwrap(); + let clip_bounds = node_render_state.get_shadow_clip_bounds( + element, + modifiers.get(&element.id), + shadow, + ); + self.render_drop_black_shadow( + tree, + modifiers, + structure, + shadow_shape, + shadow, + scale_content.get(&element.id), + clip_bounds, + scale, + translation, + ); + } + + // Second pass: Apply actual shadow color using SrcIn blend mode + // This preserves the alpha channel from the black shadow while + // replacing only the color channels, preventing opacity accumulation + let mut paint = skia::Paint::default(); + paint.set_color(shadow.color); + paint.set_blend_mode(skia::BlendMode::SrcIn); + self.surfaces + .canvas(SurfaceId::DropShadows) + .draw_paint(&paint); + + self.surfaces.canvas(SurfaceId::DropShadows).restore(); + } + + self.surfaces + .draw_into(SurfaceId::DropShadows, SurfaceId::Current, None); + + self.surfaces + .canvas(SurfaceId::DropShadows) + .clear(skia::Color::TRANSPARENT); + self.render_shape( tree, modifiers, @@ -1100,11 +1264,27 @@ impl RenderState { element, scale_content.get(&element.id), clip_bounds, + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::InnerShadows, + true, + None, ); + + self.surfaces + .canvas(SurfaceId::DropShadows) + .clear(skia::Color::TRANSPARENT); } else if visited_children { self.apply_drawing_to_render_canvas(Some(element)); } + match element.shape_type { + Type::Frame(_) | Type::Group(_) => { + self.nested_blurs.push(Some(element.blur)); + } + _ => {} + } + // Set the node as visited_children before processing children self.pending_nodes.push(NodeRenderState { id: node_id, @@ -1115,8 +1295,11 @@ impl RenderState { }); if element.is_recursive() { - let children_clip_bounds = - node_render_state.get_children_clip_bounds(element, modifiers.get(&element.id)); + let children_clip_bounds = node_render_state.get_children_clip_bounds( + element, + modifiers.get(&element.id), + None, + ); let mut children_ids = element.modified_children_ids(structure.get(&element.id), false); diff --git a/render-wasm/src/render/fills.rs b/render-wasm/src/render/fills.rs index 2744b1be2b..fd7d240f2c 100644 --- a/render-wasm/src/render/fills.rs +++ b/render-wasm/src/render/fills.rs @@ -10,6 +10,7 @@ fn draw_image_fill( image_fill: &ImageFill, paint: &Paint, antialias: bool, + surface_id: SurfaceId, ) { let image = render_state.images.get(&image_fill.id()); if image.is_none() { @@ -17,7 +18,7 @@ fn draw_image_fill( } let size = image.unwrap().dimensions(); - let canvas = render_state.surfaces.canvas(SurfaceId::Fills); + let canvas = render_state.surfaces.canvas(surface_id); let container = &shape.selrect; let path_transform = shape.to_path_transform(); @@ -90,7 +91,13 @@ fn draw_image_fill( /** * This SHOULD be the only public function in this module. */ -pub fn render(render_state: &mut RenderState, shape: &Shape, fill: &Fill, antialias: bool) { +pub fn render( + render_state: &mut RenderState, + shape: &Shape, + fill: &Fill, + antialias: bool, + surface_id: SurfaceId, +) { let mut paint = fill.to_paint(&shape.selrect, antialias); if let Some(image_filter) = shape.image_filter(1.) { paint.set_image_filter(image_filter); @@ -98,22 +105,29 @@ pub fn render(render_state: &mut RenderState, shape: &Shape, fill: &Fill, antial match (fill, &shape.shape_type) { (Fill::Image(image_fill), _) => { - draw_image_fill(render_state, shape, image_fill, &paint, antialias); + draw_image_fill( + render_state, + shape, + image_fill, + &paint, + antialias, + surface_id, + ); } (_, Type::Rect(_) | Type::Frame(_)) => { render_state .surfaces - .draw_rect_to(SurfaceId::Fills, shape, &paint); + .draw_rect_to(surface_id, shape, &paint); } (_, Type::Circle) => { render_state .surfaces - .draw_circle_to(SurfaceId::Fills, shape, &paint); + .draw_circle_to(surface_id, shape, &paint); } (_, Type::Path(_)) | (_, Type::Bool(_)) => { render_state .surfaces - .draw_path_to(SurfaceId::Fills, shape, &paint); + .draw_path_to(surface_id, shape, &paint); } (_, Type::Group(_)) => { // Groups can have fills but they propagate them to their children diff --git a/render-wasm/src/render/shadows.rs b/render-wasm/src/render/shadows.rs index f97cd81c3b..b150b080cc 100644 --- a/render-wasm/src/render/shadows.rs +++ b/render-wasm/src/render/shadows.rs @@ -6,28 +6,15 @@ use skia_safe::textlayout::ParagraphBuilder; use skia_safe::{Paint, Path}; // Fill Shadows -pub fn render_fill_drop_shadows(render_state: &mut RenderState, shape: &Shape, antialias: bool) { - if shape.has_fills() { - for shadow in shape.drop_shadows().rev().filter(|s| !s.hidden()) { - render_fill_drop_shadow(render_state, shape, shadow, antialias); - } - } -} - -fn render_fill_drop_shadow( +pub fn render_fill_inner_shadows( render_state: &mut RenderState, shape: &Shape, - shadow: &Shadow, antialias: bool, + surface_id: SurfaceId, ) { - let paint = &shadow.get_drop_shadow_paint(antialias, shape.image_filter(1.).as_ref()); - render_shadow_paint(render_state, shape, paint, SurfaceId::DropShadows); -} - -pub fn render_fill_inner_shadows(render_state: &mut RenderState, shape: &Shape, antialias: bool) { if shape.has_fills() { for shadow in shape.inner_shadows().rev().filter(|s| !s.hidden()) { - render_fill_inner_shadow(render_state, shape, shadow, antialias); + render_fill_inner_shadow(render_state, shape, shadow, antialias, surface_id); } } } @@ -37,31 +24,10 @@ fn render_fill_inner_shadow( shape: &Shape, shadow: &Shadow, antialias: bool, + surface_id: SurfaceId, ) { let paint = &shadow.get_inner_shadow_paint(antialias, shape.image_filter(1.).as_ref()); - render_shadow_paint(render_state, shape, paint, SurfaceId::InnerShadows); -} - -pub fn render_stroke_drop_shadows( - render_state: &mut RenderState, - shape: &Shape, - stroke: &Stroke, - antialias: bool, -) { - if !shape.has_fills() { - for shadow in shape.drop_shadows().rev().filter(|s| !s.hidden()) { - let filter = shadow.get_drop_shadow_filter(); - strokes::render( - render_state, - shape, - stroke, - None, - filter.as_ref(), - None, - antialias, - ) - } - } + render_shadow_paint(render_state, shape, paint, surface_id); } pub fn render_stroke_inner_shadows( @@ -69,6 +35,7 @@ pub fn render_stroke_inner_shadows( shape: &Shape, stroke: &Stroke, antialias: bool, + surface_id: SurfaceId, ) { if !shape.has_fills() { for shadow in shape.inner_shadows().rev().filter(|s| !s.hidden()) { @@ -77,7 +44,7 @@ pub fn render_stroke_inner_shadows( render_state, shape, stroke, - None, + Some(surface_id), filter.as_ref(), None, antialias, @@ -86,19 +53,6 @@ pub fn render_stroke_inner_shadows( } } -pub fn render_text_drop_shadows( - render_state: &mut RenderState, - shape: &Shape, - paragraphs: &mut [Vec], -) { - text::render( - render_state, - shape, - paragraphs, - Some(SurfaceId::DropShadows), - ); -} - // Render text paths (unused) #[allow(dead_code)] pub fn render_text_path_stroke_drop_shadows( @@ -126,13 +80,9 @@ pub fn render_text_inner_shadows( render_state: &mut RenderState, shape: &Shape, paragraphs: &mut [Vec], + surface_id: SurfaceId, ) { - text::render( - render_state, - shape, - paragraphs, - Some(SurfaceId::InnerShadows), - ); + text::render(render_state, shape, paragraphs, Some(surface_id)); } // Render text paths (unused) diff --git a/render-wasm/src/render/strokes.rs b/render-wasm/src/render/strokes.rs index 3f0d455424..0b5ec3e6c9 100644 --- a/render-wasm/src/render/strokes.rs +++ b/render-wasm/src/render/strokes.rs @@ -525,7 +525,7 @@ pub fn render( let scale = render_state.get_scale(); let canvas = render_state .surfaces - .canvas(surface_id.unwrap_or(SurfaceId::Strokes)); + .canvas(surface_id.unwrap_or(surface_id.unwrap_or(SurfaceId::Strokes))); let selrect = shape.selrect; let path_transform = shape.to_path_transform(); let svg_attrs = &shape.svg_attrs; @@ -569,7 +569,7 @@ pub fn render( render_state, shape, paragraphs.expect("Text shapes should have paragraphs"), - Some(SurfaceId::Strokes), + surface_id, ); } shape_type @ (Type::Path(_) | Type::Bool(_)) => { diff --git a/render-wasm/src/render/surfaces.rs b/render-wasm/src/render/surfaces.rs index 4c33e569e9..7f18e2b5de 100644 --- a/render-wasm/src/render/surfaces.rs +++ b/render-wasm/src/render/surfaces.rs @@ -175,16 +175,21 @@ impl Surfaces { performance::begin_measure!("apply_mut::flags"); } - pub fn update_render_context(&mut self, render_area: skia::Rect, scale: f32) { - let translation = ( + pub fn get_render_context_translation( + &mut self, + render_area: skia::Rect, + scale: f32, + ) -> (f32, f32) { + ( -render_area.left() + self.margins.width as f32 / scale, -render_area.top() + self.margins.height as f32 / scale, - ); + ) + } + + pub fn update_render_context(&mut self, render_area: skia::Rect, scale: f32) { + let translation = self.get_render_context_translation(render_area, scale); self.apply_mut( - SurfaceId::Fills as u32 - | SurfaceId::Strokes as u32 - | SurfaceId::DropShadows as u32 - | SurfaceId::InnerShadows as u32, + SurfaceId::Fills as u32 | SurfaceId::Strokes as u32 | SurfaceId::InnerShadows as u32, |s| { s.canvas().restore(); s.canvas().save(); @@ -251,7 +256,6 @@ impl Surfaces { pub fn reset(&mut self, color: skia::Color) { self.canvas(SurfaceId::Fills).restore_to_count(1); - self.canvas(SurfaceId::DropShadows).restore_to_count(1); self.canvas(SurfaceId::InnerShadows).restore_to_count(1); self.canvas(SurfaceId::Strokes).restore_to_count(1); self.canvas(SurfaceId::Current).restore_to_count(1); @@ -259,7 +263,6 @@ impl Surfaces { SurfaceId::Fills as u32 | SurfaceId::Strokes as u32 | SurfaceId::Current as u32 - | SurfaceId::DropShadows as u32 | SurfaceId::InnerShadows as u32, |s| { s.canvas().clear(color).reset_matrix(); diff --git a/render-wasm/src/shapes.rs b/render-wasm/src/shapes.rs index 5cbc214185..8bdd9eaae8 100644 --- a/render-wasm/src/shapes.rs +++ b/render-wasm/src/shapes.rs @@ -719,6 +719,65 @@ impl Shape { .get_or_init(|| self.calculate_extrect(shapes_pool, modifiers)) } + /// Calculates the bounding rectangle for a frame shape's shadow, taking into account + /// stroke widths and shadow properties. + /// + /// This method computes the expanded bounds that would be needed to fully render + /// the shadow effect for a frame shape. It considers: + /// - The base frame bounds (selection rectangle) + /// - Maximum stroke width across all strokes, accounting for stroke rendering kind + /// - Shadow offset (x, y displacement) + /// - Shadow blur radius (expands bounds outward) + /// - Whether the shadow is hidden + /// + /// # Arguments + /// * `shadow` - The shadow configuration containing offset, blur, and visibility + /// + /// # Returns + /// A `math::Rect` representing the bounding rectangle that encompasses the shadow. + /// Returns an empty rectangle if the shadow is hidden. + pub fn get_frame_shadow_bounds(&self, shadow: &Shadow) -> math::Rect { + assert!( + self.is_frame(), + "This method can only be called on frame shapes" + ); + + let base_bounds = self.selrect(); + let mut rect = skia::Rect::new_empty(); + + let mut max_stroke: Option = None; + for stroke in self.strokes.iter() { + let width = match stroke.render_kind(false) { + StrokeKind::Inner => -stroke.width / 2., + StrokeKind::Center => 0., + StrokeKind::Outer => stroke.width, + }; + max_stroke = Some(max_stroke.unwrap_or(f32::MIN).max(width)); + } + if !shadow.hidden() { + let (x, y) = shadow.offset; + let mut shadow_rect = base_bounds; + shadow_rect.left += x; + shadow_rect.right += x; + shadow_rect.top += y; + shadow_rect.bottom += y; + + shadow_rect.left += shadow.blur; + shadow_rect.top += shadow.blur; + shadow_rect.right -= shadow.blur; + shadow_rect.bottom -= shadow.blur; + + if let Some(max_stroke) = max_stroke { + shadow_rect.left -= max_stroke; + shadow_rect.right += max_stroke; + shadow_rect.top -= max_stroke; + shadow_rect.bottom += max_stroke; + } + rect.join(shadow_rect); + } + rect + } + pub fn calculate_extrect( &self, shapes_pool: &ShapesPool, @@ -762,22 +821,24 @@ impl Shape { } for shadow in self.shadows.iter() { - let (x, y) = shadow.offset; - let mut shadow_rect = rect; - shadow_rect.left += x; - shadow_rect.right += x; - shadow_rect.top += y; - shadow_rect.bottom += y; + if !shadow.hidden() { + let (x, y) = shadow.offset; + let mut shadow_rect = rect; + shadow_rect.left += x; + shadow_rect.right += x; + shadow_rect.top += y; + shadow_rect.bottom += y; - shadow_rect.left -= shadow.blur; - shadow_rect.top -= shadow.blur; - shadow_rect.right += shadow.blur; - shadow_rect.bottom += shadow.blur; + shadow_rect.left -= shadow.blur; + shadow_rect.top -= shadow.blur; + shadow_rect.right += shadow.blur; + shadow_rect.bottom += shadow.blur; - rect.join(shadow_rect); + rect.join(shadow_rect); + } } - if self.blur.blur_type != blurs::BlurType::None { + if self.blur.blur_type != blurs::BlurType::None && !self.blur.hidden { rect.left -= self.blur.value; rect.top -= self.blur.value; rect.right += self.blur.value; @@ -1101,10 +1162,6 @@ impl Shape { !self.fills.is_empty() } - pub fn has_visible_strokes(&self) -> bool { - self.visible_strokes().next().is_some() - } - #[allow(dead_code)] pub fn has_visible_inner_strokes(&self) -> bool { self.visible_strokes().any(|s| s.kind == StrokeKind::Inner) @@ -1153,20 +1210,6 @@ impl Shape { } } - pub fn drop_shadow_paints(&self) -> Vec { - let drop_shadows: Vec<&crate::shapes::shadows::Shadow> = - self.drop_shadows().filter(|s| !s.hidden()).collect(); - drop_shadows - .into_iter() - .map(|shadow| { - let mut paint = skia_safe::Paint::default(); - let filter = shadow.get_drop_shadow_filter(); - paint.set_image_filter(filter); - paint - }) - .collect() - } - pub fn inner_shadow_paints(&self) -> Vec { let inner_shadows: Vec<&crate::shapes::shadows::Shadow> = self.inner_shadows().filter(|s| !s.hidden()).collect(); diff --git a/render-wasm/src/shapes/shadows.rs b/render-wasm/src/shapes/shadows.rs index cf8c77f6a8..2eec866f86 100644 --- a/render-wasm/src/shapes/shadows.rs +++ b/render-wasm/src/shapes/shadows.rs @@ -63,19 +63,6 @@ impl Shadow { self.hidden } - pub fn get_drop_shadow_paint( - &self, - antialias: bool, - blur_filter: Option<&ImageFilter>, - ) -> Paint { - let mut paint = Paint::default(); - let shadow_filter = self.get_drop_shadow_filter(); - let filter = compose_filters(blur_filter, shadow_filter.as_ref()); - paint.set_image_filter(filter); - paint.set_anti_alias(antialias); - paint - } - pub fn get_drop_shadow_filter(&self) -> Option { let mut filter = image_filters::drop_shadow_only( (self.offset.0, self.offset.1),