dsh-drawai 0.3.4 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +4154 -0
- package/README.md +49 -11
- package/lib/audio-media.js +150 -0
- package/lib/audio-service.js +66 -0
- package/lib/canvas-format.js +134 -0
- package/lib/client.js +5090 -184
- package/lib/comfyui-default-workflow.mjs +1825 -0
- package/lib/comfyui-workflow.mjs +426 -0
- package/lib/document-commands.js +12 -0
- package/lib/document-core.js +29 -0
- package/lib/drawing-runner.js +6 -4
- package/lib/drawing-tasks.js +26 -0
- package/lib/ffmpeg-manager.js +1056 -0
- package/lib/imagegen.mjs +596 -0
- package/lib/index.js +1762 -129
- package/lib/media.js +26 -13
- package/lib/mgstyle-core.js +75 -0
- package/lib/motion/apply.js +181 -0
- package/lib/motion/asset-pack-lock.js +10 -0
- package/lib/motion/asset-pack.js +335 -0
- package/lib/motion/assets.js +291 -0
- package/lib/motion/audio.js +103 -0
- package/lib/motion/audiolevel.js +63 -0
- package/lib/motion/audiomix.js +144 -0
- package/lib/motion/beats.js +338 -0
- package/lib/motion/builtin-assets.js +62 -0
- package/lib/motion/canvas-spec.js +442 -0
- package/lib/motion/capture.js +95 -0
- package/lib/motion/cards.js +80 -0
- package/lib/motion/collect.js +449 -0
- package/lib/motion/delivery.js +140 -0
- package/lib/motion/edge-speech.py +90 -0
- package/lib/motion/entry.jsx +73 -0
- package/lib/motion/export.js +200 -0
- package/lib/motion/ffmpeg.js +43 -0
- package/lib/motion/fonts.js +71 -0
- package/lib/motion/jobs.js +117 -0
- package/lib/motion/json.js +4 -0
- package/lib/motion/media-catalog.js +59 -0
- package/lib/motion/mgstyles/BRIEF-TEMPLATE.md +63 -0
- package/lib/motion/mgstyles/briefs/01-flat-vector.md +104 -0
- package/lib/motion/mgstyles/briefs/02-line-art.md +97 -0
- package/lib/motion/mgstyles/briefs/03-isometric.md +108 -0
- package/lib/motion/mgstyles/briefs/05-cel-boil.md +145 -0
- package/lib/motion/mgstyles/briefs/06-collage.md +149 -0
- package/lib/motion/mgstyles/briefs/07-liquid.md +106 -0
- package/lib/motion/mgstyles/briefs/08-morph.md +111 -0
- package/lib/motion/mgstyles/briefs/09-bauhaus.md +150 -0
- package/lib/motion/mgstyles/briefs/10-synthwave.md +151 -0
- package/lib/motion/mgstyles/briefs/12-aurora-glass.md +147 -0
- package/lib/motion/mgstyles/briefs/18-hanazi.md +140 -0
- package/lib/motion/mgstyles/briefs/19-paperclip.md +156 -0
- package/lib/motion/mgstyles/briefs/20-pixel.md +118 -0
- package/lib/motion/mgstyles/briefs/22-hud.md +118 -0
- package/lib/motion/mgstyles/catalog.d/01-flat-vector.json +34 -0
- package/lib/motion/mgstyles/catalog.d/02-line-art.json +34 -0
- package/lib/motion/mgstyles/catalog.d/03-isometric.json +35 -0
- package/lib/motion/mgstyles/catalog.d/05-cel-boil.json +28 -0
- package/lib/motion/mgstyles/catalog.d/06-collage.json +28 -0
- package/lib/motion/mgstyles/catalog.d/07-liquid.json +28 -0
- package/lib/motion/mgstyles/catalog.d/08-morph.json +28 -0
- package/lib/motion/mgstyles/catalog.d/09-bauhaus.json +28 -0
- package/lib/motion/mgstyles/catalog.d/10-synthwave.json +28 -0
- package/lib/motion/mgstyles/catalog.d/12-aurora-glass.json +28 -0
- package/lib/motion/mgstyles/catalog.d/18-hanazi.json +28 -0
- package/lib/motion/mgstyles/catalog.d/19-paperclip.json +28 -0
- package/lib/motion/mgstyles/catalog.d/20-pixel.json +28 -0
- package/lib/motion/mgstyles/catalog.d/22-hud.json +28 -0
- package/lib/motion/mgstyles/catalog.json +1356 -0
- package/lib/motion/mgstyles/upstream/README.md +147 -0
- package/lib/motion/mgstyles/upstream/README.zh-CN.md +147 -0
- package/lib/motion/mgstyles/upstream/demos/01-flat-vector/cues.json +1 -0
- package/lib/motion/mgstyles/upstream/demos/01-flat-vector/index.html +712 -0
- package/lib/motion/mgstyles/upstream/demos/02-line-art/cues.json +331 -0
- package/lib/motion/mgstyles/upstream/demos/02-line-art/film.js +676 -0
- package/lib/motion/mgstyles/upstream/demos/02-line-art/index.html +18 -0
- package/lib/motion/mgstyles/upstream/demos/02-line-art/tools/dump_timing.mjs +26 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/cues.json +109 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/index.html +25 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/anim.js +82 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/main.js +219 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/night5.js +180 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/render.js +202 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/title.js +167 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/title5.js +294 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/ui.js +141 -0
- package/lib/motion/mgstyles/upstream/demos/03-isometric/js/world.js +1399 -0
- package/lib/motion/mgstyles/upstream/demos/05-cel-boil/cues.json +157 -0
- package/lib/motion/mgstyles/upstream/demos/05-cel-boil/index.html +34 -0
- package/lib/motion/mgstyles/upstream/demos/05-cel-boil/js/engine.js +326 -0
- package/lib/motion/mgstyles/upstream/demos/05-cel-boil/js/scene.js +2036 -0
- package/lib/motion/mgstyles/upstream/demos/06-collage/assets/gen/layout.json +157 -0
- package/lib/motion/mgstyles/upstream/demos/06-collage/cues.json +80 -0
- package/lib/motion/mgstyles/upstream/demos/06-collage/index.html +889 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/cues.json +100 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/index.html +108 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/js/engine.js +153 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/js/links.js +64 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/js/lookdev.js +46 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/js/scene.js +963 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/js/shaders.js +647 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/js/textsdf.js +114 -0
- package/lib/motion/mgstyles/upstream/demos/07-liquid/js/type.js +50 -0
- package/lib/motion/mgstyles/upstream/demos/08-morph/cues.json +131 -0
- package/lib/motion/mgstyles/upstream/demos/08-morph/glyphs.json +1 -0
- package/lib/motion/mgstyles/upstream/demos/08-morph/index.html +901 -0
- package/lib/motion/mgstyles/upstream/demos/09-bauhaus/cues.json +270 -0
- package/lib/motion/mgstyles/upstream/demos/09-bauhaus/film.js +697 -0
- package/lib/motion/mgstyles/upstream/demos/09-bauhaus/index.html +12 -0
- package/lib/motion/mgstyles/upstream/demos/10-synthwave/cues.json +44 -0
- package/lib/motion/mgstyles/upstream/demos/10-synthwave/index.html +1028 -0
- package/lib/motion/mgstyles/upstream/demos/12-aurora-glass/cues.json +67 -0
- package/lib/motion/mgstyles/upstream/demos/12-aurora-glass/index.html +16 -0
- package/lib/motion/mgstyles/upstream/demos/12-aurora-glass/main.js +967 -0
- package/lib/motion/mgstyles/upstream/demos/12-aurora-glass/shaders.js +468 -0
- package/lib/motion/mgstyles/upstream/demos/18-hanazi/cues.json +117 -0
- package/lib/motion/mgstyles/upstream/demos/18-hanazi/index.html +541 -0
- package/lib/motion/mgstyles/upstream/demos/19-paperclip/assets/countries-110m.json +1 -0
- package/lib/motion/mgstyles/upstream/demos/19-paperclip/assets/stickers/meta.json +34 -0
- package/lib/motion/mgstyles/upstream/demos/19-paperclip/cues.json +285 -0
- package/lib/motion/mgstyles/upstream/demos/19-paperclip/index.html +599 -0
- package/lib/motion/mgstyles/upstream/demos/20-pixel/cues.json +42 -0
- package/lib/motion/mgstyles/upstream/demos/20-pixel/film.js +914 -0
- package/lib/motion/mgstyles/upstream/demos/20-pixel/index.html +18 -0
- package/lib/motion/mgstyles/upstream/demos/22-hud/cues.json +108 -0
- package/lib/motion/mgstyles/upstream/demos/22-hud/index.html +125 -0
- package/lib/motion/mgstyles/upstream/demos/22-hud/js/holo.js +275 -0
- package/lib/motion/mgstyles/upstream/demos/22-hud/js/hud.js +855 -0
- package/lib/motion/mgstyles/upstream/demos/22-hud/js/post.js +150 -0
- package/lib/motion/mgstyles/upstream/demos/22-hud/js/util.js +65 -0
- package/lib/motion/mgstyles/upstream/demos/22-hud/js/v5.js +142 -0
- package/lib/motion/mgstyles/upstream/harness/render.mjs +319 -0
- package/lib/motion/mgstyles/upstream/manifest.json +269 -0
- package/lib/motion/mgstyles/upstream/prompts/01-flat-vector.md +98 -0
- package/lib/motion/mgstyles/upstream/prompts/02-line-art.md +95 -0
- package/lib/motion/mgstyles/upstream/prompts/03-isometric.md +97 -0
- package/lib/motion/mgstyles/upstream/prompts/05-cel-boil.md +95 -0
- package/lib/motion/mgstyles/upstream/prompts/06-collage.md +95 -0
- package/lib/motion/mgstyles/upstream/prompts/07-liquid.md +98 -0
- package/lib/motion/mgstyles/upstream/prompts/08-morph.md +95 -0
- package/lib/motion/mgstyles/upstream/prompts/09-bauhaus.md +96 -0
- package/lib/motion/mgstyles/upstream/prompts/10-synthwave.md +95 -0
- package/lib/motion/mgstyles/upstream/prompts/12-aurora-glass.md +96 -0
- package/lib/motion/mgstyles/upstream/prompts/18-hanazi.md +95 -0
- package/lib/motion/mgstyles/upstream/prompts/19-paperclip.md +96 -0
- package/lib/motion/mgstyles/upstream/prompts/20-pixel.md +96 -0
- package/lib/motion/mgstyles/upstream/prompts/22-hud.md +95 -0
- package/lib/motion/mgstyles/upstream/rubric.md +51 -0
- package/lib/motion/mgstyles/upstream/template.md +36 -0
- package/lib/motion/pixelqa.js +198 -0
- package/lib/motion/preview.js +97 -0
- package/lib/motion/project.js +395 -0
- package/lib/motion/qa.js +290 -0
- package/lib/motion/reference-media.jsx +10 -0
- package/lib/motion/render-settings.js +112 -0
- package/lib/motion/render.js +161 -0
- package/lib/motion/runtime/package-lock.json +3058 -0
- package/lib/motion/runtime/package.json +16 -0
- package/lib/motion/scene-kit.js +183 -0
- package/lib/motion/sfx.js +232 -0
- package/lib/motion/shotcraft/ClipCard.tsx +204 -0
- package/lib/motion/shotcraft/catalog.json +2461 -0
- package/lib/motion/shotcraft/upstream/SKILL.md +286 -0
- package/lib/motion/shotcraft/upstream/assets/lib/Caption.tsx +54 -0
- package/lib/motion/shotcraft/upstream/assets/lib/ClipCard.tsx +200 -0
- package/lib/motion/shotcraft/upstream/assets/lib/DigitRoll.tsx +45 -0
- package/lib/motion/shotcraft/upstream/assets/lib/FlashCut.tsx +20 -0
- package/lib/motion/shotcraft/upstream/assets/lib/FlatPanel.tsx +65 -0
- package/lib/motion/shotcraft/upstream/assets/lib/PageCam.tsx +151 -0
- package/lib/motion/shotcraft/upstream/assets/lib/VerticalTicker.tsx +129 -0
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/camera.tsx +75 -0
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/motion.ts +40 -0
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/rand.ts +11 -0
- package/lib/motion/shotcraft/upstream/assets/lib/helpers/shake.ts +10 -0
- package/lib/motion/shotcraft/upstream/assets/scripts/__pycache__/sfx-source.cpython-313.pyc +0 -0
- package/lib/motion/shotcraft/upstream/assets/scripts/build-readme-cover.mjs +49 -0
- package/lib/motion/shotcraft/upstream/assets/scripts/capture-template.mjs +210 -0
- package/lib/motion/shotcraft/upstream/assets/scripts/sfx-source.py +423 -0
- package/lib/motion/shotcraft/upstream/assets/scripts/smoke-render-demos.py +170 -0
- package/lib/motion/shotcraft/upstream/assets/scripts/test_sfx_source.py +157 -0
- package/lib/motion/shotcraft/upstream/demos/README.md +120 -0
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Brand.tsx +112 -0
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Fixtures.tsx +647 -0
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Look.tsx +316 -0
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Motion.tsx +82 -0
- package/lib/motion/shotcraft/upstream/demos/_fixtures/PageCam2D.tsx +115 -0
- package/lib/motion/shotcraft/upstream/demos/_fixtures/Polish.tsx +243 -0
- package/lib/motion/shotcraft/upstream/demos/_textures/live-layout.json +389 -0
- package/lib/motion/shotcraft/upstream/demos/camera/basic-3d-scene/Basic3DScene.tsx +250 -0
- package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashImpactReal.tsx +305 -0
- package/lib/motion/shotcraft/upstream/demos/camera/crash-zoom-punch/CrashZoomReal.tsx +246 -0
- package/lib/motion/shotcraft/upstream/demos/camera/cursor-flyover/CursorFlyover.tsx +390 -0
- package/lib/motion/shotcraft/upstream/demos/camera/depth-layer-moves/MultiplaneReal.tsx +138 -0
- package/lib/motion/shotcraft/upstream/demos/camera/graze-face-tour/GrazeFaceTour.tsx +542 -0
- package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/OverheadTabletopDrop.tsx +315 -0
- package/lib/motion/shotcraft/upstream/demos/camera/overhead-camera-moves/TiltReveal.tsx +299 -0
- package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/DroneDiveLanding.tsx +173 -0
- package/lib/motion/shotcraft/upstream/demos/camera/space-camera-moves/ExplodedView.tsx +348 -0
- package/lib/motion/shotcraft/upstream/demos/camera/steep-tilt-glide/SteepTiltGlide.tsx +366 -0
- package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/BulletTimeFreezeOrbit.tsx +279 -0
- package/lib/motion/shotcraft/upstream/demos/camera/tension-camera-moves/PullBackIsolation.tsx +184 -0
- package/lib/motion/shotcraft/upstream/demos/camera/terminal-3d/Terminal3D.tsx +390 -0
- package/lib/motion/shotcraft/upstream/demos/data/before-after-slider-scrub/BeforeAfterSliderScrub.tsx +155 -0
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/AxisRescaleShockV2.tsx +303 -0
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/OscilloscopeStreamV2.tsx +290 -0
- package/lib/motion/shotcraft/upstream/demos/data/chart-live-moves/UnitDotSwarmRegroupV2.tsx +278 -0
- package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/NeedleSweepSelftest.tsx +307 -0
- package/lib/motion/shotcraft/upstream/demos/data/gauge-readout-moves/TapeScrollFixedPointer.tsx +215 -0
- package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/BrakeReticleLock.tsx +299 -0
- package/lib/motion/shotcraft/upstream/demos/data/scroll-brake-moves/ChangelogScrollBrake.tsx +232 -0
- package/lib/motion/shotcraft/upstream/demos/data/timeline-travel/TimelineTravel.tsx +290 -0
- package/lib/motion/shotcraft/upstream/demos/effects/assemble-then-type-flyin/AssembleThenTypeFlyin.tsx +273 -0
- package/lib/motion/shotcraft/upstream/demos/effects/aurora-bloom-bg-flip/AuroraBloomBgFlip.tsx +167 -0
- package/lib/motion/shotcraft/upstream/demos/effects/brand-frame-snap/BrandFrameSnap.tsx +536 -0
- package/lib/motion/shotcraft/upstream/demos/effects/fui-hud-moves/ReticleLockOn.tsx +164 -0
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/FlylineArc.tsx +175 -0
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/GlowOrbAmbient.tsx +197 -0
- package/lib/motion/shotcraft/upstream/demos/effects/glow-flyline-moves/OrbFlylineRelay.tsx +241 -0
- package/lib/motion/shotcraft/upstream/demos/effects/icon-performance-moves/AttentionBounce.tsx +279 -0
- package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/AnimeImpact.tsx +230 -0
- package/lib/motion/shotcraft/upstream/demos/effects/impact-feedback/HitCounter.tsx +345 -0
- package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SheenSweepRetry.tsx +275 -0
- package/lib/motion/shotcraft/upstream/demos/effects/light-play-moves/SpotlightSweepReveal.tsx +229 -0
- package/lib/motion/shotcraft/upstream/demos/effects/radial-ripple-phone-chips/RadialRipplePhoneChips.tsx +312 -0
- package/lib/motion/shotcraft/upstream/demos/effects/riso-print-hits/RisoMisregistrationHit.tsx +222 -0
- package/lib/motion/shotcraft/upstream/demos/effects/scan-bracket-sweep/ScanBracketSweep.tsx +295 -0
- package/lib/motion/shotcraft/upstream/demos/effects/scanline-annotate-focus/ScanlineAnnotateFocus.tsx +329 -0
- package/lib/motion/shotcraft/upstream/demos/effects/scanline-assemble-flyin/ScanlineAssembleFlyin.tsx +315 -0
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ImpactBurstKit.tsx +264 -0
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/KanadaPerspectiveSnap.tsx +260 -0
- package/lib/motion/shotcraft/upstream/demos/effects/slam-entrance-moves/ScoreSlam.tsx +263 -0
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/CornerSpotlightReveal.tsx +123 -0
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/GlowWakeSleepPanel.tsx +187 -0
- package/lib/motion/shotcraft/upstream/demos/effects/spotlight-sweep-moves/SlideSpotlightPan.tsx +175 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/autolayout-gap-dial/AutolayoutGapDial.tsx +305 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/DiagramCascadeBuild.tsx +350 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/canvas-materialize-moves/PanelToCanvasMaterialize.tsx +352 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/chip-grid-single-select-blackout/ChipGridSingleSelectBlackout.tsx +218 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/collab-cursor-moves/CursorCastEnsemble.tsx +297 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/glass-pill-dictation-typing/GlassPillDictationTyping.tsx +157 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/hashtag-to-pill-materialize/HashtagToPillMaterialize.tsx +218 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/picker-carousel-feature-cycle/PickerCarouselFeatureCycle.tsx +202 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/segmented-thumb-hero/SegmentedThumbHero.tsx +265 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/PaletteThemeRipple.tsx +457 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/theme-switch-moves/ThemeSweepToggle.tsx +446 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/type-and-filter/TypeAndFilter.tsx +249 -0
- package/lib/motion/shotcraft/upstream/demos/interaction/voice-waveform-live/VoiceWaveformLive.tsx +278 -0
- package/lib/motion/shotcraft/upstream/demos/opening/crane-rise-reveal/CraneRiseReveal.tsx +332 -0
- package/lib/motion/shotcraft/upstream/demos/opening/dataviz-landscape-open/DatavizLandscapeOpen.tsx +358 -0
- package/lib/motion/shotcraft/upstream/demos/opening/fracture/Fracture.tsx +201 -0
- package/lib/motion/shotcraft/upstream/demos/opening/icon-field-colorize/IconFieldColorize.tsx +200 -0
- package/lib/motion/shotcraft/upstream/demos/opening/letterspace-materialize/LetterspaceMaterialize.tsx +208 -0
- package/lib/motion/shotcraft/upstream/demos/opening/magician-card-flourish/MagicianCardFlourish.tsx +341 -0
- package/lib/motion/shotcraft/upstream/demos/opening/orbit-ring-title-open/OrbitRingTitleOpen.tsx +389 -0
- package/lib/motion/shotcraft/upstream/demos/opening/spotlight-hero-card/SpotlightHeroCard.tsx +293 -0
- package/lib/motion/shotcraft/upstream/demos/opening/stroke-segment-build/StrokeSegmentBuild.tsx +183 -0
- package/lib/motion/shotcraft/upstream/demos/opening/text-as-mask/TextAsMask.tsx +245 -0
- package/lib/motion/shotcraft/upstream/demos/outro/grain-dissolve/GrainDissolve.tsx +222 -0
- package/lib/motion/shotcraft/upstream/demos/outro/logo-shrink-wordmark-lockup/LogoShrinkWordmarkLockup.tsx +223 -0
- package/lib/motion/shotcraft/upstream/demos/outro/neon-triple-marquee/NeonTripleMarquee.tsx +217 -0
- package/lib/motion/shotcraft/upstream/demos/outro/outro-group-photo-launch/OutroGroupPhotoLaunch.tsx +343 -0
- package/lib/motion/shotcraft/upstream/demos/outro/ui-strip-away-outro/UiStripAwayOutro.tsx +357 -0
- package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/IconFlipBloomLogo.tsx +187 -0
- package/lib/motion/shotcraft/upstream/demos/outro/ui-to-brand-morph/InputMorphsIntoLogo.tsx +333 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/beat-cut-moves/PaparazziFlash.tsx +274 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/beat-step-list-theme-cycle/BeatStepListThemeCycle.tsx +270 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/panel-grid-moves/ComicPanelSplit.tsx +430 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/quad-split-parallel-scenes/QuadSplitParallelScenes.tsx +252 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/rhythm-interrupt-moves/JumpCutPunchIn.tsx +106 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/sakuga-timing-shift/SakugaTimingShift.tsx +288 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/speed-ramp-freeze/FreezeAnnotateReal.tsx +362 -0
- package/lib/motion/shotcraft/upstream/demos/rhythm/trailer-grammar-moves/TrailerBumper.tsx +168 -0
- package/lib/motion/shotcraft/upstream/demos/transition/bottom-push-stack-wipe/BottomPushStackWipe.tsx +310 -0
- package/lib/motion/shotcraft/upstream/demos/transition/card-flip-reveal/CardFlipReveal.tsx +261 -0
- package/lib/motion/shotcraft/upstream/demos/transition/card-flock-tumble/CardFlockTumble.tsx +459 -0
- package/lib/motion/shotcraft/upstream/demos/transition/circle-match-iris/CircleMatchIris.tsx +294 -0
- package/lib/motion/shotcraft/upstream/demos/transition/gradient-transition/GradientTransition.tsx +161 -0
- package/lib/motion/shotcraft/upstream/demos/transition/line-carry-transition/LineCarryTransition.tsx +248 -0
- package/lib/motion/shotcraft/upstream/demos/transition/mosaic-reframe/MosaicReframe.tsx +359 -0
- package/lib/motion/shotcraft/upstream/demos/transition/page-turn-transitions/BarnDoorSplit.tsx +227 -0
- package/lib/motion/shotcraft/upstream/demos/transition/print-texture-transitions/InkBleedReveal.tsx +162 -0
- package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/PortalWipeV2.tsx +248 -0
- package/lib/motion/shotcraft/upstream/demos/transition/shot-transitions/WhipBrakeReal.tsx +186 -0
- package/lib/motion/shotcraft/upstream/demos/transition/tear-streak-transitions/GlitchDisplace.tsx +355 -0
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/InvisibleCut.tsx +272 -0
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/LightLeakBurn.tsx +262 -0
- package/lib/motion/shotcraft/upstream/demos/transition/transition-hidden-cut/VersusSlam.tsx +217 -0
- package/lib/motion/shotcraft/upstream/demos/transition/transition-travel/LetterformZoom.tsx +285 -0
- package/lib/motion/shotcraft/upstream/demos/transition/white-flash-logo-simplify-cut/WhiteFlashLogoSimplifyCut.tsx +205 -0
- package/lib/motion/shotcraft/upstream/demos/transition/wipe-transitions/BlindsSlice.tsx +178 -0
- package/lib/motion/shotcraft/upstream/demos/typography/blur-slide/BlurSlide.tsx +147 -0
- package/lib/motion/shotcraft/upstream/demos/typography/brace-expand/BraceExpand.tsx +143 -0
- package/lib/motion/shotcraft/upstream/demos/typography/brand-ink-open/BrandInkOpen.tsx +134 -0
- package/lib/motion/shotcraft/upstream/demos/typography/countdown-arc-scatter/CountdownArcScatter.tsx +217 -0
- package/lib/motion/shotcraft/upstream/demos/typography/flying-words/FlyingWords.tsx +198 -0
- package/lib/motion/shotcraft/upstream/demos/typography/glitch-cycle/GlitchCycle.tsx +221 -0
- package/lib/motion/shotcraft/upstream/demos/typography/gradient-word-sweep/GradientWordSweep.tsx +312 -0
- package/lib/motion/shotcraft/upstream/demos/typography/lead-word-zoom-assemble/LeadWordZoomAssemble.tsx +261 -0
- package/lib/motion/shotcraft/upstream/demos/typography/marker-underline-title/MarkerUnderlineTitle.tsx +121 -0
- package/lib/motion/shotcraft/upstream/demos/typography/outline-word-fill/OutlineWordFill.tsx +153 -0
- package/lib/motion/shotcraft/upstream/demos/typography/paper-title-card/PaperTitleCard.tsx +179 -0
- package/lib/motion/shotcraft/upstream/demos/typography/pill-chip-slot-cycle-handled/PillChipSlotCycleHandled.tsx +140 -0
- package/lib/motion/shotcraft/upstream/demos/typography/pill-slot-cycle/PillSlotCycle.tsx +309 -0
- package/lib/motion/shotcraft/upstream/demos/typography/text-column-converge/TextColumnConverge.tsx +191 -0
- package/lib/motion/shotcraft/upstream/demos/typography/title-demote-to-label/TitleDemoteToLabel.tsx +292 -0
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/LetterformDriftAssembly.tsx +135 -0
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/SplitTextStagger.tsx +124 -0
- package/lib/motion/shotcraft/upstream/demos/typography/type-assembly-moves/TextOnPath.tsx +255 -0
- package/lib/motion/shotcraft/upstream/demos/typography/type-entrance-moves/LetterDropPhysics.tsx +173 -0
- package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/FontWeightPump.tsx +225 -0
- package/lib/motion/shotcraft/upstream/demos/typography/type-rhythm-sync/KaraokeFillSync.tsx +141 -0
- package/lib/motion/shotcraft/upstream/demos/typography/typewriter-moves/TypewriterErrorRetype.tsx +137 -0
- package/lib/motion/shotcraft/upstream/demos/typography/vertical-word-roll-blur-cycle/VerticalWordRollBlurCycle.tsx +147 -0
- package/lib/motion/shotcraft/upstream/demos/typography/word-relay-filmstrip/WordRelayFilmstrip.tsx +409 -0
- package/lib/motion/shotcraft/upstream/demos/typography/word-relay-geometry/WordRelayGeometry.tsx +280 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/avatar-bracket-carousel/AvatarBracketCarousel.tsx +271 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/bezier-source-converge-merge/BezierSourceConvergeMerge.tsx +385 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/card-stack/CardStack.tsx +312 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/carousel-3d/Carousel3D.tsx +303 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/clipcard-looping/ClipCardLooping.tsx +77 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/cloner-depth-echo/ClonerDepthEcho.tsx +311 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/deck-deal-flyin/DeckDealFlyin.tsx +307 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/doc-park-left-pill-deal/DocParkLeftPillDeal.tsx +349 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/document-typewriter-reveal/DocumentTypewriterReveal.tsx +255 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/draw-svg-trace/DrawSvgTrace.tsx +244 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/element-body-moves/ContactShadowLift.tsx +217 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/integration-hub-map/IntegrationHubMap.tsx +652 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-reveal/ListReveal.tsx +153 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/list-stack-press/ListStackPress.tsx +238 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-forerun/NeonFrameForerun.tsx +324 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/neon-frame-orbit-drop/NeonFrameForerunOrbit.tsx +354 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/PageWaterfallWall.tsx +101 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/page-waterfall-wall/VerticalTicker.tsx +129 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/product-card-progressive-assemble/ProductCardProgressiveAssemble.tsx +297 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/radial-wave/RadialWave.tsx +57 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/research-card-stack-scroll/ResearchCardStackScroll.tsx +155 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/row-embed/RowEmbed.tsx +175 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/value-stagger-gradient/ValueStaggerGradient.tsx +153 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/BentoLightUp.tsx +146 -0
- package/lib/motion/shotcraft/upstream/demos/ui-entrance/wall-reveal-moves/WireframeDrawOn.tsx +226 -0
- package/lib/motion/shotcraft/upstream/gallery/api/library.json +1 -0
- package/lib/motion/shotcraft/upstream/manifest.json +2715 -0
- package/lib/motion/shotcraft/upstream/references/aesthetic-rules.md +193 -0
- package/lib/motion/shotcraft/upstream/references/final-review.md +121 -0
- package/lib/motion/shotcraft/upstream/references/guided-free-creation.md +199 -0
- package/lib/motion/shotcraft/upstream/references/jianying-export.md +183 -0
- package/lib/motion/shotcraft/upstream/references/music-beat-sync.md +257 -0
- package/lib/motion/shotcraft/upstream/references/pipeline.md +382 -0
- package/lib/motion/shotcraft/upstream/references/publish-upload-post.md +111 -0
- package/lib/motion/shotcraft/upstream/references/sequences/promo-energy-arc.md +50 -0
- package/lib/motion/shotcraft/upstream/references/sfx-sourcing.md +95 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/basic-3d-scene.md +41 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/crash-zoom-punch.md +52 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/cursor-flyover.md +39 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/depth-layer-moves.md +39 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/graze-face-tour.md +57 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/overhead-camera-moves.md +51 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/space-camera-moves.md +46 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/steep-tilt-glide.md +52 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/tension-camera-moves.md +43 -0
- package/lib/motion/shotcraft/upstream/references/shots/camera/terminal-3d.md +42 -0
- package/lib/motion/shotcraft/upstream/references/shots/data/before-after-slider-scrub.md +48 -0
- package/lib/motion/shotcraft/upstream/references/shots/data/chart-live-moves.md +52 -0
- package/lib/motion/shotcraft/upstream/references/shots/data/gauge-readout-moves.md +45 -0
- package/lib/motion/shotcraft/upstream/references/shots/data/scroll-brake-moves.md +46 -0
- package/lib/motion/shotcraft/upstream/references/shots/data/timeline-travel.md +44 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/assemble-then-type-flyin.md +63 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/aurora-bloom-bg-flip.md +54 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/brand-frame-snap.md +58 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/fui-hud-moves.md +35 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/glow-flyline-moves.md +53 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/icon-performance-moves.md +42 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/impact-feedback.md +50 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/light-play-moves.md +46 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/radial-ripple-phone-chips.md +56 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/riso-print-hits.md +49 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/scan-bracket-sweep.md +50 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-annotate-focus.md +53 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/scanline-assemble-flyin.md +53 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/slam-entrance-moves.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/effects/spotlight-sweep-moves.md +52 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/autolayout-gap-dial.md +60 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/canvas-materialize-moves.md +57 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/chip-grid-single-select-blackout.md +51 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/collab-cursor-moves.md +41 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/glass-pill-dictation-typing.md +53 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/hashtag-to-pill-materialize.md +60 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/picker-carousel-feature-cycle.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/segmented-thumb-hero.md +57 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/theme-switch-moves.md +47 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/type-and-filter.md +37 -0
- package/lib/motion/shotcraft/upstream/references/shots/interaction/voice-waveform-live.md +54 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/brand-ink-open.md +36 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/crane-rise-reveal.md +56 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/dataviz-landscape-open.md +56 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/fracture.md +40 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/icon-field-colorize.md +60 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/letterspace-materialize.md +57 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/magician-card-flourish.md +73 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/orbit-ring-title-open.md +87 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/spotlight-hero-card.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/stroke-segment-build.md +50 -0
- package/lib/motion/shotcraft/upstream/references/shots/opening/text-as-mask.md +59 -0
- package/lib/motion/shotcraft/upstream/references/shots/outro/grain-dissolve.md +38 -0
- package/lib/motion/shotcraft/upstream/references/shots/outro/logo-shrink-wordmark-lockup.md +38 -0
- package/lib/motion/shotcraft/upstream/references/shots/outro/neon-triple-marquee.md +59 -0
- package/lib/motion/shotcraft/upstream/references/shots/outro/outro-group-photo-launch.md +39 -0
- package/lib/motion/shotcraft/upstream/references/shots/outro/ui-strip-away-outro.md +61 -0
- package/lib/motion/shotcraft/upstream/references/shots/outro/ui-to-brand-morph.md +52 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-cut-moves.md +50 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/beat-step-list-theme-cycle.md +66 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/panel-grid-moves.md +43 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/quad-split-parallel-scenes.md +38 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/rhythm-interrupt-moves.md +38 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/sakuga-timing-shift.md +56 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/speed-ramp-freeze.md +44 -0
- package/lib/motion/shotcraft/upstream/references/shots/rhythm/trailer-grammar-moves.md +38 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/bottom-push-stack-wipe.md +63 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/card-flip-reveal.md +57 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/card-flock-tumble.md +63 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/circle-match-iris.md +58 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/gradient-transition.md +45 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/line-carry-transition.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/mosaic-reframe.md +49 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/page-turn-transitions.md +42 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/print-texture-transitions.md +42 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/shot-transitions.md +45 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/tear-streak-transitions.md +48 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/transition-hidden-cut.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/transition-travel.md +43 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/white-flash-logo-simplify-cut.md +41 -0
- package/lib/motion/shotcraft/upstream/references/shots/transition/wipe-transitions.md +42 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/blur-slide.md +59 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/brace-expand.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/countdown-arc-scatter.md +65 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/document-typewriter-reveal.md +42 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/flying-words.md +64 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/glitch-cycle.md +64 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/gradient-word-sweep.md +54 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/lead-word-zoom-assemble.md +91 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/marker-underline-title.md +51 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/outline-word-fill.md +66 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/paper-title-card.md +38 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/pill-chip-slot-cycle-handled.md +66 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/pill-slot-cycle.md +58 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/text-column-converge.md +61 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/title-demote-to-label.md +64 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-assembly-moves.md +45 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-entrance-moves.md +41 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/type-rhythm-sync.md +51 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/typewriter-moves.md +42 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/vertical-word-roll-blur-cycle.md +63 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-filmstrip.md +57 -0
- package/lib/motion/shotcraft/upstream/references/shots/typography/word-relay-geometry.md +75 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/avatar-bracket-carousel.md +59 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/bezier-source-converge-merge.md +67 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/card-stack.md +60 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/carousel-3d.md +66 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/cloner-depth-echo.md +40 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/deck-deal-flyin.md +45 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/doc-park-left-pill-deal.md +62 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/draw-svg-trace.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/element-body-moves.md +37 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/integration-hub-map.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-reveal.md +50 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/list-stack-press.md +43 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-forerun.md +55 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/neon-frame-orbit-drop.md +51 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/page-waterfall-wall.md +51 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/product-card-progressive-assemble.md +56 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/radial-wave.md +49 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/research-card-stack-scroll.md +57 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/row-embed.md +36 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/value-stagger-gradient.md +64 -0
- package/lib/motion/shotcraft/upstream/references/shots/ui-entrance/wall-reveal-moves.md +47 -0
- package/lib/motion/shotcraft/upstream/references/sound-design.md +170 -0
- package/lib/motion/shotcraft/upstream/references/workbench.md +157 -0
- package/lib/motion/shotcraft/upstream/template/TEMPLATE.md +103 -0
- package/lib/motion/shotcraft/upstream/template/THEMES.md +44 -0
- package/lib/motion/shotcraft/upstream/template/package.json +20 -0
- package/lib/motion/shotcraft/upstream/template/remotion.config.ts +6 -0
- package/lib/motion/shotcraft/upstream/template/src/Root.tsx +17 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/Caption.tsx +65 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/DigitRoll.tsx +48 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/FlashCut.tsx +24 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/Main.tsx +192 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/PaperTitleCard.tsx +111 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/PageCam.tsx +150 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneDetail.tsx +158 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneFlyIn.tsx +468 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOpen.tsx +552 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneOutroLive.tsx +411 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/ScenePapers.tsx +200 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live/SceneWbr.tsx +324 -0
- package/lib/motion/shotcraft/upstream/template/src/aifl/live-layout.json +389 -0
- package/lib/motion/shotcraft/upstream/template/src/index.ts +4 -0
- package/lib/motion/shotcraft/upstream/template/src/themes/ThemedFilm.tsx +7 -0
- package/lib/motion/shotcraft/upstream/template/src/themes/manifest.tsx +68 -0
- package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.json +1 -0
- package/lib/motion/shotcraft/upstream/template/src/themes/palette-assets.ts +24 -0
- package/lib/motion/shotcraft/upstream/template/src/themes/palettes.json +74 -0
- package/lib/motion/shotcraft/upstream/template/src/themes/visual-theme.tsx +91 -0
- package/lib/motion/shotcraft/upstream/template/src/workbench.ts +213 -0
- package/lib/motion/shotcraft/upstream/template/tsconfig.json +15 -0
- package/lib/motion/spec.js +113 -0
- package/lib/motion/style-engine.js +153 -0
- package/lib/motion/style-frames.js +271 -0
- package/lib/motion/sync.js +214 -0
- package/lib/motion/theme.js +121 -0
- package/lib/motion/video-runtime.js +192 -0
- package/lib/motion/voice.js +417 -0
- package/lib/motion-agent-files.js +82 -0
- package/lib/motion-agent-protocol.js +66 -0
- package/lib/motion-agent-tools.js +196 -0
- package/lib/motion-agent.js +171 -0
- package/lib/motion-capture.js +93 -0
- package/lib/motion-core.js +238 -0
- package/lib/motion-film-review.js +71 -0
- package/lib/motion-library.js +210 -0
- package/lib/motion-planner.js +254 -0
- package/lib/motion-project.js +87 -0
- package/lib/motion-render-worker.js +153 -0
- package/lib/motion-session.js +32 -0
- package/lib/motion-source.js +49 -0
- package/lib/motion-tasks.js +452 -0
- package/lib/motion-vision.js +44 -0
- package/lib/mxfile.js +27 -7
- package/lib/routing/node-runtime.js +14 -0
- package/lib/routing/router.js +211 -0
- package/lib/routing/vendor/README.md +96 -0
- package/lib/routing/vendor/libavoid-routing.js +753 -0
- package/lib/routing/vendor/libavoid.min.js +59 -0
- package/lib/shotcard-core.js +39 -0
- package/lib/shotcard-reference.js +56 -0
- package/lib/style-kernel.js +37 -3
- package/lib/task-patches.js +26 -2
- package/lib/video-export.js +49 -22
- package/package.json +34 -4
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// Per-letter signed distance fields (px) rendered from a web font, one letter per RGBA channel.
|
|
2
|
+
// Sub-pixel accurate (TinySDF-style alpha seeding) + Felzenszwalb EDT + gentle Gaussian smoothing so the
|
|
3
|
+
// medial-axis ridges never show up as creases in the liquid height field.
|
|
4
|
+
const INF = 1e20;
|
|
5
|
+
|
|
6
|
+
function edt1d(f, d, v, z, n) {
|
|
7
|
+
v[0] = 0; z[0] = -INF; z[1] = INF;
|
|
8
|
+
let k = 0;
|
|
9
|
+
for (let q = 1; q < n; q++) {
|
|
10
|
+
let s = ((f[q] + q * q) - (f[v[k]] + v[k] * v[k])) / (2 * q - 2 * v[k]);
|
|
11
|
+
while (s <= z[k]) { k--; s = ((f[q] + q * q) - (f[v[k]] + v[k] * v[k])) / (2 * q - 2 * v[k]); }
|
|
12
|
+
k++; v[k] = q; z[k] = s; z[k + 1] = INF;
|
|
13
|
+
}
|
|
14
|
+
k = 0;
|
|
15
|
+
for (let q = 0; q < n; q++) { while (z[k + 1] < q) k++; const r = q - v[k]; d[q] = r * r + f[v[k]]; }
|
|
16
|
+
}
|
|
17
|
+
function edt2d(grid, w, h) {
|
|
18
|
+
const n = Math.max(w, h);
|
|
19
|
+
const f = new Float64Array(n), d = new Float64Array(n), v = new Int32Array(n), z = new Float64Array(n + 1);
|
|
20
|
+
for (let x = 0; x < w; x++) {
|
|
21
|
+
for (let y = 0; y < h; y++) f[y] = grid[y * w + x];
|
|
22
|
+
edt1d(f, d, v, z, h);
|
|
23
|
+
for (let y = 0; y < h; y++) grid[y * w + x] = d[y];
|
|
24
|
+
}
|
|
25
|
+
for (let y = 0; y < h; y++) {
|
|
26
|
+
for (let x = 0; x < w; x++) f[x] = grid[y * w + x];
|
|
27
|
+
edt1d(f, d, v, z, w);
|
|
28
|
+
for (let x = 0; x < w; x++) grid[y * w + x] = d[x];
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function blur1(src, dst, w, h, sigma, horiz) {
|
|
32
|
+
const r = Math.ceil(sigma * 3), ker = [];
|
|
33
|
+
let s = 0;
|
|
34
|
+
for (let i = -r; i <= r; i++) { const k = Math.exp(-i * i / (2 * sigma * sigma)); ker.push(k); s += k; }
|
|
35
|
+
for (let i = 0; i < ker.length; i++) ker[i] /= s;
|
|
36
|
+
for (let y = 0; y < h; y++) for (let x = 0; x < w; x++) {
|
|
37
|
+
let acc = 0;
|
|
38
|
+
for (let i = -r; i <= r; i++) {
|
|
39
|
+
let xx = horiz ? x + i : x, yy = horiz ? y : y + i;
|
|
40
|
+
xx = xx < 0 ? 0 : xx >= w ? w - 1 : xx; yy = yy < 0 ? 0 : yy >= h ? h - 1 : yy;
|
|
41
|
+
acc += src[yy * w + xx] * ker[i + r];
|
|
42
|
+
}
|
|
43
|
+
dst[y * w + x] = acc;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function toHalf(val) {
|
|
48
|
+
const f32 = new Float32Array(1), u32 = new Uint32Array(f32.buffer);
|
|
49
|
+
return (v) => {
|
|
50
|
+
f32[0] = v; const x = u32[0];
|
|
51
|
+
const sign = (x >> 16) & 0x8000; let e = ((x >> 23) & 0xff) - 127 + 15; let m = x & 0x7fffff;
|
|
52
|
+
if (e <= 0) return sign;
|
|
53
|
+
if (e >= 31) return sign | 0x7c00;
|
|
54
|
+
return sign | (e << 10) | (m >> 13);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// opts: { word, font (css font shorthand without size), size, tracking(px), pad, sigma, variation }
|
|
59
|
+
export function buildLetterSDF(opts) {
|
|
60
|
+
const { word, family, weight = 900, size, tracking = 0, pad = 170, sigma = 5.0, variation = '' } = opts;
|
|
61
|
+
const c0 = document.createElement('canvas');
|
|
62
|
+
const cx = c0.getContext('2d');
|
|
63
|
+
const fontStr = `${weight} ${size}px ${family}`;
|
|
64
|
+
cx.font = fontStr;
|
|
65
|
+
if (variation) c0.style.fontVariationSettings = variation;
|
|
66
|
+
// letter x positions (kerning-aware via prefix widths)
|
|
67
|
+
const xs = [];
|
|
68
|
+
let total = 0;
|
|
69
|
+
for (let i = 0; i < word.length; i++) {
|
|
70
|
+
const pre = cx.measureText(word.slice(0, i + 1)).width, one = cx.measureText(word[i]).width;
|
|
71
|
+
xs.push(pre - one + tracking * i);
|
|
72
|
+
total = pre + tracking * i;
|
|
73
|
+
}
|
|
74
|
+
const m = cx.measureText(word);
|
|
75
|
+
const asc = Math.ceil(m.actualBoundingBoxAscent), desc = Math.ceil(m.actualBoundingBoxDescent);
|
|
76
|
+
const left = Math.ceil(m.actualBoundingBoxLeft);
|
|
77
|
+
const W = Math.ceil(total + left + pad * 2 + 20), H = asc + desc + pad * 2;
|
|
78
|
+
const baseX = pad + left, baseY = pad + asc;
|
|
79
|
+
const out = new Float32Array(W * H * 4);
|
|
80
|
+
const letters = [];
|
|
81
|
+
const tmp = new Float64Array(W * H), tmp2 = new Float64Array(W * H);
|
|
82
|
+
const outer = new Float64Array(W * H), inner = new Float64Array(W * H);
|
|
83
|
+
const cv = document.createElement('canvas'); cv.width = W; cv.height = H;
|
|
84
|
+
const g = cv.getContext('2d', { willReadFrequently: true });
|
|
85
|
+
for (let i = 0; i < word.length && i < 4; i++) {
|
|
86
|
+
g.clearRect(0, 0, W, H);
|
|
87
|
+
g.font = fontStr; g.fillStyle = '#fff'; g.textBaseline = 'alphabetic';
|
|
88
|
+
g.fillText(word[i], baseX + xs[i], baseY);
|
|
89
|
+
const img = g.getImageData(0, 0, W, H).data;
|
|
90
|
+
let minx = W, maxx = 0, miny = H, maxy = 0;
|
|
91
|
+
for (let j = 0; j < W * H; j++) {
|
|
92
|
+
const a = img[j * 4 + 3] / 255;
|
|
93
|
+
if (a >= 1) { outer[j] = 0; inner[j] = INF; }
|
|
94
|
+
else if (a <= 0) { outer[j] = INF; inner[j] = 0; }
|
|
95
|
+
else { const d = 0.5 - a; outer[j] = d > 0 ? d * d : 0; inner[j] = d < 0 ? d * d : 0; }
|
|
96
|
+
if (a > 0.5) { const x = j % W, y = (j / W) | 0; if (x < minx) minx = x; if (x > maxx) maxx = x; if (y < miny) miny = y; if (y > maxy) maxy = y; }
|
|
97
|
+
}
|
|
98
|
+
edt2d(outer, W, H); edt2d(inner, W, H);
|
|
99
|
+
for (let j = 0; j < W * H; j++) tmp[j] = Math.max(-200, Math.min(200, Math.sqrt(outer[j]) - Math.sqrt(inner[j])));
|
|
100
|
+
// sharp (edge) and heavily smoothed (interior dome) versions, blended by depth so the silhouette stays
|
|
101
|
+
// true while the medial-axis ridge disappears from the height field
|
|
102
|
+
const sharp = new Float64Array(W * H), soft = new Float64Array(W * H);
|
|
103
|
+
blur1(tmp, tmp2, W, H, 2.0, true); blur1(tmp2, sharp, W, H, 2.0, false);
|
|
104
|
+
blur1(tmp, tmp2, W, H, sigma, true); blur1(tmp2, soft, W, H, sigma, false);
|
|
105
|
+
for (let j = 0; j < W * H; j++) {
|
|
106
|
+
const a = sharp[j], b = Math.min(soft[j], 0);
|
|
107
|
+
let w = (-a - 3) / 18; w = w < 0 ? 0 : w > 1 ? 1 : w; w = w * w * (3 - 2 * w);
|
|
108
|
+
out[j * 4 + i] = a > 0 ? Math.min(a, Math.max(soft[j], a * 0.5)) : a + (Math.min(b, a * 0.2) - a) * w;
|
|
109
|
+
}
|
|
110
|
+
letters.push({ ch: word[i], bbox: [minx, miny, maxx, maxy], pivot: [(minx + maxx) / 2, (miny + maxy) / 2] });
|
|
111
|
+
}
|
|
112
|
+
for (let i = word.length; i < 4; i++) for (let j = 0; j < W * H; j++) out[j * 4 + i] = 200;
|
|
113
|
+
return { W, H, data: out, letters, baseX, baseY, asc, desc, width: total };
|
|
114
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Front typography layer (Canvas2D, sRGB, premultiplied on upload). Pure function of t.
|
|
2
|
+
import { flung, inv, smooth, lerp } from './scene.js';
|
|
3
|
+
|
|
4
|
+
export function createType(W, H, cues, word, opts = {}) {
|
|
5
|
+
const canvas = document.createElement('canvas'); canvas.width = W; canvas.height = H;
|
|
6
|
+
const g = canvas.getContext('2d');
|
|
7
|
+
// pre-measure glyph runs so reveal can be per glyph
|
|
8
|
+
function layout(text, font, xR, y, track) {
|
|
9
|
+
g.font = font;
|
|
10
|
+
const ws = [...text].map((c) => g.measureText(c).width);
|
|
11
|
+
const total = ws.reduce((a, b) => a + b, 0) + track * (ws.length - 1);
|
|
12
|
+
let cx = xR - total; // r2: flush-right on the p's bowl -> puddle, ripple and type lock up
|
|
13
|
+
return [...text].map((c, i) => { const o = { c, x: cx, w: ws[i], y }; cx += ws[i] + track; return o; });
|
|
14
|
+
}
|
|
15
|
+
const LINES = [
|
|
16
|
+
{ text: '万物始于一滴', font: '600 44px "Noto Serif SC"', y: 958, track: 14, color: [255, 232, 240], alpha: 0.96, dx: 0 },
|
|
17
|
+
{ text: 'EVERYTHING BEGINS AS A DROP', font: '600 20px "Inter"', y: 999, track: 5.5, color: [255, 200, 224], alpha: 0.70, dx: -1 },
|
|
18
|
+
];
|
|
19
|
+
// reel v5: the small English line carries the style name (the hero word above is 「液态流动」)
|
|
20
|
+
if (opts.v5) LINES[1] = { text: 'LIQUID MOTION', font: '600 30px "Inter"', y: 1006, track: 10, color: [255, 206, 228], alpha: 0.82, dx: -1 };
|
|
21
|
+
let laid = null;
|
|
22
|
+
function draw(t, S, look) {
|
|
23
|
+
g.clearRect(0, 0, W, H);
|
|
24
|
+
const xR = word.letters[3].bbox[2] - 4;
|
|
25
|
+
if (!laid) laid = LINES.map((l) => ({ ...l, glyphs: layout(l.text, l.font, xR + l.dx, l.y, l.track) }));
|
|
26
|
+
const rip = opts.v5 ? S.tagRev : S.rip; // v5.1: no puddle; the fat drip's wake reveals the tagline
|
|
27
|
+
const showAll = look === 0;
|
|
28
|
+
if (!showAll && !(rip && rip.amp > 0)) return;
|
|
29
|
+
g.textBaseline = 'alphabetic'; g.textAlign = 'left';
|
|
30
|
+
laid.forEach((l, li) => {
|
|
31
|
+
g.font = l.font;
|
|
32
|
+
l.glyphs.forEach((gl) => {
|
|
33
|
+
let a = 1, dy = 0, blur = 0;
|
|
34
|
+
if (!showAll) {
|
|
35
|
+
const cx = gl.x + gl.w / 2;
|
|
36
|
+
const tPass = 0.02 + Math.abs(cx - rip.x) / 2000 + li * 0.06; // r2: wave spreads outward from the splash, done in ~0.5 s
|
|
37
|
+
const k = inv(tPass, tPass + 0.30, rip.age);
|
|
38
|
+
a = smooth(k); dy = 8 * (1 - flung(k)); blur = 4 * (1 - smooth(inv(0, 0.7, k)));
|
|
39
|
+
}
|
|
40
|
+
if (a <= 0.001) return;
|
|
41
|
+
g.globalAlpha = a * l.alpha;
|
|
42
|
+
g.filter = blur > 0.3 ? `blur(${blur.toFixed(2)}px)` : 'none';
|
|
43
|
+
g.fillStyle = `rgb(${l.color.join(',')})`;
|
|
44
|
+
g.fillText(gl.c, gl.x, gl.y + dy);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
g.filter = 'none'; g.globalAlpha = 1;
|
|
48
|
+
}
|
|
49
|
+
return { canvas, draw };
|
|
50
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
{
|
|
2
|
+
"bpm": 150,
|
|
3
|
+
"fps": 30,
|
|
4
|
+
"beat": 0.4,
|
|
5
|
+
"build": 4.8,
|
|
6
|
+
"drop": 6.4,
|
|
7
|
+
"outro": 8.8,
|
|
8
|
+
"land": {
|
|
9
|
+
"cup": 0.4,
|
|
10
|
+
"sun": 2.0,
|
|
11
|
+
"sunset": 3.2,
|
|
12
|
+
"gull": 4.4,
|
|
13
|
+
"plane": 5.4,
|
|
14
|
+
"pin": 6.4,
|
|
15
|
+
"heart": 7.6,
|
|
16
|
+
"m": 8.6
|
|
17
|
+
},
|
|
18
|
+
"morphs": [
|
|
19
|
+
{
|
|
20
|
+
"a": "drop",
|
|
21
|
+
"b": "cup",
|
|
22
|
+
"t0": 0.0,
|
|
23
|
+
"t1": 0.62
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"a": "cup",
|
|
27
|
+
"b": "sun",
|
|
28
|
+
"t0": 1.3,
|
|
29
|
+
"t1": 2.0,
|
|
30
|
+
"via": "circle"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"a": "sun",
|
|
34
|
+
"b": "sunset",
|
|
35
|
+
"t0": 2.4,
|
|
36
|
+
"t1": 3.2
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"a": "sunset",
|
|
40
|
+
"b": "gull",
|
|
41
|
+
"t0": 3.6,
|
|
42
|
+
"t1": 4.4,
|
|
43
|
+
"via": "circle"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"a": "gull",
|
|
47
|
+
"b": "plane",
|
|
48
|
+
"t0": 4.8,
|
|
49
|
+
"t1": 5.4,
|
|
50
|
+
"via": "circle"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"a": "plane",
|
|
54
|
+
"b": "pin",
|
|
55
|
+
"t0": 6.3,
|
|
56
|
+
"t1": 6.4,
|
|
57
|
+
"via": "capsule"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"a": "pin",
|
|
61
|
+
"b": "heart",
|
|
62
|
+
"t0": 7.0,
|
|
63
|
+
"t1": 7.6,
|
|
64
|
+
"via": "circle"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"a": "heart",
|
|
68
|
+
"b": "m",
|
|
69
|
+
"t0": 8.0,
|
|
70
|
+
"t1": 8.6,
|
|
71
|
+
"via": "circle"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"flight": {
|
|
75
|
+
"t0": 5.4,
|
|
76
|
+
"launch": 5.6,
|
|
77
|
+
"apex": 6.04,
|
|
78
|
+
"dive": 6.14,
|
|
79
|
+
"t1": 6.4
|
|
80
|
+
},
|
|
81
|
+
"wipes": {
|
|
82
|
+
"sun": 1.62,
|
|
83
|
+
"sky": 2.453,
|
|
84
|
+
"sea": 2.6,
|
|
85
|
+
"flood": 3.98,
|
|
86
|
+
"cream": 6.4,
|
|
87
|
+
"heart": 7.233,
|
|
88
|
+
"ink": 8.02
|
|
89
|
+
},
|
|
90
|
+
"heartbeat": [
|
|
91
|
+
7.8,
|
|
92
|
+
7.93
|
|
93
|
+
],
|
|
94
|
+
"letters": {
|
|
95
|
+
"t0": 8.32,
|
|
96
|
+
"step": 0.075,
|
|
97
|
+
"travel": 0.42,
|
|
98
|
+
"fly": 0.32
|
|
99
|
+
},
|
|
100
|
+
"tagline": 8.95,
|
|
101
|
+
"captions": [
|
|
102
|
+
0.0,
|
|
103
|
+
1.6,
|
|
104
|
+
2.8,
|
|
105
|
+
4.0,
|
|
106
|
+
5.2,
|
|
107
|
+
6.3,
|
|
108
|
+
7.3
|
|
109
|
+
],
|
|
110
|
+
"loop": {
|
|
111
|
+
"cx": 1215,
|
|
112
|
+
"cy": 387,
|
|
113
|
+
"r": 255,
|
|
114
|
+
"ground": 642
|
|
115
|
+
},
|
|
116
|
+
"shock": 6.367,
|
|
117
|
+
"enddots": {
|
|
118
|
+
"t0": 8.44,
|
|
119
|
+
"st": 0.04,
|
|
120
|
+
"dur": 0.7,
|
|
121
|
+
"arrive": [
|
|
122
|
+
9.14,
|
|
123
|
+
9.18,
|
|
124
|
+
9.22,
|
|
125
|
+
9.26,
|
|
126
|
+
9.3,
|
|
127
|
+
9.34,
|
|
128
|
+
9.38
|
|
129
|
+
]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"upm": 1000, "ascender": 1000, "xHeight": 483, "glyphs": {"m": {"adv": 867, "contours": [[[58, 0], [58, 483], [189, 483], [189, 441], [191.6, 443.4], [194.2, 445.8], [196.9, 448.1], [199.6, 450.3], [202.4, 452.5], [205.2, 454.7], [208.0, 456.8], [210.9, 458.8], [213.8, 460.8], [216.8, 462.7], [219.8, 464.6], [222.8, 466.5], [225.9, 468.3], [229.0, 470.0], [235.1, 473.2], [241.2, 476.1], [247.5, 478.8], [253.9, 481.3], [260.4, 483.5], [267.0, 485.5], [273.8, 487.2], [280.6, 488.8], [287.5, 490.1], [294.6, 491.1], [301.8, 491.9], [309.1, 492.5], [316.5, 492.9], [324.0, 493.0], [331.1, 492.9], [338.1, 492.6], [345.0, 492.0], [351.8, 491.2], [358.6, 490.2], [365.2, 489.0], [371.8, 487.5], [378.2, 485.8], [384.6, 483.9], [390.8, 481.8], [397.0, 479.4], [403.1, 476.8], [409.1, 474.0], [415.0, 471.0], [419.8, 468.2], [424.5, 465.3], [429.1, 462.3], [433.5, 459.1], [437.9, 455.8], [442.1, 452.3], [446.2, 448.8], [450.3, 445.0], [454.2, 441.2], [458.0, 437.2], [461.6, 433.1], [465.2, 428.9], [468.7, 424.5], [472.0, 420.0], [475.5, 424.4], [479.1, 428.6], [482.8, 432.7], [486.6, 436.7], [490.5, 440.6], [494.6, 444.4], [498.8, 448.0], [503.0, 451.5], [507.4, 454.9], [511.9, 458.2], [516.5, 461.3], [521.2, 464.3], [526.1, 467.2], [531.0, 470.0], [537.3, 473.2], [543.8, 476.1], [550.3, 478.8], [557.0, 481.3], [563.7, 483.5], [570.6, 485.5], [577.5, 487.2], [584.6, 488.8], [591.7, 490.1], [599.0, 491.1], [606.3, 491.9], [613.8, 492.5], [621.3, 492.9], [629.0, 493.0], [636.7, 492.9], [644.2, 492.5], [651.6, 492.0], [659.0, 491.2], [666.2, 490.1], [673.3, 488.9], [680.2, 487.4], [687.1, 485.7], [693.9, 483.7], [700.5, 481.5], [707.1, 479.1], [713.5, 476.5], [719.8, 473.6], [726.0, 470.5], [732.1, 467.2], [737.9, 463.7], [743.6, 460.0], [749.1, 456.1], [754.4, 451.9], [759.6, 447.6], [764.5, 443.1], [769.3, 438.4], [773.8, 433.5], [778.2, 428.4], [782.5, 423.1], [786.5, 417.6], [790.3, 411.9], [794.0, 406.0], [797.4, 399.9], [800.6, 393.7], [803.6, 387.3], [806.2, 380.7], [808.7, 374.0], [810.8, 367.1], [812.8, 360.0], [814.4, 352.8], [815.8, 345.4], [817.0, 337.8], [817.9, 330.1], [818.5, 322.2], [818.9, 314.2], [819.0, 306.0], [819, 0], [688, 0], [688, 285], [687.9, 290.9], [687.5, 296.6], [686.8, 302.2], [685.8, 307.5], [684.6, 312.6], [683.1, 317.6], [681.4, 322.4], [679.3, 327.0], [677.0, 331.4], [674.5, 335.6], [671.6, 339.6], [668.5, 343.4], [665.2, 347.0], [661.5, 350.5], [657.7, 353.7], [653.7, 356.7], [649.6, 359.5], [645.3, 362.0], [641.0, 364.3], [636.5, 366.3], [631.9, 368.1], [627.1, 369.7], [622.3, 371.0], [617.3, 372.1], [612.1, 372.9], [606.9, 373.5], [601.5, 373.9], [596.0, 374.0], [592.4, 373.9], [588.9, 373.8], [585.4, 373.5], [582.0, 373.1], [578.6, 372.7], [575.2, 372.1], [571.9, 371.4], [568.6, 370.6], [565.3, 369.7], [562.1, 368.6], [558.9, 367.5], [555.7, 366.3], [552.6, 364.9], [549.5, 363.5], [546.5, 362.0], [543.6, 360.3], [540.7, 358.6], [538.0, 356.7], [535.4, 354.8], [532.8, 352.8], [530.4, 350.6], [528.0, 348.4], [525.8, 346.1], [523.6, 343.7], [521.6, 341.1], [519.6, 338.5], [517.8, 335.8], [516.0, 333.0], [514.3, 330.1], [512.8, 327.1], [511.4, 324.1], [510.1, 320.9], [509.0, 317.7], [507.9, 314.4], [507.0, 311.0], [506.2, 307.5], [505.5, 304.0], [505.0, 300.3], [504.6, 296.6], [504.2, 292.8], [504.1, 289.0], [504.0, 285.0], [504, 0], [373, 0], [373, 285], [372.9, 290.9], [372.5, 296.6], [371.8, 302.2], [370.8, 307.5], [369.6, 312.6], [368.1, 317.6], [366.4, 322.4], [364.3, 327.0], [362.0, 331.4], [359.5, 335.6], [356.6, 339.6], [353.5, 343.4], [350.2, 347.0], [346.5, 350.5], [342.7, 353.7], [338.7, 356.7], [334.6, 359.5], [330.3, 362.0], [326.0, 364.3], [321.5, 366.3], [316.9, 368.1], [312.1, 369.7], [307.3, 371.0], [302.3, 372.1], [297.1, 372.9], [291.9, 373.5], [286.5, 373.9], [281.0, 374.0], [277.3, 373.9], [273.7, 373.8], [270.1, 373.5], [266.6, 373.1], [263.1, 372.7], [259.6, 372.1], [256.2, 371.4], [252.9, 370.6], [249.6, 369.7], [246.4, 368.6], [243.2, 367.5], [240.1, 366.3], [237.0, 364.9], [234.0, 363.5], [231.0, 362.0], [228.2, 360.3], [225.4, 358.6], [222.7, 356.7], [220.1, 354.8], [217.7, 352.8], [215.2, 350.6], [212.9, 348.4], [210.7, 346.1], [208.6, 343.7], [206.6, 341.1], [204.6, 338.5], [202.8, 335.8], [201.0, 333.0], [199.3, 330.1], [197.8, 327.1], [196.4, 324.1], [195.1, 320.9], [194.0, 317.7], [192.9, 314.4], [192.0, 311.0], [191.2, 307.5], [190.5, 304.0], [190.0, 300.3], [189.6, 296.6], [189.2, 292.8], [189.1, 289.0], [189.0, 285.0], [189, 0]]], "areas": [-227025]}, "o": {"adv": 569, "contours": [[[285, -10], [274.6, -9.8], [264.4, -9.3], [254.4, -8.5], [244.5, -7.3], [234.7, -5.7], [225.1, -3.8], [215.6, -1.6], [206.3, 0.9], [197.1, 3.8], [188.1, 7.1], [179.2, 10.7], [170.5, 14.6], [161.9, 18.9], [153.5, 23.5], [145.3, 28.4], [137.3, 33.6], [129.5, 39.0], [122.0, 44.6], [114.8, 50.5], [107.8, 56.6], [101.0, 63.0], [94.5, 69.6], [88.2, 76.5], [82.2, 83.6], [76.4, 91.0], [70.8, 98.6], [65.6, 106.4], [60.5, 114.5], [55.7, 122.8], [51.3, 131.2], [47.3, 139.8], [43.6, 148.5], [40.3, 157.3], [37.3, 166.3], [34.6, 175.4], [32.3, 184.6], [30.4, 194.0], [28.8, 203.5], [27.6, 213.2], [26.7, 223.0], [26.2, 232.9], [26.0, 243.0], [26.2, 253.1], [26.7, 263.0], [27.6, 272.8], [28.8, 282.4], [30.3, 291.9], [32.2, 301.2], [34.5, 310.4], [37.1, 319.4], [40.1, 328.3], [43.3, 337.0], [47.0, 345.6], [51.0, 354.1], [55.3, 362.4], [60.0, 370.5], [65.0, 378.5], [70.2, 386.2], [75.7, 393.7], [81.5, 400.9], [87.5, 407.9], [93.7, 414.7], [100.2, 421.2], [107.0, 427.6], [114.0, 433.6], [121.3, 439.5], [128.9, 445.1], [136.7, 450.5], [144.7, 455.6], [153.0, 460.5], [161.5, 465.1], [170.1, 469.4], [178.9, 473.3], [187.8, 476.9], [196.8, 480.2], [206.0, 483.1], [215.2, 485.6], [224.7, 487.8], [234.2, 489.7], [243.9, 491.3], [253.7, 492.5], [263.7, 493.3], [273.8, 493.8], [284.0, 494.0], [294.5, 493.8], [304.8, 493.3], [315.0, 492.5], [325.0, 491.3], [334.9, 489.7], [344.6, 487.8], [354.1, 485.6], [363.5, 483.1], [372.7, 480.2], [381.8, 476.9], [390.7, 473.3], [399.5, 469.4], [408.1, 465.1], [416.5, 460.5], [424.7, 455.6], [432.7, 450.5], [440.4, 445.1], [447.9, 439.5], [455.2, 433.6], [462.1, 427.6], [468.9, 421.2], [475.4, 414.7], [481.6, 407.9], [487.6, 400.9], [493.3, 393.7], [498.8, 386.2], [504.0, 378.5], [509.0, 370.5], [513.7, 362.4], [518.0, 354.1], [522.0, 345.6], [525.7, 337.0], [528.9, 328.3], [531.9, 319.4], [534.5, 310.4], [536.8, 301.2], [538.7, 291.9], [540.2, 282.4], [541.4, 272.8], [542.3, 263.0], [542.8, 253.1], [543.0, 243.0], [542.8, 232.9], [542.3, 223.0], [541.4, 213.2], [540.2, 203.5], [538.7, 194.0], [536.8, 184.6], [534.5, 175.4], [531.9, 166.3], [528.9, 157.3], [525.7, 148.5], [522.0, 139.8], [518.0, 131.2], [513.7, 122.8], [509.0, 114.5], [504.0, 106.4], [498.8, 98.6], [493.3, 91.0], [487.6, 83.6], [481.6, 76.5], [475.4, 69.6], [468.9, 63.0], [462.1, 56.6], [455.2, 50.5], [447.9, 44.6], [440.4, 39.0], [432.7, 33.6], [424.7, 28.4], [416.5, 23.5], [408.1, 18.9], [399.5, 14.6], [390.8, 10.7], [381.9, 7.1], [372.9, 3.8], [363.7, 0.9], [354.4, -1.6], [344.9, -3.8], [335.3, -5.7], [325.5, -7.3], [315.6, -8.5], [305.6, -9.3], [295.4, -9.8]], [[284, 112], [289.2, 112.1], [294.4, 112.3], [299.5, 112.8], [304.4, 113.3], [309.3, 114.1], [314.2, 115.0], [318.9, 116.1], [323.5, 117.4], [328.1, 118.8], [332.5, 120.4], [336.9, 122.2], [341.2, 124.1], [345.4, 126.2], [349.5, 128.5], [353.5, 130.9], [357.4, 133.5], [361.1, 136.2], [364.7, 139.0], [368.2, 141.9], [371.5, 145.0], [374.8, 148.2], [377.8, 151.6], [380.8, 155.1], [383.6, 158.7], [386.3, 162.5], [388.8, 166.3], [391.2, 170.4], [393.5, 174.5], [395.6, 178.8], [397.6, 183.1], [399.4, 187.5], [401.1, 192.1], [402.6, 196.7], [403.9, 201.3], [405.1, 206.1], [406.2, 211.0], [407.0, 215.9], [407.7, 221.0], [408.3, 226.1], [408.7, 231.3], [408.9, 236.6], [409.0, 242.0], [408.9, 247.4], [408.7, 252.7], [408.3, 257.9], [407.7, 263.0], [407.0, 268.0], [406.1, 272.9], [405.0, 277.8], [403.8, 282.5], [402.4, 287.1], [400.8, 291.7], [399.1, 296.2], [397.2, 300.5], [395.2, 304.8], [393.0, 309.0], [390.7, 313.1], [388.2, 317.0], [385.6, 320.9], [382.9, 324.6], [380.0, 328.1], [377.1, 331.6], [374.0, 334.9], [370.8, 338.1], [367.5, 341.1], [364.0, 344.1], [360.4, 346.9], [356.8, 349.5], [352.9, 352.1], [349.0, 354.5], [345.0, 356.8], [340.8, 358.9], [336.6, 360.8], [332.3, 362.6], [327.9, 364.2], [323.3, 365.6], [318.8, 366.9], [314.1, 368.0], [309.3, 368.9], [304.4, 369.7], [299.4, 370.2], [294.4, 370.7], [289.2, 370.9], [284.0, 371.0], [278.9, 370.9], [273.9, 370.7], [268.9, 370.2], [264.1, 369.7], [259.3, 368.9], [254.6, 368.0], [250.0, 366.9], [245.5, 365.6], [241.0, 364.2], [236.7, 362.6], [232.4, 360.8], [228.2, 358.9], [224.0, 356.8], [220.0, 354.5], [216.1, 352.1], [212.2, 349.5], [208.6, 346.9], [205.0, 344.1], [201.5, 341.1], [198.2, 338.1], [195.0, 334.9], [191.9, 331.6], [189.0, 328.1], [186.1, 324.6], [183.4, 320.9], [180.8, 317.0], [178.3, 313.1], [176.0, 309.0], [173.8, 304.8], [171.8, 300.5], [169.9, 296.2], [168.2, 291.7], [166.6, 287.1], [165.2, 282.5], [164.0, 277.8], [162.9, 272.9], [162.0, 268.0], [161.3, 263.0], [160.7, 257.9], [160.3, 252.7], [160.1, 247.4], [160.0, 242.0], [160.1, 236.6], [160.3, 231.3], [160.7, 226.1], [161.3, 221.0], [162.0, 215.9], [162.9, 211.0], [164.0, 206.1], [165.2, 201.3], [166.6, 196.7], [168.2, 192.1], [169.9, 187.5], [171.8, 183.1], [173.8, 178.8], [176.0, 174.5], [178.3, 170.4], [180.8, 166.3], [183.4, 162.5], [186.1, 158.7], [189.0, 155.1], [191.9, 151.6], [195.0, 148.2], [198.2, 145.0], [201.5, 141.9], [205.0, 139.0], [208.6, 136.2], [212.2, 133.5], [216.1, 130.9], [220.0, 128.5], [224.0, 126.2], [228.2, 124.1], [232.4, 122.2], [236.7, 120.4], [241.0, 118.8], [245.5, 117.4], [250.0, 116.1], [254.6, 115.0], [259.3, 114.1], [264.1, 113.3], [268.9, 112.8], [273.9, 112.3], [278.9, 112.1]]], "areas": [-206245, 51683]}, "r": {"adv": 434, "contours": [[[58, 0], [58, 483], [189, 483], [189, 440], [189.1, 440.0], [189.3, 440.0], [189.4, 440.0], [189.5, 440.1], [189.6, 440.1], [189.7, 440.2], [189.8, 440.2], [189.8, 440.3], [189.9, 440.4], [189.9, 440.5], [190.0, 440.6], [190.0, 440.7], [190.0, 440.9], [190.0, 441.0], [196.3, 448.2], [203.1, 454.8], [210.2, 460.9], [217.7, 466.5], [225.6, 471.5], [233.8, 476.0], [242.5, 480.0], [251.6, 483.4], [261.0, 486.4], [270.8, 488.8], [281.0, 490.6], [291.6, 491.9], [302.6, 492.7], [314.0, 493.0], [319.0, 492.9], [323.9, 492.8], [328.7, 492.5], [333.4, 492.1], [338.1, 491.5], [342.7, 490.9], [347.2, 490.1], [351.7, 489.2], [356.1, 488.2], [360.4, 487.1], [364.7, 485.9], [368.9, 484.6], [373.0, 483.1], [377.0, 481.5], [381.0, 479.8], [384.9, 477.9], [388.8, 475.9], [392.6, 473.7], [396.4, 471.4], [400.1, 469.0], [403.8, 466.4], [407.4, 463.6], [410.9, 460.7], [414.4, 457.7], [417.9, 454.5], [421.3, 451.1], [424.7, 447.6], [428.0, 444.0], [346, 350], [344.4, 351.7], [342.8, 353.3], [341.1, 354.9], [339.3, 356.4], [337.6, 357.8], [335.7, 359.2], [333.9, 360.5], [332.0, 361.8], [330.0, 362.9], [328.0, 364.1], [325.9, 365.2], [323.8, 366.2], [321.7, 367.1], [319.5, 368.0], [317.3, 368.8], [315.0, 369.6], [312.7, 370.3], [310.3, 370.9], [307.9, 371.5], [305.4, 372.0], [302.9, 372.5], [300.3, 372.9], [297.7, 373.2], [295.1, 373.5], [292.4, 373.7], [289.6, 373.9], [286.8, 374.0], [284.0, 374.0], [278.1, 373.9], [272.3, 373.5], [266.7, 372.8], [261.3, 371.8], [256.0, 370.6], [250.8, 369.1], [245.9, 367.4], [241.1, 365.3], [236.4, 363.0], [231.9, 360.5], [227.6, 357.6], [223.4, 354.5], [219.4, 351.2], [215.5, 347.5], [211.8, 343.6], [208.5, 339.4], [205.4, 334.9], [202.5, 330.1], [200.0, 325.1], [197.7, 319.7], [195.6, 314.1], [193.9, 308.2], [192.4, 302.1], [191.2, 295.6], [190.2, 288.9], [189.5, 281.9], [189.1, 274.6], [189.0, 267.0], [189, 0]]], "areas": [-88587]}, "p": {"adv": 588, "contours": [[[326, -10], [318.6, -9.9], [311.3, -9.6], [304.2, -9.0], [297.1, -8.3], [290.1, -7.3], [283.3, -6.1], [276.5, -4.8], [269.8, -3.1], [263.3, -1.3], [256.8, 0.7], [250.5, 3.0], [244.2, 5.4], [238.1, 8.1], [232.0, 11.0], [228.5, 12.9], [225.0, 14.8], [221.6, 16.8], [218.2, 18.8], [214.9, 20.9], [211.7, 23.1], [208.5, 25.2], [205.4, 27.5], [202.3, 29.8], [199.3, 32.1], [196.4, 34.5], [193.6, 37.0], [190.7, 39.5], [188.0, 42.0], [188, -202], [58, -202], [58, 483], [189, 483], [189, 440], [191.7, 442.5], [194.5, 445.0], [197.4, 447.5], [200.3, 449.9], [203.2, 452.2], [206.2, 454.5], [209.2, 456.8], [212.3, 458.9], [215.5, 461.1], [218.7, 463.2], [221.9, 465.2], [225.2, 467.2], [228.6, 469.1], [232.0, 471.0], [238.1, 474.0], [244.2, 476.8], [250.5, 479.4], [256.8, 481.8], [263.3, 483.9], [269.8, 485.8], [276.5, 487.5], [283.3, 489.0], [290.1, 490.2], [297.1, 491.2], [304.2, 492.0], [311.3, 492.6], [318.6, 492.9], [326.0, 493.0], [335.5, 492.8], [344.9, 492.3], [354.1, 491.5], [363.1, 490.3], [372.1, 488.8], [380.9, 486.9], [389.5, 484.8], [398.0, 482.2], [406.4, 479.4], [414.6, 476.2], [422.6, 472.6], [430.6, 468.8], [438.4, 464.5], [446.0, 460.0], [453.5, 455.2], [460.7, 450.1], [467.7, 444.8], [474.4, 439.2], [481.0, 433.4], [487.3, 427.3], [493.4, 421.0], [499.2, 414.4], [504.8, 407.7], [510.2, 400.6], [515.4, 393.3], [520.3, 385.8], [525.0, 378.0], [529.5, 370.0], [533.7, 361.8], [537.6, 353.4], [541.2, 344.9], [544.4, 336.2], [547.4, 327.4], [550.0, 318.4], [552.4, 309.2], [554.4, 300.0], [556.1, 290.5], [557.5, 280.9], [558.6, 271.2], [559.4, 261.3], [559.8, 251.2], [560.0, 241.0], [559.8, 230.9], [559.4, 221.0], [558.6, 211.2], [557.5, 201.6], [556.1, 192.1], [554.4, 182.7], [552.4, 173.5], [550.0, 164.4], [547.4, 155.5], [544.4, 146.7], [541.2, 138.1], [537.6, 129.6], [533.7, 121.2], [529.5, 113.0], [525.0, 105.0], [520.3, 97.2], [515.4, 89.7], [510.2, 82.4], [504.8, 75.3], [499.2, 68.6], [493.4, 62.0], [487.3, 55.7], [481.0, 49.6], [474.4, 43.8], [467.7, 38.2], [460.7, 32.9], [453.5, 27.8], [446.0, 23.0], [438.4, 18.5], [430.6, 14.2], [422.6, 10.4], [414.6, 6.8], [406.4, 3.6], [398.0, 0.8], [389.5, -1.8], [380.9, -3.9], [372.1, -5.8], [363.1, -7.3], [354.1, -8.5], [344.9, -9.3], [335.5, -9.8]], [[303, 111], [308.1, 111.1], [313.1, 111.3], [318.1, 111.8], [322.9, 112.3], [327.7, 113.1], [332.4, 114.0], [337.0, 115.1], [341.5, 116.4], [346.0, 117.8], [350.3, 119.4], [354.6, 121.2], [358.8, 123.1], [363.0, 125.2], [367.0, 127.5], [370.9, 129.9], [374.7, 132.5], [378.4, 135.2], [382.0, 138.0], [385.4, 140.9], [388.7, 144.0], [391.9, 147.2], [394.9, 150.6], [397.8, 154.1], [400.6, 157.7], [403.3, 161.5], [405.8, 165.3], [408.2, 169.4], [410.5, 173.5], [412.6, 177.8], [414.6, 182.1], [416.4, 186.6], [418.1, 191.1], [419.6, 195.8], [420.9, 200.5], [422.1, 205.4], [423.2, 210.3], [424.0, 215.4], [424.7, 220.5], [425.3, 225.7], [425.7, 231.1], [425.9, 236.5], [426.0, 242.0], [425.9, 247.4], [425.7, 252.7], [425.3, 257.9], [424.7, 263.0], [424.0, 268.1], [423.2, 273.0], [422.1, 277.9], [420.9, 282.7], [419.6, 287.3], [418.1, 291.9], [416.4, 296.5], [414.6, 300.9], [412.6, 305.2], [410.5, 309.5], [408.2, 313.6], [405.8, 317.7], [403.3, 321.5], [400.6, 325.3], [397.8, 328.9], [394.9, 332.4], [391.9, 335.8], [388.7, 339.0], [385.4, 342.1], [382.0, 345.0], [378.4, 347.8], [374.7, 350.5], [370.9, 353.1], [367.0, 355.5], [363.0, 357.8], [358.8, 359.9], [354.7, 361.8], [350.4, 363.6], [346.0, 365.2], [341.6, 366.6], [337.1, 367.9], [332.6, 369.0], [327.9, 369.9], [323.2, 370.7], [318.4, 371.2], [313.5, 371.7], [308.5, 371.9], [303.5, 372.0], [298.5, 371.9], [293.5, 371.7], [288.6, 371.2], [283.8, 370.7], [279.1, 369.9], [274.4, 369.0], [269.9, 367.9], [265.4, 366.6], [261.0, 365.2], [256.6, 363.6], [252.3, 361.8], [248.2, 359.9], [244.0, 357.8], [240.0, 355.5], [236.1, 353.1], [232.3, 350.5], [228.6, 347.8], [225.0, 345.0], [221.6, 342.1], [218.3, 339.0], [215.1, 335.8], [212.1, 332.4], [209.2, 328.9], [206.4, 325.3], [203.7, 321.5], [201.2, 317.7], [198.8, 313.6], [196.5, 309.5], [194.4, 305.2], [192.4, 300.9], [190.6, 296.5], [188.9, 291.9], [187.4, 287.3], [186.1, 282.7], [184.9, 277.9], [183.8, 273.0], [183.0, 268.1], [182.3, 263.0], [181.7, 257.9], [181.3, 252.7], [181.1, 247.4], [181.0, 242.0], [181.1, 236.5], [181.3, 231.1], [181.7, 225.7], [182.3, 220.5], [183.0, 215.4], [183.8, 210.3], [184.9, 205.4], [186.1, 200.5], [187.4, 195.8], [188.9, 191.1], [190.6, 186.6], [192.4, 182.1], [194.4, 177.8], [196.5, 173.5], [198.8, 169.4], [201.2, 165.3], [203.7, 161.5], [206.3, 157.7], [209.1, 154.1], [212.0, 150.6], [215.0, 147.2], [218.1, 144.0], [221.4, 140.9], [224.8, 138.0], [228.3, 135.2], [231.9, 132.5], [235.6, 129.9], [239.5, 127.5], [243.5, 125.2], [247.5, 123.1], [251.7, 121.2], [255.9, 119.4], [260.2, 117.8], [264.6, 116.4], [269.1, 115.1], [273.7, 114.0], [278.4, 113.1], [283.1, 112.3], [288.0, 111.8], [292.9, 111.3], [297.9, 111.1]]], "areas": [-247627, 51335]}, "h": {"adv": 562, "contours": [[[383, 0], [383, 277], [382.9, 283.1], [382.4, 289.0], [381.8, 294.7], [380.8, 300.3], [379.6, 305.7], [378.0, 310.9], [376.2, 316.0], [374.2, 320.9], [371.8, 325.7], [369.2, 330.3], [366.3, 334.7], [363.2, 339.0], [359.7, 343.1], [356.0, 347.0], [352.1, 350.7], [348.0, 354.2], [343.7, 357.3], [339.3, 360.2], [334.7, 362.8], [329.9, 365.2], [325.0, 367.2], [319.9, 369.0], [314.7, 370.6], [309.3, 371.8], [303.7, 372.8], [298.0, 373.4], [292.1, 373.9], [286.0, 374.0], [282.0, 373.9], [278.1, 373.8], [274.3, 373.4], [270.5, 373.0], [266.8, 372.5], [263.1, 371.8], [259.5, 371.0], [256.0, 370.1], [252.5, 369.0], [249.1, 367.9], [245.7, 366.6], [242.4, 365.2], [239.2, 363.7], [236.0, 362.0], [232.9, 360.2], [229.9, 358.4], [227.0, 356.4], [224.2, 354.3], [221.5, 352.2], [218.9, 349.9], [216.4, 347.5], [214.0, 345.0], [211.6, 342.4], [209.4, 339.8], [207.3, 337.0], [205.3, 334.1], [203.3, 331.1], [201.5, 328.0], [199.8, 324.8], [198.2, 321.6], [196.7, 318.2], [195.4, 314.9], [194.2, 311.4], [193.1, 307.9], [192.1, 304.2], [191.3, 300.6], [190.6, 296.8], [190.0, 293.0], [189.6, 289.1], [189.3, 285.1], [189.1, 281.1], [189.0, 277.0], [189, 0], [58, 0], [58, 723], [189, 723], [189, 438], [191.5, 440.5], [194.0, 443.0], [196.6, 445.5], [199.2, 447.9], [201.9, 450.2], [204.7, 452.5], [207.5, 454.8], [210.4, 456.9], [213.3, 459.1], [216.3, 461.2], [219.4, 463.2], [222.6, 465.2], [225.7, 467.1], [229.0, 469.0], [235.1, 472.3], [241.3, 475.4], [247.6, 478.2], [254.1, 480.8], [260.7, 483.1], [267.4, 485.2], [274.2, 487.0], [281.2, 488.6], [288.4, 489.9], [295.6, 491.0], [303.0, 491.9], [310.6, 492.5], [318.2, 492.9], [326.0, 493.0], [333.8, 492.9], [341.5, 492.5], [349.0, 491.9], [356.4, 491.0], [363.7, 489.9], [370.8, 488.6], [377.9, 487.0], [384.8, 485.2], [391.5, 483.1], [398.2, 480.8], [404.7, 478.2], [411.1, 475.4], [417.4, 472.3], [423.5, 469.0], [429.5, 465.5], [435.3, 461.8], [440.9, 457.9], [446.3, 453.8], [451.5, 449.6], [456.5, 445.1], [461.4, 440.5], [466.0, 435.7], [470.5, 430.7], [474.8, 425.5], [478.9, 420.2], [482.8, 414.6], [486.5, 408.9], [490.0, 403.0], [493.3, 396.9], [496.4, 390.7], [499.2, 384.4], [501.8, 377.9], [504.1, 371.3], [506.2, 364.6], [508.0, 357.8], [509.6, 350.8], [510.9, 343.6], [512.0, 336.4], [512.9, 329.0], [513.5, 321.4], [513.9, 313.8], [514.0, 306.0], [514, 0]]], "areas": [-176833]}, "e": {"adv": 541, "contours": [[[289, -10], [278.2, -9.8], [267.6, -9.3], [257.2, -8.5], [247.0, -7.3], [236.9, -5.9], [227.0, -4.0], [217.2, -1.9], [207.7, 0.6], [198.3, 3.4], [189.1, 6.6], [180.1, 10.1], [171.2, 13.9], [162.5, 18.0], [154.0, 22.5], [145.7, 27.3], [137.6, 32.3], [129.8, 37.6], [122.3, 43.1], [115.0, 48.8], [107.9, 54.9], [101.1, 61.1], [94.6, 67.6], [88.3, 74.4], [82.2, 81.4], [76.4, 88.7], [70.9, 96.2], [65.6, 104.0], [60.5, 112.0], [55.7, 120.2], [51.3, 128.6], [47.3, 137.2], [43.6, 145.9], [40.3, 154.8], [37.3, 163.8], [34.6, 173.0], [32.3, 182.4], [30.4, 191.9], [28.8, 201.6], [27.6, 211.4], [26.7, 221.5], [26.2, 231.7], [26.0, 242.0], [26.2, 252.2], [26.7, 262.3], [27.5, 272.1], [28.7, 281.9], [30.3, 291.5], [32.2, 300.9], [34.4, 310.1], [36.9, 319.2], [39.8, 328.2], [43.1, 336.9], [46.7, 345.6], [50.6, 354.0], [54.9, 362.3], [59.5, 370.5], [64.4, 378.5], [69.6, 386.2], [75.0, 393.7], [80.6, 400.9], [86.6, 407.9], [92.7, 414.7], [99.1, 421.2], [105.8, 427.6], [112.7, 433.6], [119.9, 439.5], [127.3, 445.1], [134.9, 450.5], [142.8, 455.6], [151.0, 460.5], [159.4, 465.1], [167.8, 469.4], [176.5, 473.3], [185.2, 476.9], [194.1, 480.2], [203.1, 483.1], [212.2, 485.6], [221.5, 487.8], [230.9, 489.7], [240.5, 491.3], [250.2, 492.5], [260.0, 493.3], [269.9, 493.8], [280.0, 494.0], [289.9, 493.8], [299.7, 493.4], [309.2, 492.6], [318.7, 491.4], [327.9, 490.0], [337.0, 488.2], [345.9, 486.1], [354.6, 483.7], [363.2, 481.0], [371.6, 477.9], [379.8, 474.6], [387.9, 470.9], [395.8, 466.8], [403.5, 462.5], [411.0, 457.9], [418.3, 453.0], [425.4, 447.9], [432.2, 442.6], [438.8, 437.1], [445.1, 431.3], [451.2, 425.2], [457.1, 419.0], [462.8, 412.5], [468.2, 405.8], [473.4, 398.8], [478.3, 391.6], [483.0, 384.2], [487.5, 376.5], [491.7, 368.6], [495.6, 360.6], [499.2, 352.5], [502.4, 344.2], [505.4, 335.7], [508.0, 327.1], [510.4, 318.4], [512.4, 309.5], [514.1, 300.4], [515.5, 291.2], [516.6, 281.9], [517.4, 272.4], [517.8, 262.8], [518.0, 253.0], [518.0, 251.1], [518.0, 249.3], [517.9, 247.4], [517.9, 245.5], [517.8, 243.7], [517.7, 241.8], [517.6, 239.9], [517.5, 238.0], [517.4, 236.1], [517.2, 234.2], [517.1, 232.3], [516.9, 230.3], [516.7, 228.4], [516.5, 226.5], [516.3, 224.6], [516.0, 222.6], [515.7, 220.6], [515.4, 218.5], [515.1, 216.4], [514.8, 214.3], [514.4, 212.1], [514.0, 209.9], [513.5, 207.7], [513.1, 205.4], [512.6, 203.1], [512.1, 200.8], [511.6, 198.4], [511.0, 196.0], [158, 195], [158.6, 192.9], [159.2, 190.8], [159.9, 188.7], [160.5, 186.6], [161.2, 184.5], [162.0, 182.5], [162.8, 180.5], [163.6, 178.5], [164.4, 176.5], [165.2, 174.6], [166.1, 172.7], [167.1, 170.8], [168.0, 168.9], [169.0, 167.0], [171.4, 162.5], [173.9, 158.2], [176.5, 154.0], [179.4, 149.9], [182.3, 146.0], [185.5, 142.2], [188.8, 138.6], [192.2, 135.2], [195.8, 131.8], [199.5, 128.7], [203.4, 125.7], [207.4, 122.8], [211.6, 120.1], [216.0, 117.5], [220.5, 115.1], [225.1, 112.9], [229.7, 110.8], [234.5, 108.9], [239.4, 107.2], [244.4, 105.7], [249.5, 104.4], [254.7, 103.2], [260.0, 102.2], [265.4, 101.4], [270.9, 100.8], [276.5, 100.4], [282.2, 100.1], [288.0, 100.0], [293.2, 100.1], [298.4, 100.3], [303.5, 100.6], [308.6, 101.0], [313.5, 101.6], [318.4, 102.3], [323.2, 103.1], [328.0, 104.1], [332.7, 105.2], [337.3, 106.4], [341.8, 107.7], [346.3, 109.2], [350.7, 110.8], [355.0, 112.5], [359.2, 114.3], [363.4, 116.3], [367.5, 118.4], [371.5, 120.7], [375.4, 123.0], [379.2, 125.5], [383.0, 128.1], [386.7, 130.9], [390.3, 133.7], [393.8, 136.7], [397.2, 139.9], [400.6, 143.1], [403.8, 146.5], [407.0, 150.0], [484, 73], [478.9, 67.2], [473.7, 61.7], [468.3, 56.3], [462.7, 51.2], [457.0, 46.3], [451.2, 41.5], [445.1, 37.0], [438.9, 32.7], [432.6, 28.6], [426.1, 24.6], [419.4, 20.9], [412.6, 17.4], [405.6, 14.1], [398.5, 11.0], [391.2, 8.1], [383.9, 5.4], [376.5, 3.0], [368.9, 0.7], [361.3, -1.3], [353.7, -3.1], [345.9, -4.8], [338.0, -6.1], [330.1, -7.3], [322.0, -8.3], [313.9, -9.0], [305.7, -9.6], [297.4, -9.9]], [[158, 293], [392, 293], [391.4, 295.6], [390.8, 298.1], [390.1, 300.5], [389.5, 303.0], [388.8, 305.3], [388.0, 307.7], [387.2, 310.0], [386.4, 312.3], [385.6, 314.5], [384.8, 316.7], [383.9, 318.8], [382.9, 320.9], [382.0, 323.0], [381.0, 325.0], [379.1, 329.1], [377.0, 333.0], [374.9, 336.8], [372.6, 340.5], [370.1, 344.0], [367.6, 347.4], [364.9, 350.6], [362.1, 353.7], [359.1, 356.7], [356.1, 359.5], [352.9, 362.2], [349.5, 364.8], [346.1, 367.2], [342.5, 369.5], [338.8, 371.6], [335.0, 373.6], [331.0, 375.4], [327.0, 377.1], [322.8, 378.6], [318.5, 379.9], [314.1, 381.1], [309.6, 382.2], [305.0, 383.0], [300.2, 383.7], [295.3, 384.3], [290.3, 384.7], [285.2, 384.9], [280.0, 385.0], [274.5, 384.9], [269.1, 384.6], [263.7, 384.2], [258.5, 383.6], [253.4, 382.8], [248.4, 381.8], [243.5, 380.6], [238.7, 379.3], [234.0, 377.8], [229.4, 376.1], [224.9, 374.2], [220.5, 372.1], [216.2, 369.9], [212.0, 367.5], [207.9, 364.9], [204.0, 362.2], [200.2, 359.4], [196.6, 356.4], [193.1, 353.3], [189.7, 350.0], [186.5, 346.6], [183.4, 343.1], [180.5, 339.4], [177.7, 335.6], [175.1, 331.7], [172.6, 327.6], [170.2, 323.4], [168.0, 319.0], [167.2, 317.3], [166.3, 315.5], [165.5, 313.8], [164.7, 312.0], [164.0, 310.2], [163.2, 308.3], [162.5, 306.5], [161.8, 304.6], [161.1, 302.7], [160.4, 300.8], [159.8, 298.9], [159.2, 297.0], [158.6, 295.0]]], "areas": [-172209, 16373]}}}
|