@sarjallab09/figma-intelligence 1.1.0 → 1.2.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/README.md +69 -36
- package/dist/bin/cli.js +2 -0
- package/dist/design-bridge/bridge.js +2 -0
- package/dist/figma-bridge-plugin/bridge-relay.js +2 -0
- package/dist/figma-bridge-plugin/code.js +1 -0
- package/{figma-bridge-plugin → dist/figma-bridge-plugin}/package-lock.json +0 -3
- package/dist/figma-bridge-plugin/ui.html +4970 -0
- package/dist/figma-intelligence-layer/dist/index.js +2 -0
- package/dist/scripts/clean-existing-chunks.js +2 -0
- package/dist/scripts/connect-ai-tool.js +2 -0
- package/dist/scripts/convert-hub-pdfs.js +2 -0
- package/dist/scripts/figma-mcp-status.js +2 -0
- package/dist/scripts/register-codex-mcp.js +2 -0
- package/dist/scripts/test-copilot-chat.js +2 -0
- package/package.json +11 -8
- package/bin/cli.js +0 -859
- package/design-bridge/bridge.js +0 -196
- package/design-bridge/lib/assets.js +0 -367
- package/design-bridge/lib/prompt.js +0 -85
- package/design-bridge/lib/server.js +0 -66
- package/design-bridge/lib/stitch.js +0 -37
- package/design-bridge/lib/tokens.js +0 -82
- package/design-bridge/package-lock.json +0 -579
- package/figma-bridge-plugin/README.md +0 -97
- package/figma-bridge-plugin/anthropic-chat-runner.js +0 -192
- package/figma-bridge-plugin/bridge-relay.js +0 -2505
- package/figma-bridge-plugin/chat-runner.js +0 -485
- package/figma-bridge-plugin/code.js +0 -1534
- package/figma-bridge-plugin/codex-runner.js +0 -505
- package/figma-bridge-plugin/component-schemas.js +0 -110
- package/figma-bridge-plugin/content-context.js +0 -869
- package/figma-bridge-plugin/create-button.js +0 -216
- package/figma-bridge-plugin/gemini-cli-runner.js +0 -291
- package/figma-bridge-plugin/gemini-runner.js +0 -187
- package/figma-bridge-plugin/html-to-figma.js +0 -927
- package/figma-bridge-plugin/knowledge-hub/.gitkeep +0 -0
- package/figma-bridge-plugin/knowledge-hub/uspec-references/anatomy-spec.md +0 -159
- package/figma-bridge-plugin/knowledge-hub/uspec-references/api-spec.md +0 -162
- package/figma-bridge-plugin/knowledge-hub/uspec-references/color-spec.md +0 -148
- package/figma-bridge-plugin/knowledge-hub/uspec-references/full-spec-template.md +0 -314
- package/figma-bridge-plugin/knowledge-hub/uspec-references/property-spec.md +0 -175
- package/figma-bridge-plugin/knowledge-hub/uspec-references/screen-reader-spec.md +0 -180
- package/figma-bridge-plugin/knowledge-hub/uspec-references/structure-spec.md +0 -165
- package/figma-bridge-plugin/perplexity-runner.js +0 -188
- package/figma-bridge-plugin/references/SKILL.md +0 -178
- package/figma-bridge-plugin/references/anatomy-spec.md +0 -159
- package/figma-bridge-plugin/references/api-spec.md +0 -162
- package/figma-bridge-plugin/references/color-spec.md +0 -148
- package/figma-bridge-plugin/references/full-spec-template.md +0 -314
- package/figma-bridge-plugin/references/property-spec.md +0 -175
- package/figma-bridge-plugin/references/screen-reader-spec.md +0 -180
- package/figma-bridge-plugin/references/structure-spec.md +0 -165
- package/figma-bridge-plugin/shared-prompt-config.js +0 -645
- package/figma-bridge-plugin/spec-helpers/build-table.js +0 -269
- package/figma-bridge-plugin/spec-helpers/classify-elements.js +0 -189
- package/figma-bridge-plugin/spec-helpers/index.js +0 -35
- package/figma-bridge-plugin/spec-helpers/parse-figma-link.js +0 -49
- package/figma-bridge-plugin/spec-helpers/position-markers.js +0 -158
- package/figma-bridge-plugin/stitch-auth.js +0 -322
- package/figma-bridge-plugin/stitch-runner.js +0 -1427
- package/figma-bridge-plugin/token-resolver.js +0 -107
- package/figma-bridge-plugin/ui.html +0 -4542
- package/figma-intelligence-layer/.env.example +0 -39
- package/figma-intelligence-layer/docs/local-image-generation.md +0 -60
- package/figma-intelligence-layer/examples/comfyui-workflow-template.example.json +0 -101
- package/figma-intelligence-layer/jest.config.js +0 -14
- package/figma-intelligence-layer/mcp-config.json +0 -19
- package/figma-intelligence-layer/package-lock.json +0 -5892
- package/figma-intelligence-layer/scripts/setup-comfyui-local.sh +0 -67
- package/figma-intelligence-layer/scripts/start-comfyui.sh +0 -33
- package/figma-intelligence-layer/src/index.ts +0 -2233
- package/figma-intelligence-layer/src/shared/auto-layout-validator.ts +0 -404
- package/figma-intelligence-layer/src/shared/cache.ts +0 -187
- package/figma-intelligence-layer/src/shared/color-operations.ts +0 -533
- package/figma-intelligence-layer/src/shared/color-utils.ts +0 -138
- package/figma-intelligence-layer/src/shared/component-script-builder.ts +0 -413
- package/figma-intelligence-layer/src/shared/component-templates.ts +0 -2767
- package/figma-intelligence-layer/src/shared/concept-taxonomy.ts +0 -694
- package/figma-intelligence-layer/src/shared/decision-log.ts +0 -128
- package/figma-intelligence-layer/src/shared/design-system-context.ts +0 -568
- package/figma-intelligence-layer/src/shared/design-system-intelligence.ts +0 -131
- package/figma-intelligence-layer/src/shared/design-system-matcher.ts +0 -184
- package/figma-intelligence-layer/src/shared/design-system-normalizers.ts +0 -196
- package/figma-intelligence-layer/src/shared/design-system-tokens.ts +0 -295
- package/figma-intelligence-layer/src/shared/dtcg-validator.ts +0 -530
- package/figma-intelligence-layer/src/shared/enrichment-pipeline.ts +0 -671
- package/figma-intelligence-layer/src/shared/figma-bridge.ts +0 -1418
- package/figma-intelligence-layer/src/shared/font-config.ts +0 -126
- package/figma-intelligence-layer/src/shared/icon-catalog.ts +0 -360
- package/figma-intelligence-layer/src/shared/icon-fetch.ts +0 -80
- package/figma-intelligence-layer/src/shared/prototype-script-builder.ts +0 -162
- package/figma-intelligence-layer/src/shared/response-compression.ts +0 -440
- package/figma-intelligence-layer/src/shared/semantic-token-catalog.ts +0 -324
- package/figma-intelligence-layer/src/shared/token-binder.ts +0 -505
- package/figma-intelligence-layer/src/shared/token-math.ts +0 -427
- package/figma-intelligence-layer/src/shared/token-naming.ts +0 -468
- package/figma-intelligence-layer/src/shared/token-utils.ts +0 -420
- package/figma-intelligence-layer/src/shared/types.ts +0 -346
- package/figma-intelligence-layer/src/shared/typography-presets.ts +0 -94
- package/figma-intelligence-layer/src/shared/unsplash.ts +0 -165
- package/figma-intelligence-layer/src/shared/vision-client.ts +0 -607
- package/figma-intelligence-layer/src/shared/vision-provider-anthropic.ts +0 -334
- package/figma-intelligence-layer/src/shared/vision-provider-openai.ts +0 -446
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-handler.ts +0 -782
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotate-renderer.ts +0 -496
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/a11y-annotation-kit.ts +0 -230
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/colorblind-sim.ts +0 -66
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/index.ts +0 -810
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-analyzer.ts +0 -1191
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-figma-page.ts +0 -1346
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/keyboard-sr-order-handler.ts +0 -148
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-figma-page.ts +0 -499
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/vpat-report.ts +0 -910
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-checker.ts +0 -989
- package/figma-intelligence-layer/src/tools/phase1-vision/a11y-audit/wcag-criteria.ts +0 -1160
- package/figma-intelligence-layer/src/tools/phase1-vision/design-from-ref/index.ts +0 -424
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/component-recognizer.ts +0 -38
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/ds-matcher.ts +0 -111
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/font-matcher.ts +0 -114
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/icon-resolver.ts +0 -103
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/index.ts +0 -1060
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/layout-segmenter.ts +0 -18
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/token-inferencer.ts +0 -39
- package/figma-intelligence-layer/src/tools/phase1-vision/screen-cloner/vision-pipeline.ts +0 -58
- package/figma-intelligence-layer/src/tools/phase1-vision/sketch-to-design/index.ts +0 -298
- package/figma-intelligence-layer/src/tools/phase1-vision/visual-audit/index.ts +0 -197
- package/figma-intelligence-layer/src/tools/phase2-accuracy/component-audit/index.ts +0 -494
- package/figma-intelligence-layer/src/tools/phase2-accuracy/intent-translator/index.ts +0 -356
- package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/container-patterns.ts +0 -123
- package/figma-intelligence-layer/src/tools/phase2-accuracy/layout-intelligence/index.ts +0 -663
- package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/built-in-rules.yaml +0 -56
- package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/index.ts +0 -614
- package/figma-intelligence-layer/src/tools/phase2-accuracy/lint-rules/rule-engine.ts +0 -113
- package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/color-theory.ts +0 -178
- package/figma-intelligence-layer/src/tools/phase2-accuracy/theme-generator/index.ts +0 -470
- package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/index.ts +0 -429
- package/figma-intelligence-layer/src/tools/phase2-accuracy/variant-expander/token-override-maps.ts +0 -226
- package/figma-intelligence-layer/src/tools/phase3-generation/ai-image-insert/index.ts +0 -535
- package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/index.ts +0 -660
- package/figma-intelligence-layer/src/tools/phase3-generation/component-archaeologist/pattern-fingerprints.ts +0 -209
- package/figma-intelligence-layer/src/tools/phase3-generation/composition-builder/index.ts +0 -540
- package/figma-intelligence-layer/src/tools/phase3-generation/figma-animated-build.ts +0 -391
- package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/index.ts +0 -2019
- package/figma-intelligence-layer/src/tools/phase3-generation/page-architect/screen-templates.ts +0 -131
- package/figma-intelligence-layer/src/tools/phase3-generation/prototype-map/index.ts +0 -381
- package/figma-intelligence-layer/src/tools/phase3-generation/prototype-wire/index.ts +0 -565
- package/figma-intelligence-layer/src/tools/phase3-generation/swarm-build/index.ts +0 -764
- package/figma-intelligence-layer/src/tools/phase3-generation/system-drift/index.ts +0 -535
- package/figma-intelligence-layer/src/tools/phase3-generation/unsplash-search/index.ts +0 -84
- package/figma-intelligence-layer/src/tools/phase3-generation/url-to-frame/index.ts +0 -401
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/css-animations.ts +0 -68
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/framer-motion.ts +0 -78
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/code-generators/swift-animations.ts +0 -93
- package/figma-intelligence-layer/src/tools/phase4-sync/animation-specifier/index.ts +0 -596
- package/figma-intelligence-layer/src/tools/phase4-sync/ci-check/index.ts +0 -462
- package/figma-intelligence-layer/src/tools/phase4-sync/export-tokens/index.ts +0 -1470
- package/figma-intelligence-layer/src/tools/phase4-sync/generate-component-code/index.ts +0 -829
- package/figma-intelligence-layer/src/tools/phase4-sync/handoff-spec/index.ts +0 -702
- package/figma-intelligence-layer/src/tools/phase4-sync/icon-library-sync/index.ts +0 -483
- package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/index.ts +0 -501
- package/figma-intelligence-layer/src/tools/phase4-sync/sync-from-code/storybook-parser.ts +0 -106
- package/figma-intelligence-layer/src/tools/phase4-sync/watch-docs/index.ts +0 -676
- package/figma-intelligence-layer/src/tools/phase4-sync/webhook-listener/index.ts +0 -560
- package/figma-intelligence-layer/src/tools/phase5-governance/apg-doc/index.ts +0 -1043
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/component-detection.ts +0 -620
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/anatomy.ts +0 -331
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/color-tokens.ts +0 -77
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/properties.ts +0 -54
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/snapshot.ts +0 -287
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/spacing.ts +0 -71
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/states.ts +0 -43
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/extractors/typography.ts +0 -71
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/index.ts +0 -221
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/_default.ts +0 -166
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/accordion.ts +0 -232
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/alert.ts +0 -234
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar-group.ts +0 -270
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/avatar.ts +0 -249
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/badge.ts +0 -231
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/banner.ts +0 -293
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/breadcrumb.ts +0 -240
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/button.ts +0 -243
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/calendar.ts +0 -307
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/card.ts +0 -143
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/checkbox.ts +0 -227
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/chip.ts +0 -233
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/combobox.ts +0 -282
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/datepicker.ts +0 -276
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/divider.ts +0 -223
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/drawer.ts +0 -255
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/dropdown-menu.ts +0 -289
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/empty-state.ts +0 -261
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/file-uploader.ts +0 -290
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/form.ts +0 -265
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/grid.ts +0 -238
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/icon.ts +0 -255
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/index.ts +0 -128
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-edit.ts +0 -286
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/inline-message.ts +0 -255
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/input.ts +0 -330
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/link.ts +0 -247
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/list.ts +0 -250
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/menu.ts +0 -247
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/modal.ts +0 -144
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navbar.ts +0 -264
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/navigation.ts +0 -251
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/number-input.ts +0 -261
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/pagination.ts +0 -248
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/popover.ts +0 -270
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/progress.ts +0 -251
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/radio.ts +0 -142
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/range-slider.ts +0 -282
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/rating.ts +0 -250
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/search.ts +0 -258
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/segmented-control.ts +0 -265
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/select.ts +0 -319
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/skeleton.ts +0 -256
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/slider.ts +0 -232
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/spinner.ts +0 -239
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/status-dot.ts +0 -252
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/stepper.ts +0 -270
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/table.ts +0 -244
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tabs.ts +0 -143
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tag.ts +0 -243
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/textarea.ts +0 -259
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/time-picker.ts +0 -293
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toast.ts +0 -144
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toggle.ts +0 -289
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/toolbar.ts +0 -267
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/tooltip.ts +0 -232
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/treeview.ts +0 -257
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/knowledge/typography.ts +0 -319
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/legacy-compat.ts +0 -121
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/anatomy-diagram.ts +0 -430
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/figma-page.ts +0 -312
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/json.ts +0 -129
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/markdown.ts +0 -78
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/renderers/visual-doc.ts +0 -2333
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/accessibility.ts +0 -100
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/anatomy.ts +0 -32
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/color-tokens.ts +0 -59
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/content-guidance.ts +0 -18
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/design-tokens.ts +0 -53
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/interaction-rules.ts +0 -19
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/overview.ts +0 -91
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/properties-api.ts +0 -71
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/qa-criteria.ts +0 -19
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/related-components.ts +0 -110
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/responsive.ts +0 -19
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/size-specs.ts +0 -67
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/spacing-structure.ts +0 -58
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/state-specs.ts +0 -79
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/states.ts +0 -50
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/type-hierarchy.ts +0 -33
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/typography.ts +0 -55
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/usage-guidelines.ts +0 -73
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/sections/variants.ts +0 -81
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec/types.ts +0 -409
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/index.ts +0 -198
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/renderer.ts +0 -701
- package/figma-intelligence-layer/src/tools/phase5-governance/component-spec-sheet/types.ts +0 -88
- package/figma-intelligence-layer/src/tools/phase5-governance/decision-log/index.ts +0 -135
- package/figma-intelligence-layer/src/tools/phase5-governance/design-decision-log/index.ts +0 -491
- package/figma-intelligence-layer/src/tools/phase5-governance/ds-primitives/index.ts +0 -416
- package/figma-intelligence-layer/src/tools/phase5-governance/ds-scaffolder/index.ts +0 -722
- package/figma-intelligence-layer/src/tools/phase5-governance/ds-variables/index.ts +0 -449
- package/figma-intelligence-layer/src/tools/phase5-governance/health-report/index.ts +0 -393
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/index.ts +0 -406
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/figma-page.ts +0 -292
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/json.ts +0 -24
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/markdown.ts +0 -172
- package/figma-intelligence-layer/src/tools/phase5-governance/taxonomy-docs/renderers/naming-guide.ts +0 -409
- package/figma-intelligence-layer/src/tools/phase5-governance/token-analytics/index.ts +0 -594
- package/figma-intelligence-layer/src/tools/phase5-governance/token-docs/index.ts +0 -710
- package/figma-intelligence-layer/src/tools/phase5-governance/token-migrate/index.ts +0 -458
- package/figma-intelligence-layer/src/tools/phase5-governance/token-naming/index.ts +0 -134
- package/figma-intelligence-layer/tests/apg-doc.test.ts +0 -101
- package/figma-intelligence-layer/tests/design-system-context.test.ts +0 -152
- package/figma-intelligence-layer/tests/design-system-matcher.test.ts +0 -144
- package/figma-intelligence-layer/tests/figma-bridge.test.ts +0 -83
- package/figma-intelligence-layer/tests/generate-image-and-insert.test.ts +0 -56
- package/figma-intelligence-layer/tests/screen-cloner-regression.test.ts +0 -69
- package/figma-intelligence-layer/tests/smoke.test.ts +0 -174
- package/figma-intelligence-layer/tests/spec-generator.test.ts +0 -127
- package/figma-intelligence-layer/tests/token-migrate.test.ts +0 -21
- package/figma-intelligence-layer/tests/token-naming.test.ts +0 -30
- package/figma-intelligence-layer/tsconfig.json +0 -19
- package/scripts/clean-existing-chunks.js +0 -179
- package/scripts/connect-ai-tool.js +0 -490
- package/scripts/convert-hub-pdfs.js +0 -425
- package/scripts/figma-mcp-status.js +0 -349
- package/scripts/register-codex-mcp.js +0 -96
- /package/{design-bridge → dist/design-bridge}/.env.example +0 -0
- /package/{design-bridge → dist/design-bridge}/package.json +0 -0
- /package/{figma-bridge-plugin → dist/figma-bridge-plugin}/manifest.json +0 -0
- /package/{figma-bridge-plugin → dist/figma-bridge-plugin}/package.json +0 -0
- /package/{figma-intelligence-layer → dist/figma-intelligence-layer}/package.json +0 -0
package/README.md
CHANGED
|
@@ -3,35 +3,30 @@
|
|
|
3
3
|
[](https://nodejs.org)
|
|
4
4
|
[](https://www.npmjs.com/package/@sarjallab09/figma-intelligence)
|
|
5
5
|
[](https://creativecommons.org/licenses/by-nc-nd/4.0/)
|
|
6
|
-
[]()
|
|
7
7
|
|
|
8
|
-
>
|
|
8
|
+
> 90 AI-powered design tools for Figma. Works with your Claude, OpenAI Codex, or Gemini CLI subscription. One command to set up.
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
You (chat in Figma plugin)
|
|
11
|
+
You (chat in Figma plugin) <---> Local Relay <---> Claude / OpenAI Codex / Gemini CLI
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
## Quick Start
|
|
16
|
+
## Quick Start
|
|
17
17
|
|
|
18
|
-
### 1
|
|
18
|
+
### Step 1: Install an AI CLI and log in
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
> **Note:** Requires Figma Desktop app — the browser version won't work.
|
|
23
|
-
|
|
24
|
-
### 2. Install an AI CLI and log in
|
|
25
|
-
|
|
26
|
-
You need at least one. All three use your existing subscription — no extra API costs.
|
|
20
|
+
You need at least one. All four use your existing subscription — no extra API costs.
|
|
27
21
|
|
|
28
22
|
| Provider | Install | Log in |
|
|
29
23
|
|---|---|---|
|
|
30
24
|
| **Claude** | [claude.ai/download](https://claude.ai/download) | `claude login` |
|
|
31
25
|
| **OpenAI Codex** | `npm install -g @openai/codex` | `codex login` |
|
|
32
26
|
| **Google Gemini** | `npm install -g @google/gemini-cli` | `gemini` (opens Google sign-in) |
|
|
27
|
+
| **GitHub Copilot** | `npm install -g @github/copilot` | `copilot` then type `/login` (GitHub device flow) |
|
|
33
28
|
|
|
34
|
-
###
|
|
29
|
+
### Step 2: Run setup
|
|
35
30
|
|
|
36
31
|
Open your terminal and run:
|
|
37
32
|
|
|
@@ -45,9 +40,52 @@ This will:
|
|
|
45
40
|
- Ask for your **Figma Personal Access Token** ([how to get one](#figma-personal-access-token))
|
|
46
41
|
- Register the MCP server with your detected providers
|
|
47
42
|
- Start the local relay server
|
|
43
|
+
- Copy the Figma plugin files to your **Documents folder**
|
|
44
|
+
- **Automatically copy the plugin path to your clipboard** (makes Step 3 one-click)
|
|
48
45
|
- Optionally install as a background service (macOS)
|
|
49
46
|
|
|
50
|
-
|
|
47
|
+
### Step 3: Load the plugin in Figma (one-time)
|
|
48
|
+
|
|
49
|
+
After setup completes, you need to import the plugin into Figma. **You only do this once** — after that, the plugin stays in your Figma permanently.
|
|
50
|
+
|
|
51
|
+
> **Note:** Requires Figma Desktop app — the browser version won't work.
|
|
52
|
+
|
|
53
|
+
The setup command already copied the plugin path to your clipboard and opened the plugin folder in Finder. Just follow these steps:
|
|
54
|
+
|
|
55
|
+
1. **Open any file** in Figma Desktop
|
|
56
|
+
*(The plugin menu only works when a file is open)*
|
|
57
|
+
|
|
58
|
+
2. **Open the Resources panel** by pressing **Shift + I**
|
|
59
|
+
*(or click the grid-like icon in the top toolbar)*
|
|
60
|
+
|
|
61
|
+
3. In the Resources panel:
|
|
62
|
+
- Click the **"Plugins"** tab at the top
|
|
63
|
+
- Click the **three-dot menu** ( **...** ) in the top-right corner of the panel
|
|
64
|
+
- Select **"Import plugin from manifest..."**
|
|
65
|
+
|
|
66
|
+
4. **A file picker opens.** Here's the easiest way to find the file:
|
|
67
|
+
|
|
68
|
+
**Option A — Paste the path (fastest):**
|
|
69
|
+
- **Mac:** Press **Cmd + Shift + G**, then **Cmd + V**, then **Enter**
|
|
70
|
+
- **Windows:** Press **Ctrl + L**, then **Ctrl + V**, then **Enter**
|
|
71
|
+
|
|
72
|
+
The path was automatically copied to your clipboard by the setup command.
|
|
73
|
+
|
|
74
|
+
**Option B — Navigate manually:**
|
|
75
|
+
- Go to **Documents** > **Figma Intelligence** > select **manifest.json**
|
|
76
|
+
|
|
77
|
+
5. **Click Open** — the plugin is now installed!
|
|
78
|
+
|
|
79
|
+
### Step 4: Open the plugin
|
|
80
|
+
|
|
81
|
+
You can open the plugin any time using one of these methods:
|
|
82
|
+
|
|
83
|
+
- **Right-click** anywhere on the canvas > **Plugins** > **Figma Intelligence**
|
|
84
|
+
- Press **Shift + I** > click **Plugins** tab > search **"Figma Intelligence"**
|
|
85
|
+
|
|
86
|
+
> **Pro tip:** Right-click the plugin name and select **"Save to favorites"** — this pins it to the top of your Plugins menu for instant access.
|
|
87
|
+
|
|
88
|
+
**That's it.** The plugin auto-connects to the relay server. Start chatting!
|
|
51
89
|
|
|
52
90
|
---
|
|
53
91
|
|
|
@@ -73,6 +111,7 @@ npx @sarjallab09/figma-intelligence stop # Stop the relay server
|
|
|
73
111
|
npx @sarjallab09/figma-intelligence status # Show relay + provider status
|
|
74
112
|
npx @sarjallab09/figma-intelligence doctor # Diagnose issues
|
|
75
113
|
npx @sarjallab09/figma-intelligence setup # Full setup (first time or reconfigure)
|
|
114
|
+
npx @sarjallab09/figma-intelligence update # Update plugin files to latest version
|
|
76
115
|
```
|
|
77
116
|
|
|
78
117
|
---
|
|
@@ -91,17 +130,29 @@ Then open the Figma plugin — it reconnects automatically.
|
|
|
91
130
|
|
|
92
131
|
---
|
|
93
132
|
|
|
133
|
+
## Updating to a new version
|
|
134
|
+
|
|
135
|
+
When a new version is released:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
npx @sarjallab09/figma-intelligence@latest update
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
This copies the latest plugin files to your local folder. Figma automatically picks up the changes — just close and reopen the plugin.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
94
145
|
## What does this do?
|
|
95
146
|
|
|
96
147
|
Type something like *"Make a login screen with a blue button"* and the AI will actually create the components and layers in your Figma file — not just describe how to do it.
|
|
97
148
|
|
|
98
|
-
The plugin exposes **
|
|
149
|
+
The plugin exposes **90 MCP tools** across 5 phases:
|
|
99
150
|
|
|
100
151
|
| Phase | Tools | Examples |
|
|
101
152
|
|---|---|---|
|
|
102
153
|
| **Visual Intelligence** | 7 | Screen cloning, visual audit, accessibility audit, sketch-to-design |
|
|
103
154
|
| **Design System Accuracy** | 6 | Intent translation, layout intelligence, variant expansion, linting |
|
|
104
|
-
| **Generation & Scaffolding** |
|
|
155
|
+
| **Generation & Scaffolding** | 14 | Page architect, swarm build, prototype wiring, composition builder |
|
|
105
156
|
| **Sync & Bidirectionality** | 9 | Token export (16 formats), component code gen, handoff specs |
|
|
106
157
|
| **Governance & Health** | 15 | Health reports, token docs, design system scaffolding, DTCG validation |
|
|
107
158
|
| **Node Operations** | 38 | Create, read, update, delete nodes, variables, styles, components |
|
|
@@ -158,6 +209,8 @@ The active provider will show its signed-in email in the auth strip when availab
|
|
|
158
209
|
| **"npm: command not found"** | Node.js is not installed — download it from [nodejs.org](https://nodejs.org) |
|
|
159
210
|
| **Plugin shows "Server offline"** | Run `npx @sarjallab09/figma-intelligence start` in your terminal |
|
|
160
211
|
| **Plugin shows setup guide** | Follow the on-screen steps — run the setup command in your terminal |
|
|
212
|
+
| **Plugin not found in Figma** | Import it: press Shift+I > Plugins tab > ... menu > "Import plugin from manifest..." > navigate to **Documents > Figma Intelligence > manifest.json** |
|
|
213
|
+
| **Can't find the plugin folder** | It's in `~/Documents/Figma Intelligence/`. On Mac, use Cmd+Shift+G in the file picker and paste the path. |
|
|
161
214
|
| **Not sure what is broken** | Run `npx @sarjallab09/figma-intelligence doctor` for full diagnostics |
|
|
162
215
|
| **Chat does nothing / no response** | Run `claude login` / `codex login` / `gemini` to authenticate your AI provider |
|
|
163
216
|
| **Gemini doesn't build in Figma** | Install Gemini CLI: `npm i -g @google/gemini-cli`, run `gemini` to sign in, re-run setup |
|
|
@@ -166,26 +219,6 @@ The active provider will show its signed-in email in the auth strip when availab
|
|
|
166
219
|
|
|
167
220
|
---
|
|
168
221
|
|
|
169
|
-
## Folder structure (for the curious)
|
|
170
|
-
|
|
171
|
-
```
|
|
172
|
-
bin/cli.js ← CLI entrypoint (npx @sarjallab09/figma-intelligence)
|
|
173
|
-
figma-bridge-plugin/
|
|
174
|
-
manifest.json ← Figma plugin manifest
|
|
175
|
-
bridge-relay.js ← local WebSocket relay server
|
|
176
|
-
chat-runner.js ← connects Claude to the plugin chat
|
|
177
|
-
codex-runner.js ← connects OpenAI Codex to the plugin chat
|
|
178
|
-
gemini-cli-runner.js ← connects Gemini CLI to the plugin chat
|
|
179
|
-
ui.html / code.js ← plugin UI panel (Chat / Code / Design+Code)
|
|
180
|
-
figma-intelligence-layer/
|
|
181
|
-
src/tools/ ← 88 MCP tool implementations (5 phases)
|
|
182
|
-
dist/index.js ← built MCP server (created by setup)
|
|
183
|
-
design-bridge/ ← Asset MCP bridge (Unsplash, Pexels, Iconify)
|
|
184
|
-
scripts/ ← Utility scripts (status, connect)
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
---
|
|
188
|
-
|
|
189
222
|
## Contributing
|
|
190
223
|
|
|
191
224
|
1. Fork the repo and create a feature branch
|
package/dist/bin/cli.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict';const _0x5bf999=_0x2244;(function(_0x4242ab,_0x2da1f5){const _0x5802cb=_0x2244,_0x218b81=_0x4242ab();while(!![]){try{const _0x5cbd83=parseInt(_0x5802cb(0x126))/0x1+parseInt(_0x5802cb(0x243))/0x2+parseInt(_0x5802cb(0x1fe))/0x3+parseInt(_0x5802cb(0x1e5))/0x4+parseInt(_0x5802cb(0x161))/0x5+-parseInt(_0x5802cb(0x106))/0x6+-parseInt(_0x5802cb(0x186))/0x7;if(_0x5cbd83===_0x2da1f5)break;else _0x218b81['push'](_0x218b81['shift']());}catch(_0x42413e){_0x218b81['push'](_0x218b81['shift']());}}}(_0x8832,0x20557));const {spawn,spawnSync,execSync}=require(_0x5bf999(0x1fb)),fs=require('fs'),path=require('path'),os=require('os'),readline=require('readline'),ROOT_DIR=path['resolve'](__dirname,'..'),RELAY_SCRIPT=path[_0x5bf999(0x19c)](ROOT_DIR,'figma-bridge-plugin',_0x5bf999(0xef)),MCP_BUILD=path[_0x5bf999(0x19c)](ROOT_DIR,'figma-intelligence-layer','dist',_0x5bf999(0x252)),MCP_SRC=path['join'](ROOT_DIR,'figma-intelligence-layer'),BRIDGE_DIR=path['join'](ROOT_DIR,'figma-bridge-plugin'),DESIGN_BRIDGE_DIR=path['join'](ROOT_DIR,_0x5bf999(0x179)),DATA_DIR=path['join'](os['homedir'](),'.figma-intelligence'),PID_FILE=path['join'](DATA_DIR,'relay.pid'),LOG_FILE=path['join'](DATA_DIR,'relay.log'),PORT=parseInt(process.env.BRIDGE_PORT||'9001',0xa),PLIST_LABEL='com.figma-intelligence.bridge-relay',PLIST_DIR=path[_0x5bf999(0x19c)](os[_0x5bf999(0xf8)](),'Library',_0x5bf999(0x21f)),PLIST_PATH=path['join'](PLIST_DIR,PLIST_LABEL+'.plist');function log(_0xc91eb7){const _0x2074b7=_0x5bf999;console[_0x2074b7(0x219)](_0xc91eb7);}function success(_0x4abcf2){console['log']('\x20\x20✔\x20'+_0x4abcf2);}function warn(_0x1522b5){console['log']('\x20\x20⚠\x20'+_0x1522b5);}function fail(_0x23b50f){console['log']('\x20\x20❌\x20'+_0x23b50f);}function info(_0xf461f2){const _0x3a0f5b=_0x5bf999;console[_0x3a0f5b(0x219)](_0x3a0f5b(0x1f7)+_0xf461f2);}function run(_0x5c1647,_0x112e63,_0x5bda87={}){const _0x4179cb=_0x5bf999,_0x169bd0={'tmdck':function(_0x2e1b87,_0x34530d,_0x477bd6,_0x4093c4){return _0x2e1b87(_0x34530d,_0x477bd6,_0x4093c4);},'rJKCO':function(_0x564b71,_0x2a7087){return _0x564b71===_0x2a7087;}},_0x309109=_0x169bd0['tmdck'](spawnSync,_0x5c1647,_0x112e63,{'encoding':'utf8','shell':!![],..._0x5bda87});return{'ok':_0x169bd0['rJKCO'](_0x309109['status'],0x0),'stdout':(_0x309109['stdout']||'')['trim'](),'stderr':(_0x309109['stderr']||'')[_0x4179cb(0x163)]()};}function which(_0x495404){const _0x382ddf=_0x5bf999,_0x33c7a5={'fmFCT':_0x382ddf(0xe2)},_0x16be08=run(_0x33c7a5['fmFCT'],[_0x495404]);return _0x16be08['ok']?_0x16be08[_0x382ddf(0xed)]:null;}function extractEmail(_0x221e87){const _0x5c6b5c=_0x221e87['match'](/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/);return _0x5c6b5c?_0x5c6b5c[0x0]:'';}function maskToken(_0x52f2a2){const _0x493eb5=_0x5bf999,_0x4d76b0={'PyymT':'(not\x20set)'};if(!_0x52f2a2||_0x52f2a2['length']<0x8)return _0x4d76b0['PyymT'];return _0x52f2a2[_0x493eb5(0x23d)](0x0,0x4)+_0x493eb5(0x108)+_0x52f2a2['slice'](-0x4);}function ensureDataDir(){const _0x1c9b88=_0x5bf999;fs[_0x1c9b88(0x23c)](DATA_DIR,{'recursive':!![]});}function isPortInUse(_0x15eb9d){const _0xc98af8=_0x5bf999,_0x1a2af9={'ELDVJ':function(_0x6e0c71,_0x2a2994,_0x312804){return _0x6e0c71(_0x2a2994,_0x312804);},'UJTIq':'lsof','wHFSU':'-sTCP:LISTEN'},_0x1ce4a7=_0x1a2af9['ELDVJ'](run,_0x1a2af9[_0xc98af8(0x1f9)],['-n','-P',_0xc98af8(0x1ec)+_0x15eb9d,_0x1a2af9[_0xc98af8(0x21e)]]);return _0x1ce4a7['ok']&&_0x1ce4a7[_0xc98af8(0xed)][_0xc98af8(0x1d5)]>0x0;}function getRelayPid(){const _0x35640e=_0x5bf999,_0xdc254e={'LVxcj':_0x35640e(0x20e),'HJYYO':function(_0x3fc93e,_0x3ef072,_0x579680){return _0x3fc93e(_0x3ef072,_0x579680);},'IReuW':_0x35640e(0x15f)};if(!fs[_0x35640e(0x224)](PID_FILE))return null;const _0x1bac10=_0xdc254e['HJYYO'](parseInt,fs[_0x35640e(0x1ad)](PID_FILE,_0xdc254e['IReuW'])['trim'](),0xa);if(isNaN(_0x1bac10))return null;try{return process['kill'](_0x1bac10,0x0),_0x1bac10;}catch{if(_0x35640e(0xd8)===_0x35640e(0x21b))_0x5e1d4b(_0xdc254e[_0x35640e(0x24e)]);else return null;}}function _0x2244(_0x202b22,_0x28048f){_0x202b22=_0x202b22-0xd8;const _0x88326b=_0x8832();let _0x22445c=_0x88326b[_0x202b22];if(_0x2244['tfhJJD']===undefined){var _0x3366e3=function(_0x257815){const _0x3057fc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1234e6='',_0x286b69='';for(let _0x1cdb9c=0x0,_0x2c4658,_0x576586,_0x3387f=0x0;_0x576586=_0x257815['charAt'](_0x3387f++);~_0x576586&&(_0x2c4658=_0x1cdb9c%0x4?_0x2c4658*0x40+_0x576586:_0x576586,_0x1cdb9c++%0x4)?_0x1234e6+=String['fromCharCode'](0xff&_0x2c4658>>(-0x2*_0x1cdb9c&0x6)):0x0){_0x576586=_0x3057fc['indexOf'](_0x576586);}for(let _0xd1f0c5=0x0,_0x4e7b6f=_0x1234e6['length'];_0xd1f0c5<_0x4e7b6f;_0xd1f0c5++){_0x286b69+='%'+('00'+_0x1234e6['charCodeAt'](_0xd1f0c5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286b69);};_0x2244['AlYmYq']=_0x3366e3,_0x2244['tFNGid']={},_0x2244['tfhJJD']=!![];}const _0xc56a11=_0x88326b[0x0],_0x198788=_0x202b22+_0xc56a11,_0x41e050=_0x2244['tFNGid'][_0x198788];return!_0x41e050?(_0x22445c=_0x2244['AlYmYq'](_0x22445c),_0x2244['tFNGid'][_0x198788]=_0x22445c):_0x22445c=_0x41e050,_0x22445c;}function prompt(_0xb09ae1){return new Promise(_0x54d22f=>{const _0xacb258=_0x2244,_0x429baa={'mjWud':function(_0x48e059,_0x4fa455){return _0x48e059(_0x4fa455);}},_0x458a0f=readline[_0xacb258(0x1d8)]({'input':process[_0xacb258(0xee)],'output':process['stdout']});_0x458a0f['question'](_0xb09ae1,_0x56bad9=>{const _0x486d1c=_0xacb258;_0x458a0f[_0x486d1c(0x177)](),_0x429baa['mjWud'](_0x54d22f,_0x56bad9['trim']());});});}function detectCLIs(){const _0x4ecd21=_0x5bf999,_0x58373b={'xGneS':'utf8','OwxMj':'auth','MatXH':_0x4ecd21(0xe5),'OMMxB':function(_0x431cfd,_0x2643b4){return _0x431cfd+_0x2643b4;},'awdFE':function(_0x490547,_0x5e116d){return _0x490547(_0x5e116d);},'fIFQU':'codex','xQLOo':function(_0x306041,_0x9f9967,_0xf632d5){return _0x306041(_0x9f9967,_0xf632d5);},'UGnkw':_0x4ecd21(0xfe),'ftcxq':function(_0x40f792,_0x20701d){return _0x40f792!==_0x20701d;},'DZBOI':_0x4ecd21(0x229),'ACkkm':function(_0x3ab8e3,_0x12786e){return _0x3ab8e3===_0x12786e;},'stiZY':'find-generic-password','tEPyA':_0x4ecd21(0x11d),'vLXQm':'security','fdixI':_0x4ecd21(0x14e),'YXUsD':_0x4ecd21(0x17c)},_0x44780b={},_0x4b3e12=which('claude');if(_0x4b3e12){const _0x5ce07c=run(_0x4b3e12,[_0x58373b[_0x4ecd21(0x133)],_0x58373b['MatXH']]),_0x4078ab=_0x58373b['OMMxB'](_0x5ce07c['stdout']+'\x20',_0x5ce07c[_0x4ecd21(0x148)]);_0x44780b['claude']={'bin':_0x4b3e12,'loggedIn':_0x5ce07c['ok'],'email':extractEmail(_0x4078ab)};}let _0x1ee2d5=_0x58373b[_0x4ecd21(0x1e8)](which,_0x58373b['fIFQU']);!_0x1ee2d5&&fs[_0x4ecd21(0x224)]('/Applications/Codex.app/Contents/Resources/codex')&&(_0x1ee2d5='/Applications/Codex.app/Contents/Resources/codex');if(_0x1ee2d5){const _0xb0b3f7=_0x58373b[_0x4ecd21(0x1c7)](run,_0x1ee2d5,[_0x58373b['UGnkw'],_0x58373b['MatXH']]),_0x3ecccb=_0xb0b3f7['stdout']+'\x20'+_0xb0b3f7[_0x4ecd21(0x148)];_0x44780b['codex']={'bin':_0x1ee2d5,'loggedIn':_0xb0b3f7['ok'],'email':_0x58373b[_0x4ecd21(0x1e8)](extractEmail,_0x3ecccb)};}const _0x4f77ec=which(_0x4ecd21(0x131));if(_0x4f77ec){if(_0x58373b[_0x4ecd21(0x255)](_0x58373b['DZBOI'],_0x4ecd21(0x229)))try{_0x558d77['rmSync'](_0x36ebce,{'recursive':!![],'force':!![]});}catch{}else{let _0x128ae9=![],_0x3d1df6='';if(_0x58373b[_0x4ecd21(0xf3)](process[_0x4ecd21(0x254)],_0x4ecd21(0xe9))){const _0x239876=run('security',[_0x58373b[_0x4ecd21(0x1d7)],'-s','gemini-cli-oauth','-a',_0x4ecd21(0x111)]);if(_0x239876['ok']){_0x128ae9=!![];try{if(_0x4ecd21(0x11d)!==_0x58373b[_0x4ecd21(0x15c)])_0x246337=_0x325597['parse'](_0x54c8cc['readFileSync'](_0x24b549,_0x58373b[_0x4ecd21(0x25d)]));else{const _0xf0c7cf=run(_0x58373b['vLXQm'],[_0x58373b['stiZY'],'-s',_0x58373b['fdixI'],'-a','main-account','-w']);if(_0xf0c7cf['ok']&&_0xf0c7cf['stdout'])try{const _0x109fd4=JSON['parse'](Buffer['from'](_0xf0c7cf[_0x4ecd21(0xed)],_0x4ecd21(0x11e))[_0x4ecd21(0x207)](_0x4ecd21(0x15f)));_0x3d1df6=_0x109fd4['email']||_0x109fd4[_0x4ecd21(0x21d)]||'';}catch{try{if('fhDml'!=='fhDml')_0x1cdb9c['log'](_0x2c4658);else{const _0x494bfe=JSON['parse'](_0xf0c7cf[_0x4ecd21(0xed)]);_0x3d1df6=_0x494bfe[_0x4ecd21(0x17a)]||_0x494bfe[_0x4ecd21(0x21d)]||'';}}catch{}}}}catch{}}}if(!_0x128ae9){const _0xc32311=[path[_0x4ecd21(0x19c)](os[_0x4ecd21(0xf8)](),_0x4ecd21(0x17c),_0x4ecd21(0x135)),path[_0x4ecd21(0x19c)](os['homedir'](),'.gemini',_0x4ecd21(0xfc)),path['join'](os[_0x4ecd21(0xf8)](),_0x58373b['YXUsD'],_0x4ecd21(0x1b2))];for(const _0x53d889 of _0xc32311){if(fs['existsSync'](_0x53d889)){_0x128ae9=!![];try{const _0x281b3b=JSON['parse'](fs['readFileSync'](_0x53d889,_0x4ecd21(0x15f)));_0x3d1df6=_0x281b3b['email']||_0x281b3b[_0x4ecd21(0x21d)]||_0x281b3b[_0x4ecd21(0x218)]&&_0x281b3b['user'][_0x4ecd21(0x17a)]||'';}catch{}break;}}}_0x44780b['gemini']={'bin':_0x4f77ec,'loggedIn':_0x128ae9,'email':_0x3d1df6};}}return _0x44780b;}function registerMcpWithClaude(_0x136064,_0x158cc8,_0x289cc1={}){const _0x583bf9=_0x5bf999,_0x29396b={'WHYoA':'mcp','fWdsZ':_0x583bf9(0x176),'nyxnk':function(_0x322446,_0x22083b,_0x4b9f93){return _0x322446(_0x22083b,_0x4b9f93);},'yZZhX':'user','eNJKA':_0x583bf9(0x1f0)};run(_0x136064,['mcp',_0x583bf9(0x190),_0x583bf9(0x1f0)]),run(_0x136064,[_0x29396b['WHYoA'],'remove',_0x583bf9(0x179)]);const _0x2aa399=['-e',_0x583bf9(0x16e)+_0x158cc8,'-e',_0x29396b['fWdsZ'],'-e','ENABLE_DECISION_LOG=true'];if(_0x289cc1['UNSPLASH_ACCESS_KEY'])_0x2aa399[_0x583bf9(0x11f)]('-e',_0x583bf9(0x18c)+_0x289cc1['UNSPLASH_ACCESS_KEY']);if(_0x289cc1[_0x583bf9(0x1ce)])_0x2aa399[_0x583bf9(0x11f)]('-e','PEXELS_API_KEY='+_0x289cc1['PEXELS_API_KEY']);const _0x286ec4=_0x29396b[_0x583bf9(0x170)](run,_0x136064,[_0x583bf9(0x16d),'add','-s',_0x29396b[_0x583bf9(0x180)],..._0x2aa399,_0x29396b['eNJKA'],'--','node',MCP_BUILD]);return _0x286ec4['ok'];}function registerMcpWithCodex(_0x2ac51d,_0x3c859a){const _0x53be63=_0x5bf999,_0x1e586e={'jaNAr':function(_0xd14f08,_0x1ac8b8,_0x2931ad){return _0xd14f08(_0x1ac8b8,_0x2931ad);},'IlpQy':_0x53be63(0x16d),'wMmAj':'remove','BJJEJ':'add','CznJX':'FIGMA_BRIDGE_PORT=9001','PrMYQ':'--env','ZwEri':'ENABLE_DECISION_LOG=true'};_0x1e586e[_0x53be63(0x10b)](run,_0x2ac51d,[_0x1e586e[_0x53be63(0x1ef)],_0x1e586e['wMmAj'],_0x53be63(0x1f0)]);const _0x4470ec=_0x1e586e[_0x53be63(0x10b)](run,_0x2ac51d,[_0x1e586e[_0x53be63(0x1ef)],_0x1e586e[_0x53be63(0x1b3)],_0x53be63(0x1f0),_0x53be63(0x160),_0x53be63(0x16e)+_0x3c859a,'--env',_0x1e586e[_0x53be63(0x16f)],_0x1e586e[_0x53be63(0x156)],_0x1e586e[_0x53be63(0x103)],'--','node',MCP_BUILD]);return _0x4470ec['ok'];}function _0x8832(){const _0x468312=['zMrAsgu','rMLNBweGsw50zwXSAwDLBMnLifn0yxr1CW','ugX1z2LUigzPBgvZihvWzgf0zwq','lMzPz21HlwLUDgvSBgLNzw5Jzq','wuvZue4','BwnW','rKLhtufFqundrvntx1rps0vopq','q3PUsLG','BNL4BMS','AxHjqvy','ic0GCMvXDwLYzxmGpJ0GmtG','tuPvu1G','igLUihvZzsbIDxqGBM90igj5ig91CIbYzwXHEq','icaGicaGierVy3vTzw50CYdIHPiGrMLNBweGsw50zwXSAwDLBMnLiokgKIbTyw5PzMvZDc5QC29U','rKLhtufFqLjjreDfx1bpuLq9otaWmq','y2XVC2u','q291BgqGBM90igLUC3rHBgWGBgf1BMnOzcbZzxj2AwnLlIbuAguGCMvSyxKGD2fZihn0yxj0zwqGBwfUDwfSBhKGAw5ZDgvHzc4','zgvZAwDUlwjYAwrNzq','zw1HAwW','D2LUmZi','lMDLBwLUAq','Aw5JBhvKzxm','vxbKyxrPBMCGrMLNBweGsw50zwXSAwDLBMnLihbSDwDPBIbMAwXLCY4UlG','uMvSyxKGywXYzwfKEsbYDw5UAw5NicHqsuq6ia','EvPAAfG','DvLkDKq','sK5gyvy','rMLNBweGugvYC29UywWGqwnJzxnZifrVA2vU','BwfUAwzLC3qUANnVBG','swzdExq','mJCXotK0oe53s0DSwG','BM9Kzv9TB2r1BgvZ','y29KzxG','uNvUicDJB2rLEcbSB2DPBICGDg8Gyxv0AgvUDgLJyxrL','DMvYC2LVBG','q0PNuNa','vu5tueXbu0HFqundrvntx0Tfwt0','zKXXzM4','q291BgqGBM90ihn0B3aGueLeia','vwDQAw8','CMvTB3zL','lxnLBgvJDgLVBG','CgTPBgW','tunqihnLCNzLCIbKzxbLBMrLBMnPzxmGBwLZC2LUzYaOCNvUicDUChGGzMLNBweTAw50zwXSAwDLBMnLihnLDhvWjYK','CNvU','uNDVvwC','qLjXELm','AMTktwu','A3z4DNO','ALf2DKC','AxnbCNjHEq','DNvbAvG','AM9PBG','DLv5yu0','q2XHDwrL','uuXfAw8','icbqyxn0zsb5B3vYihrVA2vUoIa','pc9ZDhjPBMC+cIaGica8A2v5pKvUDMLYB25Tzw50vMfYAwfIBgvZpc9RzxK+cIaGica8zgLJDd4kicaGicaGica8A2v5pKHptuu8l2TLEt4kicaGicaGica8C3rYAw5NpG','Bg9Nz2vKsw4','qxDqq0S','tM8GquKGq0XjigLZigXVz2DLzcbPBI4Gtg9NigLUihrVigf0igXLyxn0ig9UzsbWCM92AwrLCG','uu5UC2y','uNvUicDNzw1PBMKNihrVigf1DgHLBNrPy2f0zsb2AweGr29Vz2XL','s0vJwhG','C29Tzq','icbbBgWGy2HLy2TZihbHC3nLzceGww91CIbZzxr1CcbPCYbOzwfSDgH5lG','yMLU','icbuAxa6ifjPz2H0lwnSAwnRihrOzsbWBhvNAw4G4OAsicjtyxzLihrVigzHDM9YAxrLCYiGzM9Yihf1AwnRigfJy2vZCYe','icbmB2DZoIa','CMvHzezPBgvtEw5J','DvD0BNG','Aw5ZDgfSBa','t25jywO','zuv0rgS','yxv0Ac5QC29U','qKPkruO','u0Divfe','icbmB2nHDgLVBJOG','icbZDgfYDcaGicbtDgfYDcb0AguGyNjPzgDLihjLBgf5ihnLCNzLCIaOzgvMyxvSDcK','l3nIAw4','r2vTAw5PoIbSB2DNzwqGAw4','Bhn5sxq','uLDjtfa','icbtzxr1CcbJB21WBgv0zse','tunqihnLCNzLCJOGtK9uiejvsuXuicHYDw4Gj25WEcbMAwDTys1PBNrLBgXPz2vUy2uGC2v0DxaNkq','cIaGicaGicaGpgTLEt5dt0rfwf9csu5FuefusdWVA2v5pGOGicaGicaGidXZDhjPBMC+','q2XHDwrLienmssbUB3qGzM91BMqUieLUC3rHBgWGzNjVBtOGAhr0Chm6lY9JBgf1zguUywKVzg93BMXVywq','sePODNu','s1Dxrvq','igLUC3rHBgWGzMfPBgvKoIa','A1r3seC','zxHLy1bHDgG','uxfwzMy','igLZigfSCMvHzhKGAw4GDxnLigj5igfUB3rOzxiGChjVy2vZCY4','uMvNAxn0zxjLzcb3AxrOienVzgv4','Effmt28','D3jPDgvgAwXLu3LUyW','cIaGicaGicaGpgTLEt5hru1jtKLFqKLox1bbveG8l2TLEt4kicaGicaGica8C3rYAw5NpG','shvgvfq','uKzlAeK','q3jTDwS','icaGicboyxzPz2f0zsb0BZOGrg9JDw1LBNrZiokgKIbgAwDTysbjBNrLBgXPz2vUy2uG4OAsig1HBMLMzxn0lMPZB24','uevyruXtx0fqsv9lrvK','C0LWs0S','sePXAe8','C3bSAxq','DKvcvgi','l3vZCI9SB2nHBc9IAw4','lI4U','BgvUz3rO','rMLNBweGsw50zwXSAwDLBMnL','C3rPwLK','y3jLyxrLsw50zxjMywnL','t3bLBKfjienVzgv4oIbUB3qGAw5ZDgfSBgvKicHUCg0GAsaTzYbaB3bLBMfPl2nVzgv4kq','lMnSyxvKzq','Evnhy0W','sK56Ahe','icaXlIbpCgvUigfUEsbMAwXLigLUiezPz21HierLC2T0B3a','qNjPzgDLihjLBgf5','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kpcfet0nuwvbfihbSAxn0ifbvqKXjqYaIls8VqxbWBguVl0rurcbqteLtvcaXlJaVl0voiIaIAhr0CdOVl3D3DY5HChbSzs5JB20VrfreCY9qCM9Wzxj0EuXPC3qTms4WlMr0zci+cJXWBgLZDcb2zxjZAw9UpsiXlJaIpGO8zgLJDd4kicaGidXRzxK+tgfIzwW8l2TLEt4kicaGidXZDhjPBMC+','igLZihrVBYbVBgqUieLUC3rHBgWGtM9Kzs5QCYaXocSGzNjVBsbODhrWCZOVl25VzgvQCY5VCMC','sMvPCe4','EuTIsMm','sMrZBwi','tuvbCKm','nZi0nZu2sw1PyLrp','tNzADgm','CuHtyvq','yxDKrKu','tunqihnLCNzLCJOGqLvjtfq','q2XHDwrLoIbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4Gkhj1BIaNy2XHDwrLigXVz2LUjYK','l3vZCI9IAw4','lwLuq1a6','BKfPEgC','qNv3Cg8','swXWuxK','zMLNBweTAw50zwXSAwDLBMnLlwXHEwvY','wKTPufu','r2vTAw5PoIbPBNn0ywXSzwqGyNv0ig5VDcbSB2DNzwqGAw4Gkhj1BIaNz2vTAw5PjYK','wu9vuL9gsuDnqv9ut0TftL9irvjf','C3rHCNq','wxznsey','DMH6zM4','icdIHlKG','z0fWqxq','vuPusxe','icbZDg9WicaGicbtDg9WihrOzsbYzwXHEsbZzxj2zxi','y2HPBgrFChjVy2vZCW','C3bjrgS','icdILidILiaGuMvZDgfYDcb0AgvZzsbHChbZihrVihbPy2SGDxaGtunqignOyw5NzxmG4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa4Psa','nde0nte5tK1stg1q','ELzJz2m','Du1xvfa','qMvjs3K','r2vTAw5P','qNjPzgDLihjLBgf5ig5VDcbMB3vUzc4GuNvUicDUChGGzMLNBweTAw50zwXSAwDLBMnLihnLDhvWjYbMAxjZDc4','icbbDMfPBgfIBguGChjVDMLKzxjZoG','rg9JDw1LBNrZ','u3rVChbLzcbYzwXHEsaOueLeoIa','Dg9tDhjPBMC','zxHPDa','tM8GDg9Rzw4GChjVDMLKzwqUifnLDcbPDcbSyxrLCIbPBIb+lY5JBgf1zguVC2v0DgLUz3mUANnVBG','uKPsCvq','ica1lIbtzwXLy3qGBwfUAwzLC3qUANnVBIbHBMqGy2XPy2SGt3bLBIdIGjqGzg9Uzse','zLnSA2O','tNv6D0y','qNjPzgDLihjLBgf5igrLCgvUzgvUy2LLCYbPBNn0ywXSzwq','tunqihrVB2WGCgvYBwLZC2LVBNmGyxv0BY1LBMfIBgvK','EKnev3m','t21VsMO','EhnLBa','Bgftr2q','q29WEwLUzYbWBhvNAw4GzMLSzxmUlI4','t3bLBKfjienVzgv4','DMzeCfC','sgPxwNC','DxnLCG','Bg9N','l2jPBG','rwjtzgC','wK1yD04','y2XPzw50x2vTywLS','D0Hgu1u','tgf1BMnOqwDLBNrZ','BwnWx19MAwDTys1PBNrLBgXPz2vUy2uTBgf5zxjFxYO','reTVuhO','y0fPuLq','te5lAg0','zxHPC3rZu3LUyW','y2XHDwrL','BKDYAvi','t3bLBMvKihrOzsbWBhvNAw4GzM9SzgvYigzVCIb5B3u','CMvWzwf0','tfjXtxK','yu1mEgW','BfbmDKK','icdIHPiGt3iGChjLC3mGu2HPzNqGkYbjiokgKIbqBhvNAw5ZihrHyIdIHPiGC2vHCMnOicjgAwDTysbjBNrLBgXPz2vUy2uI','C25gCxG','CwnqBge','icbpCgvUquKGq29KzxG6ig5WBsbPic1NiebVCgvUywKVy29KzxG','sK15swq','sunTvw8','uMvSyxK6ie5pvcbsvu5osu5h','pc9ZDhjPBMC+cIaGica8l2fYCMf5pGOGicaGpgTLEt5xB3jRAw5NrgLYzwn0B3j5pc9RzxK+cIaGica8C3rYAw5NpG','zw52','icbJB2rLEcbSB2DPBG','sev6vvu','y2XPCa','te93q0C','vg10D0G','yvvvv0m','rhbezLG','BwTKAxjtEw5J','C2XPy2u','vuzgzwe','q2XHDwrLoIbSB2DNzwqGAw4','Dw5SB2fK','tunqihnLCNzLCIbUB3qGyNvPBhq','vxHcBvy','mJa1mZq0s2PjuMny','C21fv0S','teTOrwm','DM9Rs0W','nxWXFdn8mNWWFdq','sLjeEwu','DgHkBMS','AwDUB3jL','EMPezxi','r2vTAw5PienmssbUB3qGzM91BMqUieLUC3rHBgWGD2L0AdOGBNbTigKGlwCGqgDVB2DSzs9Nzw1PBMKTy2XP','tw9dz2C','tfz4y2O','uMvSyxKGzMfPBgvKihrVihn0yxj0lIbdAgvJAYbSB2DZoG','tunqihnLCNzLCG','Ew9hA0C','Aw5KzxGUANm','cIaGvgvZDgLUzYbnq1aGC2vYDMvYigHHBMrZAgfRzs4UlG','CgXHDgzVCM0','zNrJEhe','ug9YDca','txLbuKm','AwnbqwS','cIaGicaGignVBNn0ihSGC3bHD24GFsa9ihjLCxvPCMuOj2nOAwXKx3bYB2nLC3mNktSkicaGicaGy29UC3qGCca9ihnWyxDUkcDUB2rLjYWGwYC','u1H1rMq','zKD3tMO','uMvSyxKGC3rVChbLza','EeDUzvm','sLPztMW','DvfxBuu','wMDVsNu','igfZia','z3DmCeS','t3bLBKfjienVzgv4oIbSB2DNzwqGAw4','tM8GquKGChjVDMLKzxjZigfYzsbSB2DNzwqGAw4Uifj1BIbVBMuGB2y6','v3f4vhC','zM1Luem','tM9Kzs5QCYa','zgLYBMfTzq','DwPSBgK','icbgAwDTysb3AwXSihbPy2SGDxaGDgHLignOyw5NzxmGyxv0B21HDgLJywXSEs4','ywLxuMu','icaGicbpuIbTyw51ywXSEsbUyxzPz2f0zsb0BZO','wNzru24','q3vnqK8','D2HPy2G','q291BgqGBM90ihjLz2LZDgvYihDPDgGGr2vTAw5P','zxHWBg9YzxiGiG','C3rHDhvZ','rgDfv2y','yu50wLq','j10SihSkicaGicaGicbLBNy6ihSGlI4UChjVy2vZCY5LBNySiezjr01bx0fdq0vtu19ut0TftJOGj3rLC3qNlcbgsuDnqv9cuKLer0vFue9svdOGjZaNih0ScIaGicaGicaGC3rKAw86ifSNCgLWzsCSicDWAxbLjYWGj3bPCguNxqOGicaGicb9ktSkicaGicaGy29UC3qGBxnNid0GsLnptI5ZDhjPBMDPzNKOEYbQC29UCNbJoIaNmI4WjYWGAwq6ideSig1LDgHVzdOGj2LUAxrPywXPEMuNlcbWyxjHBxm6ihSGChjVDg9JB2XwzxjZAw9UoIaNmJaYnc0Xms0WnsCSignHCgfIAwXPDgLLCZOGE30SignSAwvUDeLUzM86ihSGBMfTztOGj2rVy3rVCICSihzLCNnPB246icCXlJaUmcCGFsb9ih0PoWOGicaGicbSzxqGCMvZCg9UzgvKid0GzMfSC2u7cIaGicaGihaUC3rKB3v0lM9UkcDKyxrHjYWGkcKGpt4GEYbPzIaOixjLC3bVBMrLzcKGEYbYzxnWB25KzwqGpsb0CNvLoYbJB25ZB2XLlMXVzYGNB2SNktSGCc5RAwXSkcK7ih0GFsK7cIaGicaGihaUC3rKAw4UD3jPDguOBxnNicSGj1XUjYK7cIaGicaGihnLDfrPBwvVDxqOkcKGpt4GEYbPzIaOixjLC3bVBMrLzcKGy29UC29Szs5SB2COj3rPBwvVDxqNktSGCc5RAwXSkcK7ihbYB2nLC3mUzxHPDcGWktSGFsWGntaWmcK7cIaGica','zgfYD2LU','wfzTvKe','sw5ZDgfSBgvKigfZigXVz2LUihnLCNzPy2uGkgf1Dg8TC3rHCNrZig9UihjLyM9VDcK','z1DRwhy','C3rKB3v0','C3rKAw4','yNjPzgDLlxjLBgf5lMPZ','u3L1Bhi','icboB3CGB3bLBIb5B3vYiezPz21HihbSDwDPBIaTigL0ihDPBgWGyxv0BY1JB25Uzwn0lG','r2vTAw5PigXVz2DLzcbPBG','qunRA20','ugX1z2LUigzPBgvZignVCgLLzcb0BYa','DMfSDwvZ','uwDPCKy','Bgf1BMnOy3rS','Ag9TzwrPCG','t0f0B00','CLPHqNa','D0jWB1u','y3jLzgvUDgLHBhmUANnVBG','ywrK','Bg9NAw4','EMXIs1e','ywrSz0u','icaGicbtzwXLy3qGiKLTCg9YDcbWBhvNAw4GzNjVBsbTyw5PzMvZDc4UlIi','BLj5sve','wNDfCMK','sgv6u2O','BM9Kzq','mta4mZu0ve96yuzW','tM8GquKGq0XjigLUC3rHBgXLzc4Gsw5ZDgfSBcbHDcbSzwfZDcbVBMu6ignSyxvKzsWGy29KzxGSig9YigDLBwLUAq','lI4UlG','Dg9mB3DLCKnHC2u','CgLK','AMfoqxi','AgDkDve','A2v5CW','y3jfEei','v3vUsKW','twzPCgy','BwfPBI1Hy2nVDw50','icaGicaGifrOzw4GChjLC3mGienTzcaRifyGihrVihbHC3rLihrOzsbWyxrOicHHBhjLywr5ignVCgLLzceP','icaGicdIMiuGruftsuvtvdOGuhjLC3mGien0CMWGkYbmicbPBIb0AguGzMLSzsbWAwnRzxi','nxWZFdr8mhWYFde','z0THCfO','yxjNDG','ENLJANu','sujRuu8','BwnWu2vYDMvYCW','Ag5twxe','ica0lIbbigzPBguGCgLJA2vYig9Wzw5ZlIbzB3uGAgf2zsbuv08GzwfZEsb3yxLZihrVigzPBMqGDgHLigzPBgu6','icbZzxr1CcaGicbgDwXSigLUDgvYywn0AxzLihnLDhvWicHPBNn0ywXSigrLChmSihjLz2LZDgvYie1ducWGC3rHCNqGCMvSyxKP','tKX5rwC','yMfZzty0','ChvZAa','s2DLtLi','tunqihnLCNzLCIbIDwLSDa','CgvYBwLZC2LVBNm','C3rYAw5NAwz5','lcbWB3j0ia','rMLNBweGsw50zwXSAwDLBMnLienmsq','ntq3otjqD1nUuMu','wgzKwLe','icdIHPiGuMLNAhqTy2XPy2SGB24Gy2fUDMfZiokgKIbqBhvNAw5ZiokgKIbgAwDTysbjBNrLBgXPz2vUy2u','zgrfrey','vxvvB3G','tunqihnLCNzLCIbKzxbLBMrLBMnPzxmGAw5ZDgfSBgvK','BuLHv3y','yNvPBgq','DNLzCfa','CNjKvhq','icaGicbgDwXSihbHDgGGkgLMig5LzwrLzcK6','z2vTAw5P','sxHqsgS','t3D4twO','icaGicdIMiuGruftsuvtvdOGuhjLC3mGienTzcaRifnOAwz0icSGrYaGAw4GDgHLigzPBguGCgLJA2vY','B2f1DgHFy3jLzhmUANnVBG','pc9ZDhjPBMC+cIaGicaGicaGpgTLEt5qqvripc9RzxK+cIaGicaGicaGphn0CMLUzZ4','q3LMuKW','icb1CgrHDguGicbvCgrHDguGCgX1z2LUigzPBgvZihrVigXHDgvZDcb2zxjZAw9U','BgX5y3m','BNbT','qNvPBgqGzMfPBgvKoIa','BgTjvgS','CM1tEw5J','rg1QvuC','B2D3q04','icbJBgf1zguGBg9NAw4','CgfYC2u','whrhrNC','C2HHCNa','Dw5ZAgLMDa','icbNzw1PBMK','DxbKyxrL','AgvSCa','C3rKzxjY','pc9ZDhjPBMC+cIaGicaGicaGphn0CMLUzZ4','thzQAgW','AejAvem','yuzbr1a','icbxzwjtB2nRzxq6ihDZoI8VBg9JywXOB3n0oG','z2vTAw5PlwnSAs1Vyxv0Aa','DeDKzuC','q291BgqGBM90ihjLywqGq2XHDwrLihnLDhrPBMDZ','pc9ZDhjPBMC+','txLmr3i','B1bfrgu','Du94ueS','v0HqAvu','uhjnwve','y1HSveG','ywXSB3C','q29KzxGGq0XjigLUC3rHBgXLzcbIDxqGBM90igXVz2DLzcbPBI4','icbdBgf1zgu6icaGicaGigH0DhbZoI8Vy2XHDwrLlMfPl2rVD25SB2fK','igLUihvZzsaODw5RBM93BIbWCM9JzxnZkq','DevqEue','zLrqy3O','Bur1re4','DxrMoa','ls1LBNy','mZeXmtGWug5ks3Lr','svbou0G','DhjPBq','C2nNtNO','y2rzsxy','wg9MswS','qu1VzhK'];_0x8832=function(){return _0x468312;};return _0x8832();}function registerMcpWithGemini(_0x12c9df){const _0x143e7c=_0x5bf999,_0x235a08={'HJhvu':_0x143e7c(0x1f0),'qlyxJ':'9001'},_0x2e24ef=path[_0x143e7c(0x19c)](os['homedir'](),_0x143e7c(0x17c)),_0x4aadd=path['join'](_0x2e24ef,'settings.json');fs[_0x143e7c(0x23c)](_0x2e24ef,{'recursive':!![]});let _0x2d0473={};if(fs[_0x143e7c(0x224)](_0x4aadd))try{_0x2d0473=JSON[_0x143e7c(0x141)](fs[_0x143e7c(0x1ad)](_0x4aadd,'utf8'));}catch{}if(!_0x2d0473[_0x143e7c(0x119)])_0x2d0473[_0x143e7c(0x119)]={};return _0x2d0473[_0x143e7c(0x119)][_0x235a08[_0x143e7c(0x1bf)]]={'command':_0x143e7c(0x105),'args':[MCP_BUILD],'env':{'FIGMA_ACCESS_TOKEN':_0x12c9df,'FIGMA_BRIDGE_PORT':_0x235a08['qlyxJ'],'ENABLE_DECISION_LOG':'true'}},fs['writeFileSync'](_0x4aadd,JSON[_0x143e7c(0x123)](_0x2d0473,null,0x2)),!![];}function writeClaudePermissions(){const _0x129ced=_0x5bf999,_0x13e865={'ugEte':function(_0x41b976,_0x183d12){return _0x41b976(_0x183d12);},'MoCgg':function(_0x5e1ebe,_0x3f95e2){return _0x5e1ebe(_0x3f95e2);},'nRyIQ':'Codex\x20CLI\x20installed\x20but\x20not\x20logged\x20in.','TCEYd':'Run\x20\x27codex\x20login\x27\x20to\x20authenticate','aiWRe':_0x129ced(0x1da),'qcPla':_0x129ced(0x14a),'uOxPK':'mcp__design-bridge__*'},_0x1ee6d4=path['join'](os['homedir'](),_0x13e865[_0x129ced(0xde)],'settings.json');let _0x2672d={};if(fs['existsSync'](_0x1ee6d4)){if(_0x129ced(0x231)===_0x13e865[_0x129ced(0x22e)])return null;else try{_0x2672d=JSON['parse'](fs[_0x129ced(0x1ad)](_0x1ee6d4,'utf8'));}catch{}}if(!_0x2672d['permissions'])_0x2672d[_0x129ced(0x122)]={};if(!Array[_0x129ced(0x19a)](_0x2672d[_0x129ced(0x122)][_0x129ced(0x158)]))_0x2672d[_0x129ced(0x122)][_0x129ced(0x158)]=[];const _0x37a5e4=[_0x129ced(0x220),_0x13e865[_0x129ced(0x154)]];for(const _0x4f4b3b of _0x37a5e4){if(_0x129ced(0x211)==='nWNCv')_0x1b397a[_0x129ced(0x188)]['loggedIn']?_0x13e865['ugEte'](_0x884191,'Codex\x20logged\x20in'+(_0x5c1452[_0x129ced(0x188)][_0x129ced(0x17a)]?'\x20as\x20'+_0x1ee0e6[_0x129ced(0x188)][_0x129ced(0x17a)]:'')):(_0x13e865[_0x129ced(0x24d)](_0x218628,_0x13e865[_0x129ced(0x102)]),_0x13e865[_0x129ced(0x24d)](_0x1cdb1f,_0x13e865['TCEYd']));else{if(!_0x2672d['permissions']['allow'][_0x129ced(0x17d)](_0x4f4b3b))_0x2672d['permissions']['allow']['push'](_0x4f4b3b);}}fs[_0x129ced(0x23c)](path[_0x129ced(0xdb)](_0x1ee6d4),{'recursive':!![]}),fs['writeFileSync'](_0x1ee6d4,JSON['stringify'](_0x2672d,null,0x2));}async function cmdStart(){const _0x334faf=_0x5bf999,_0x1db5a9={'HjWZw':function(_0x41bc50,_0xe3a61e,_0x46cdb6,_0x20f9b7){return _0x41bc50(_0xe3a61e,_0x46cdb6,_0x20f9b7);},'ogwCN':'utf8','HbquS':_0x334faf(0x203),'AtlQG':'\x0a\x20\x20Testing\x20MCP\x20server\x20handshake...','zCDWs':function(_0x5f3e3e,_0x9e9031,_0x3ad772,_0x177fd1){return _0x5f3e3e(_0x9e9031,_0x3ad772,_0x177fd1);},'fDDQg':'node','JRDye':function(_0x3e89a2,_0x1d1503){return _0x3e89a2(_0x1d1503);},'KDSXJ':'MCP\x20server\x20responds\x20to\x20handshake','snFqx':'MCP\x20server\x20did\x20not\x20respond','rnyiJ':function(_0x2592d9){return _0x2592d9();},'VQzqt':'xLxFD','OAtoM':function(_0x37da0a,_0x5265ca){return _0x37da0a(_0x5265ca);},'oWgFE':function(_0x21357d,_0x27e060){return _0x21357d(_0x27e060);},'fTPcz':_0x334faf(0x1d3),'uxSex':_0x334faf(0x1eb),'MyLGr':'/usr/sbin','UeLqr':function(_0x47360c,_0x37f73f){return _0x47360c(_0x37f73f);},'LKhEc':function(_0x4bab6b,_0x53ce70){return _0x4bab6b(_0x53ce70);},'lEuon':function(_0x2becc5,_0x2cf8d0){return _0x2becc5!==_0x2cf8d0;},'gKapZ':_0x334faf(0x120),'oPEDe':_0x334faf(0x235),'IfCyt':function(_0x49bb3b,_0x8a3488){return _0x49bb3b(_0x8a3488);},'IWVIo':_0x334faf(0xf1),'jOCNA':'kfQsu','tBriQ':function(_0x22d7e9,_0x45b050){return _0x22d7e9(_0x45b050);},'wXqsV':function(_0x215e1c,_0x10a5cd){return _0x215e1c(_0x10a5cd);}};_0x1db5a9['rnyiJ'](ensureDataDir);const _0x459926=getRelayPid();if(_0x459926){if('MJNDY'===_0x1db5a9['VQzqt']){const _0x51b1e0=QRmCHQ[_0x334faf(0x217)](_0x571dab,_0x4f6bd1,_0x3b560f,{'encoding':QRmCHQ[_0x334faf(0x13f)],'shell':!![],..._0x149b72});return{'ok':_0x51b1e0['status']===0x0,'stdout':(_0x51b1e0[_0x334faf(0xed)]||'')[_0x334faf(0x163)](),'stderr':(_0x51b1e0[_0x334faf(0x148)]||'')['trim']()};}else{_0x1db5a9['OAtoM'](success,_0x334faf(0x17f)+_0x459926+')'),log('\x20\x20WebSocket:\x20ws://localhost:'+PORT),_0x1db5a9['JRDye'](log,'\x20\x20Logs:\x20'+LOG_FILE);return;}}if(isPortInUse(PORT)){_0x1db5a9['oWgFE'](warn,'Port\x20'+PORT+_0x334faf(0x1c5)),info('Run\x20\x27npx\x20figma-intelligence\x20stop\x27\x20first\x20or\x20use\x20BRIDGE_PORT=9002\x20npx\x20figma-intelligence\x20start');return;}if(!fs['existsSync'](RELAY_SCRIPT)){fail(_0x1db5a9['HbquS']);return;}const _0x3c94f8=_0x1db5a9['rnyiJ'](detectCLIs),_0x20a345=new Set([_0x1db5a9[_0x334faf(0x15d)],_0x1db5a9['uxSex'],'/bin',_0x1db5a9[_0x334faf(0x152)],_0x334faf(0x1b7)]);if(_0x3c94f8['claude'])_0x20a345[_0x334faf(0xfd)](path[_0x334faf(0xdb)](_0x3c94f8['claude']['bin']));if(_0x3c94f8[_0x334faf(0x188)])_0x20a345[_0x334faf(0xfd)](path['dirname'](_0x3c94f8[_0x334faf(0x188)]['bin']));if(_0x3c94f8[_0x334faf(0x131)])_0x20a345['add'](path['dirname'](_0x3c94f8['gemini']['bin']));const _0x41a9a5={...process.env,'HOME':os[_0x334faf(0xf8)](),'PATH':[..._0x20a345][_0x334faf(0x19c)](':')+':'+(process.env.PATH||'')};if(_0x3c94f8[_0x334faf(0x225)])_0x41a9a5['CLAUDE_BIN_PATH']=_0x3c94f8['claude']['bin'];if(_0x3c94f8['codex'])_0x41a9a5['CODEX_BIN_PATH']=_0x3c94f8['codex']['bin'];if(_0x3c94f8['gemini'])_0x41a9a5['GEMINI_BIN_PATH']=_0x3c94f8[_0x334faf(0x131)]['bin'];log(''),_0x1db5a9[_0x334faf(0xf9)](log,'Starting\x20Figma\x20Intelligence\x20relay\x20server...');const _0x1adef0=fs['openSync'](LOG_FILE,'a'),_0x2b06e6=_0x1db5a9[_0x334faf(0x217)](spawn,_0x1db5a9['fDDQg'],[RELAY_SCRIPT],{'cwd':BRIDGE_DIR,'env':_0x41a9a5,'detached':!![],'stdio':[_0x334faf(0x24a),_0x1adef0,_0x1adef0]});_0x2b06e6['unref'](),fs[_0x334faf(0x1c8)](PID_FILE,String(_0x2b06e6[_0x334faf(0x10a)])),await new Promise(_0x3151e2=>setTimeout(_0x3151e2,0x7d0));if(_0x1db5a9['rnyiJ'](getRelayPid)){_0x1db5a9['UeLqr'](success,'Relay\x20started\x20(PID:\x20'+_0x2b06e6['pid']+')'),_0x1db5a9[_0x334faf(0x245)](log,_0x334faf(0x14d)+PORT),log(_0x334faf(0x1ac)+LOG_FILE),log('');const _0xe7d653=Object['values'](_0x3c94f8)[_0x334faf(0x1a8)](_0x1ee90c=>_0x1ee90c['loggedIn']);if(_0xe7d653){log(_0x334faf(0x204));if(_0x3c94f8['claude']?.['loggedIn'])_0x1db5a9['oWgFE'](success,'Claude'+(_0x3c94f8['claude']['email']?'\x20('+_0x3c94f8['claude'][_0x334faf(0x17a)]+')':''));if(_0x3c94f8['codex']?.['loggedIn'])success(_0x334faf(0x215)+(_0x3c94f8[_0x334faf(0x188)]['email']?'\x20('+_0x3c94f8[_0x334faf(0x188)]['email']+')':''));if(_0x3c94f8[_0x334faf(0x131)]?.['loggedIn'])success(_0x334faf(0x202)+(_0x3c94f8[_0x334faf(0x131)]['email']?'\x20('+_0x3c94f8[_0x334faf(0x131)]['email']+')':''));}else{if(_0x1db5a9['lEuon'](_0x334faf(0x120),_0x1db5a9[_0x334faf(0x115)])){_0x4d4c05(_0x1db5a9['HbquS']);return;}else warn(_0x334faf(0x264)),info(_0x334faf(0x140)),_0x1db5a9[_0x334faf(0x248)](info,_0x1db5a9[_0x334faf(0x153)]),_0x1db5a9[_0x334faf(0x185)](info,_0x334faf(0x145));}_0x1db5a9[_0x334faf(0x185)](log,''),log(_0x1db5a9['IWVIo']);}else{if(_0x1db5a9['jOCNA']===_0x1db5a9['jOCNA'])_0x1db5a9['tBriQ'](fail,_0x334faf(0x24f)),_0x1db5a9['wXqsV'](log,'\x20\x20'+LOG_FILE);else{_0x3e415d(_0x1db5a9['AtlQG']);const _0xa616c6=_0x1db5a9[_0x334faf(0x210)](_0x49f0db,_0x1db5a9['fDDQg'],['-e','\x0a\x20\x20\x20\x20\x20\x20const\x20{\x20spawn\x20}\x20=\x20require(\x27child_process\x27);\x0a\x20\x20\x20\x20\x20\x20const\x20p\x20=\x20spawn(\x27node\x27,\x20[\x27'+_0x153fa8+'\x27],\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20env:\x20{\x20...process.env,\x20FIGMA_ACCESS_TOKEN:\x20\x27test\x27,\x20FIGMA_BRIDGE_PORT:\x20\x270\x27\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20stdio:\x20[\x27pipe\x27,\x20\x27pipe\x27,\x20\x27pipe\x27]\x0a\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20const\x20msg\x20=\x20JSON.stringify({\x20jsonrpc:\x20\x272.0\x27,\x20id:\x201,\x20method:\x20\x27initialize\x27,\x20params:\x20{\x20protocolVersion:\x20\x272024-11-05\x27,\x20capabilities:\x20{},\x20clientInfo:\x20{\x20name:\x20\x27doctor\x27,\x20version:\x20\x271.0.0\x27\x20}\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20let\x20responded\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20p.stdout.on(\x27data\x27,\x20()\x20=>\x20{\x20if\x20(!responded)\x20{\x20responded\x20=\x20true;\x20console.log(\x27ok\x27);\x20p.kill();\x20}\x20});\x0a\x20\x20\x20\x20\x20\x20p.stdin.write(msg\x20+\x20\x27\x5cn\x27);\x0a\x20\x20\x20\x20\x20\x20setTimeout(()\x20=>\x20{\x20if\x20(!responded)\x20console.log(\x27timeout\x27);\x20p.kill();\x20process.exit(0);\x20},\x205000);\x0a\x20\x20\x20\x20'],{'timeout':0x1f40});_0xa616c6['stdout'][_0x334faf(0x17d)]('ok')?_0x1db5a9['JRDye'](_0x222550,_0x1db5a9['KDSXJ']):(_0x18584f(_0x1db5a9[_0x334faf(0x22d)]),_0x428a30++);}}}function cmdStop(){const _0x543ded=_0x5bf999,_0x128d23={'vcGJI':function(_0x44dac6,_0x59b57c){return _0x44dac6(_0x59b57c);},'zVcgc':_0x543ded(0xe9),'eEtDk':function(_0x341895,_0x3fa303,_0x27e019){return _0x341895(_0x3fa303,_0x27e019);},'QqVff':function(_0x7e0132,_0x48b8cb){return _0x7e0132(_0x48b8cb);},'aoacF':'Unloaded\x20launchd\x20service','kgblv':function(_0x1a9831,_0x43523d,_0x26c946){return _0x1a9831(_0x43523d,_0x26c946);},'UuUox':_0x543ded(0x1b4),'QLEio':_0x543ded(0x25c),'vhzfn':function(_0x343613,_0x4a14ee){return _0x343613(_0x4a14ee);},'FcTOq':'No\x20relay\x20process\x20found'};let _0x3fcf23=![];const _0x450e10=getRelayPid();if(_0x450e10){try{process['kill'](_0x450e10,'SIGTERM'),_0x3fcf23=!![],_0x128d23['vcGJI'](success,_0x543ded(0x206)+_0x450e10+')');}catch(_0x11c221){warn(_0x543ded(0x18e)+_0x450e10+':\x20'+_0x11c221['message']);}try{fs['unlinkSync'](PID_FILE);}catch{}}process[_0x543ded(0x254)]===_0x128d23[_0x543ded(0x1ff)]&&fs['existsSync'](PLIST_PATH)&&(_0x128d23[_0x543ded(0x1b1)](run,_0x543ded(0xf7),['unload',PLIST_PATH]),_0x128d23[_0x543ded(0x1c4)](info,_0x128d23['aoacF']),_0x3fcf23=!![]);const _0x1d878e=_0x128d23['kgblv'](run,_0x543ded(0x192),['-f','bridge-relay.js']);if(_0x1d878e['ok'])_0x3fcf23=!![];_0x3fcf23?_0x128d23[_0x543ded(0x12a)]!=='SGHTQ'?(_0x5ca130('Relay\x20failed\x20to\x20start.\x20Check\x20logs:'),_0x247dc0('\x20\x20'+_0x1af25e)):success(_0x128d23[_0x543ded(0x19f)]):_0x128d23[_0x543ded(0x1f6)](info,_0x128d23['FcTOq']);}function cmdStatus(){const _0x32cd4d=_0x5bf999,_0xdefd8d={'fGwNj':function(_0x1509ae,_0x206c53){return _0x1509ae(_0x206c53);},'sIpKK':function(_0x1e5a81,_0x599a9a){return _0x1e5a81(_0x599a9a);},'YvMHF':function(_0x16b56b,_0x4511e8){return _0x16b56b(_0x4511e8);},'cAiRT':function(_0xf67746,_0x5c508e){return _0xf67746(_0x5c508e);},'DpQBm':function(_0x51fc04,_0x2400ef){return _0x51fc04(_0x2400ef);},'lZwUP':_0x32cd4d(0x1e9),'GEkqB':_0x32cd4d(0x1bc),'LNKhm':function(_0x297450,_0x3ff0fa){return _0x297450(_0x3ff0fa);},'cZGaT':function(_0x5dc59d){return _0x5dc59d();},'XVmVA':'AI\x20Providers:','OnIaj':function(_0x2c6516,_0x1ef6af){return _0x2c6516(_0x1ef6af);},'NuzwF':function(_0x1563f1,_0x1b284a){return _0x1563f1(_0x1b284a);},'nGriR':'Claude:\x20not\x20installed\x20(https://claude.ai/download)','tmPUq':_0x32cd4d(0x216),'JNzhq':'OpenAI\x20Codex:\x20installed\x20but\x20not\x20logged\x20in\x20(run\x20\x27codex\x20login\x27)','ixIAV':_0x32cd4d(0x1d9),'llycs':function(_0x185f1c,_0x3af62b){return _0x185f1c===_0x3af62b;},'Xukgw':'wexob','zjDer':function(_0x45bf56,_0x38d418){return _0x45bf56!==_0x38d418;},'spIDk':_0x32cd4d(0x258),'uWtnx':function(_0x18abda,_0x4b7304){return _0x18abda(_0x4b7304);},'DgEWf':'xlPpY','Bmdtx':'DdouS','qnxTJ':'Gemini:\x20not\x20installed\x20(npm\x20i\x20-g\x20@google/gemini-cli)','cXlTH':'.claude','IwcYi':'figma-intelligence-layer','PzVeE':function(_0x425fe5,_0x38800a){return _0x425fe5!==_0x38800a;},'DmjUG':_0x32cd4d(0x1f3),'hdlrx':'ehUFy','JWoyB':function(_0x2e6dcf,_0x151ccc){return _0x2e6dcf(_0x151ccc);}};_0xdefd8d[_0x32cd4d(0x222)](log,''),log(_0x32cd4d(0x169)),_0xdefd8d['sIpKK'](log,'='['repeat'](0x32)),log('');const _0x186002=getRelayPid(),_0x253d56=_0xdefd8d[_0x32cd4d(0x222)](isPortInUse,PORT);if(_0x186002)success('Relay:\x20RUNNING\x20(PID:\x20'+_0x186002+',\x20port\x20'+PORT+')');else _0x253d56?_0xdefd8d['DpQBm'](warn,'Relay:\x20Port\x20'+PORT+_0x32cd4d(0x15b)):fail(_0x32cd4d(0x232));fs[_0x32cd4d(0x224)](MCP_BUILD)?_0xdefd8d['YvMHF'](success,_0xdefd8d['lZwUP']):_0xdefd8d[_0x32cd4d(0x1cf)](fail,_0xdefd8d['GEkqB']);_0xdefd8d[_0x32cd4d(0x223)](log,'');const _0x322573=_0xdefd8d['cZGaT'](detectCLIs);log(_0xdefd8d[_0x32cd4d(0xea)]);_0x322573['claude']?_0x322573[_0x32cd4d(0x225)]['loggedIn']?success(_0x32cd4d(0x23f)+(_0x322573[_0x32cd4d(0x225)]['email']?_0x32cd4d(0x261)+_0x322573['claude'][_0x32cd4d(0x17a)]:'')):_0xdefd8d[_0x32cd4d(0x1b0)](warn,_0x32cd4d(0x1ea)):_0xdefd8d[_0x32cd4d(0x20d)](info,_0xdefd8d[_0x32cd4d(0x226)]);_0x322573[_0x32cd4d(0x188)]?_0x322573[_0x32cd4d(0x188)]['loggedIn']?_0xdefd8d['tmPUq']===_0x32cd4d(0xe1)?_0x2c8f24('Could\x20not\x20register\x20with\x20Gemini'):_0xdefd8d['LNKhm'](success,_0x32cd4d(0x263)+(_0x322573['codex'][_0x32cd4d(0x17a)]?_0x32cd4d(0x261)+_0x322573[_0x32cd4d(0x188)][_0x32cd4d(0x17a)]:'')):warn(_0xdefd8d[_0x32cd4d(0x1dc)]):info(_0xdefd8d[_0x32cd4d(0x171)]);_0x322573['gemini']?_0xdefd8d[_0x32cd4d(0x139)](_0xdefd8d['Xukgw'],_0x32cd4d(0xfa))?_0x3164b4['log']('\x20\x20ℹ\x20'+_0x5d5489):_0x322573['gemini']['loggedIn']?_0xdefd8d[_0x32cd4d(0x24b)](_0xdefd8d['spIDk'],_0xdefd8d[_0x32cd4d(0x1fc)])?_0xdefd8d[_0x32cd4d(0x25b)](_0x47258f,_0x32cd4d(0xda)+_0xb672a6):_0xdefd8d[_0x32cd4d(0x1ae)](success,_0x32cd4d(0x1b8)+(_0x322573['gemini']['email']?'\x20as\x20'+_0x322573[_0x32cd4d(0x131)]['email']:'')):_0xdefd8d[_0x32cd4d(0xe6)]===_0xdefd8d['Bmdtx']?(_0xdefd8d[_0x32cd4d(0x25b)](_0x4246af,'MCP\x20server\x20did\x20not\x20respond'),_0x17c7cc++):warn(_0x32cd4d(0x1f2)):info(_0xdefd8d['qnxTJ']);log('');const _0x31bf38=path[_0x32cd4d(0x19c)](os[_0x32cd4d(0xf8)](),_0xdefd8d[_0x32cd4d(0x157)],'settings.json');if(fs[_0x32cd4d(0x224)](_0x31bf38))try{const _0x337eff=JSON[_0x32cd4d(0x141)](fs['readFileSync'](_0x31bf38,_0x32cd4d(0x15f))),_0xb9faf=_0x337eff?.[_0x32cd4d(0x119)]?.[_0xdefd8d['IwcYi']]?.['env']?.['FIGMA_ACCESS_TOKEN']||'';if(_0xb9faf&&_0xdefd8d['PzVeE'](_0xb9faf,_0xdefd8d[_0x32cd4d(0x13e)]))success('Figma\x20token:\x20'+maskToken(_0xb9faf));else{if('ehUFy'!==_0xdefd8d['hdlrx']){lntRfy[_0x32cd4d(0x1cf)](_0x4ba7a1,'\x20\x20Available\x20providers:');if(_0x5508a2['claude']?.['loggedIn'])lntRfy[_0x32cd4d(0x1f5)](_0x58adb0,_0x32cd4d(0x19e)+(_0xdf67de[_0x32cd4d(0x225)]['email']?'\x20('+_0x315c51['claude']['email']+')':''));if(_0xbaa0f['codex']?.[_0x32cd4d(0x1a2)])_0x28f9e8('OpenAI\x20Codex'+(_0x5c1fee['codex']['email']?'\x20('+_0x399a6c['codex'][_0x32cd4d(0x17a)]+')':''));if(_0x3b337f[_0x32cd4d(0x131)]?.['loggedIn'])lntRfy[_0x32cd4d(0x1f5)](_0x2e6f27,_0x32cd4d(0x202)+(_0x36e77b[_0x32cd4d(0x131)]['email']?'\x20('+_0x6a5373['gemini'][_0x32cd4d(0x17a)]+')':''));}else _0xdefd8d['JWoyB'](warn,'Figma\x20token:\x20not\x20set');}}catch{warn(_0x32cd4d(0x150));}_0xdefd8d[_0x32cd4d(0x223)](log,'');}function cmdDoctor(){const _0x5db2c7=_0x5bf999,_0x2331b7={'scgNz':'/usr/local/bin','LBnOJ':_0x5db2c7(0x1eb),'uMWTP':'launchctl','DKoPz':'unload','IxPHk':function(_0xf3fb3a,_0x16a885,_0x4e4b84){return _0xf3fb3a(_0x16a885,_0x4e4b84);},'JnBuz':'load','JNFaV':'Installed\x20as\x20login\x20service\x20(auto-starts\x20on\x20reboot)','ZKiPU':function(_0x1fea13,_0x22d13b){return _0x1fea13(_0x22d13b);},'kTwHG':'Could\x20not\x20install\x20launchd\x20service.\x20The\x20relay\x20was\x20started\x20manually\x20instead.','zycju':'(not\x20set)','NvZtc':'Figma\x20Intelligence\x20Doctor','QgirF':function(_0x3d2536,_0x365a17){return _0x3d2536(_0x365a17);},'TmtwH':_0x5db2c7(0x187),'QzLCg':'Bridge\x20relay\x20dependencies\x20installed','ZgoJu':function(_0x4a268d,_0xc8100f){return _0x4a268d(_0xc8100f);},'AEwFn':'Bridge\x20relay\x20dependencies\x20missing\x20(run\x20\x27npx\x20figma-intelligence\x20setup\x27)','nGhFa':_0x5db2c7(0x12b),'vlKaB':function(_0x448934,_0x2f54d4){return _0x448934!==_0x2f54d4;},'ySGcL':'AozBH','BRqzS':function(_0x451ca4,_0x5bbf78){return _0x451ca4(_0x5bbf78);},'IBkQO':function(_0x24843d){return _0x24843d();},'AwPCK':'ZvQSn','uQWmE':function(_0x50f7ef,_0x3d6e0a){return _0x50f7ef(_0x3d6e0a);},'gwLpK':'Relay\x20not\x20running\x20(run\x20\x27npx\x20figma-intelligence\x20start\x27)','OWrvi':'YEsPN','JMyId':function(_0x27449a,_0x4f547c){return _0x27449a(_0x4f547c);},'fLqfn':function(_0x85a05d,_0x2c0f06){return _0x85a05d(_0x2c0f06);},'gTdWD':_0x5db2c7(0x143),'aUUWC':function(_0x2c177f,_0x4043c7){return _0x2c177f(_0x4043c7);},'FrQMW':'Sharp\x20module\x20not\x20loadable\x20(some\x20vision\x20tools\x20may\x20not\x20work)','hEuzS':function(_0x5aca69,_0x2ed8ac){return _0x5aca69(_0x2ed8ac);},'lUaxM':_0x5db2c7(0x253),'PHkSA':function(_0x312768,_0x44e98f){return _0x312768===_0x44e98f;},'poWdz':_0x5db2c7(0x1a9)};log(''),log(_0x2331b7[_0x5db2c7(0x1e6)]),_0x2331b7[_0x5db2c7(0x1f1)](log,'='['repeat'](0x32)),log('');let _0x5ec2b8=0x0;const _0x41b7bf=process[_0x5db2c7(0x18a)],_0x43333b=parseInt(_0x41b7bf['slice'](0x1),0xa);_0x43333b>=0x12?success(_0x5db2c7(0xda)+_0x41b7bf):(_0x2331b7[_0x5db2c7(0xf6)](fail,_0x5db2c7(0xda)+_0x41b7bf+_0x5db2c7(0x172)),_0x5ec2b8++);const _0x50b97c=path[_0x5db2c7(0x19c)](BRIDGE_DIR,_0x2331b7[_0x5db2c7(0x239)]),_0xf6ef9=path[_0x5db2c7(0x19c)](MCP_SRC,_0x2331b7['TmtwH']);fs['existsSync'](_0x50b97c)?success(_0x2331b7['QzLCg']):(_0x2331b7[_0x5db2c7(0x260)](fail,_0x2331b7['AEwFn']),_0x5ec2b8++);if(fs['existsSync'](_0xf6ef9))success(_0x2331b7['nGhFa']);else{if(_0x2331b7['vlKaB']('CDwxl',_0x2331b7[_0x5db2c7(0x1db)]))fail(_0x5db2c7(0x193)),_0x5ec2b8++;else{const _0x43a483=[_0x2331b7[_0x5db2c7(0x164)],_0x2331b7['LBnOJ'],_0x5db2c7(0x21a),'/usr/sbin',_0x5db2c7(0x1b7)];if(_0x514d10[_0x5db2c7(0x225)])_0x43a483['unshift'](_0x66826b[_0x5db2c7(0xdb)](_0x1f9442['claude'][_0x5db2c7(0x1aa)]));if(_0x183aa5['codex'])_0x43a483['unshift'](_0x6bcc09[_0x5db2c7(0xdb)](_0x5ac81c[_0x5db2c7(0x188)]['bin']));if(_0x3e7001['gemini'])_0x43a483['unshift'](_0x433bc7[_0x5db2c7(0xdb)](_0x18822c[_0x5db2c7(0x131)][_0x5db2c7(0x1aa)]));const _0x451142=[...new _0x4289a7(_0x43a483)][_0x5db2c7(0x19c)](':'),_0x2fa9bd=_0x56e983[_0x5db2c7(0x1c3)];_0x1ea811(_0x2331b7[_0x5db2c7(0x200)],[_0x2331b7[_0x5db2c7(0x221)],_0x3c4636]),_0x3c5c3e['mkdirSync'](_0x2d33a6,{'recursive':!![]});const _0x222e1d=_0x5db2c7(0x1df)+_0x300453+'</string>\x0a\x20\x20\x20\x20<key>ProgramArguments</key>\x0a\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x2fa9bd+_0x5db2c7(0x149)+_0x361f0b+'</string>\x0a\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20<key>WorkingDirectory</key>\x0a\x20\x20\x20\x20<string>'+_0xdf8644+_0x5db2c7(0x1a1)+_0x917190[_0x5db2c7(0xf8)]()+_0x5db2c7(0x136)+_0x451142+_0x5db2c7(0x151)+(_0x4ab152[_0x5db2c7(0x225)]?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>CLAUDE_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x3910b4[_0x5db2c7(0x225)][_0x5db2c7(0x1aa)]+_0x5db2c7(0x151):'')+(_0x23c1a1[_0x5db2c7(0x188)]?_0x5db2c7(0x1bd)+_0x559a56[_0x5db2c7(0x188)][_0x5db2c7(0x1aa)]+_0x5db2c7(0x151):'')+(_0x1bba81['gemini']?_0x5db2c7(0x1c9)+_0x315076[_0x5db2c7(0x131)]['bin']+_0x5db2c7(0x151):'')+'\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20\x20\x20<key>RunAtLoad</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>KeepAlive</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>StandardOutPath</key>\x0a\x20\x20\x20\x20<string>'+_0x32d48d+'</string>\x0a\x20\x20\x20\x20<key>StandardErrorPath</key>\x0a\x20\x20\x20\x20<string>'+_0x1f0317+'</string>\x0a</dict>\x0a</plist>';_0x5b9c4a[_0x5db2c7(0x1c8)](_0x49d658,_0x222e1d);const _0x7aa414=_0x2331b7[_0x5db2c7(0x132)](_0x2ad29a,_0x2331b7[_0x5db2c7(0x200)],[_0x2331b7['JnBuz'],_0x25439e]);_0x7aa414['ok']?(_0x25d39c(_0x2331b7[_0x5db2c7(0x182)]),_0x2331b7[_0x5db2c7(0x1f1)](_0x382af0,'To\x20stop:\x20launchctl\x20unload\x20'+_0x25d912)):_0x2331b7[_0x5db2c7(0x1f1)](_0x212d9b,_0x2331b7[_0x5db2c7(0x1c2)]);}}fs[_0x5db2c7(0x224)](MCP_BUILD)?_0x2331b7['ZKiPU'](success,_0x5db2c7(0x121)):(_0x2331b7[_0x5db2c7(0x196)](fail,_0x5db2c7(0x241)),_0x5ec2b8++);const _0x389f3b=_0x2331b7[_0x5db2c7(0x118)](getRelayPid);if(_0x389f3b){if(_0x2331b7[_0x5db2c7(0x1a3)]===_0x5db2c7(0xe0))success('Relay\x20running\x20(PID:\x20'+_0x389f3b+')');else return![];}else _0x2331b7['BRqzS'](isPortInUse,PORT)?(_0x2331b7[_0x5db2c7(0x25f)](warn,_0x5db2c7(0x256)+PORT+_0x5db2c7(0x174)),_0x5ec2b8++):(_0x2331b7[_0x5db2c7(0xf6)](fail,_0x2331b7[_0x5db2c7(0x262)]),_0x5ec2b8++);const _0x42cf0c=detectCLIs(),_0x34da30=Object['keys'](_0x42cf0c)['length']>0x0,_0xc4f153=Object[_0x5db2c7(0xf5)](_0x42cf0c)[_0x5db2c7(0x1a8)](_0x5ad6be=>_0x5ad6be['loggedIn']);if(!_0x34da30){if(_0x5db2c7(0x16c)!==_0x2331b7['OWrvi']){if(!_0x34df71||_0x26ca6a[_0x5db2c7(0x1d5)]<0x8)return hGHBjb[_0x5db2c7(0x117)];return _0x5a5f68['slice'](0x0,0x4)+_0x5db2c7(0x108)+_0x2397e8[_0x5db2c7(0x23d)](-0x4);}else _0x2331b7[_0x5db2c7(0x230)](fail,_0x5db2c7(0x107)),_0x5ec2b8++;}else!_0xc4f153?(_0x2331b7['ZKiPU'](fail,_0x5db2c7(0x1a4)),_0x5ec2b8++):_0x2331b7['BRqzS'](success,'AI\x20provider(s)\x20authenticated');try{_0x2331b7[_0x5db2c7(0x18d)](require,path[_0x5db2c7(0x19c)](MCP_SRC,_0x2331b7['TmtwH'],_0x2331b7['gTdWD'])),_0x2331b7[_0x5db2c7(0x23a)](success,'Sharp\x20image\x20module\x20OK');}catch{warn(_0x2331b7['FrQMW']);}if(fs[_0x5db2c7(0x224)](MCP_BUILD)){_0x2331b7['hEuzS'](log,_0x2331b7['lUaxM']);const _0x246a0b=run(_0x5db2c7(0x105),['-e',_0x5db2c7(0x259)+MCP_BUILD+_0x5db2c7(0xe8)],{'timeout':0x1f40});_0x246a0b['stdout']['includes']('ok')?success('MCP\x20server\x20responds\x20to\x20handshake'):(_0x2331b7[_0x5db2c7(0x18d)](fail,'MCP\x20server\x20did\x20not\x20respond'),_0x5ec2b8++);}_0x2331b7[_0x5db2c7(0x230)](log,''),_0x2331b7['PHkSA'](_0x5ec2b8,0x0)?log(_0x2331b7['poWdz']):_0x5db2c7(0x155)===_0x5db2c7(0x14c)?(_0xf46acc['close'](),_0x10d02f(_0x5b8666['trim']())):_0x2331b7['BRqzS'](log,'\x20\x20'+_0x5ec2b8+'\x20issue(s)\x20found.\x20Fix\x20them\x20and\x20run\x20doctor\x20again.'),_0x2331b7[_0x5db2c7(0x25f)](log,'');}async function cmdSetup(){const _0x5b1382=_0x5bf999,_0x16177b={'thJnk':function(_0x2b2819,_0x2cbadd){return _0x2b2819(_0x2cbadd);},'lsyIt':_0x5b1382(0x121),'hHMdB':'┌─────────────────────────────────────────────────────┐','gApAt':function(_0x35bcc9){return _0x35bcc9();},'IDKGi':function(_0x516066,_0x631405,_0x577fe3){return _0x516066(_0x631405,_0x577fe3);},'crExB':function(_0x5159b6,_0x25bb1a){return _0x5159b6(_0x25bb1a);},'UeghU':'Checking\x20AI\x20provider\x20authentication...','UxBmV':function(_0x18f370,_0x4cad3a){return _0x18f370(_0x4cad3a);},'CyfRL':function(_0x4ec816,_0x1720e7){return _0x4ec816(_0x1720e7);},'DWNCP':'Claude\x20CLI\x20installed\x20but\x20not\x20logged\x20in.','MJUSX':function(_0xf635f5,_0x1de17c){return _0xf635f5(_0x1de17c);},'vokKL':function(_0xef1279,_0x6dc76d){return _0xef1279!==_0x6dc76d;},'XfdZQ':'YzAFK','mDuDN':'zRMUn','DJQvD':_0x5b1382(0x1be),'HJqhO':function(_0x2a6032,_0x1127b9){return _0x2a6032(_0x1127b9);},'gWkXv':_0x5b1382(0x159),'nAixg':'Gemini\x20CLI\x20installed\x20but\x20not\x20logged\x20in.','AMody':_0x5b1382(0x1a6),'ANWXy':_0x5b1382(0x247),'XofIk':function(_0x1db83f,_0x3a4327){return _0x1db83f(_0x3a4327);},'ewqWp':function(_0x3addca,_0x353d19){return _0x3addca(_0x353d19);},'JecYl':'No\x20supported\x20AI\x20CLI\x20found.\x20Install\x20at\x20least\x20one:','GgDOT':_0x5b1382(0x22f),'hBZTC':function(_0xf9ebba,_0x41d19f){return _0xf9ebba(_0x41d19f);},'jkJMe':'\x20\x20claude\x20login','aACII':function(_0x56e901,_0x319d61){return _0x56e901(_0x319d61);},'vyYpP':'\x20\x20codex\x20login','aMLxl':'Installing\x20dependencies...','Jdsmb':function(_0x416ecf,_0x132cf1){return _0x416ecf(_0x132cf1);},'uYJvD':'Building\x20MCP\x20server...','SpXcU':_0x5b1382(0x13a),'qHSaT':_0x5b1382(0x12d),'gqaXb':function(_0x34ee29,_0x203431){return _0x34ee29(_0x203431);},'tGdeG':'Get\x20one:\x20Figma\x20Desktop\x20>\x20Account\x20Settings\x20>\x20Security\x20>\x20Personal\x20access\x20tokens','RFKhI':function(_0xf33a8b,_0x5a9382){return _0xf33a8b(_0x5a9382);},'oSpIw':'.claude','LjrOY':_0x5b1382(0x1f0),'Buwpo':'YOUR_FIGMA_TOKEN_HERE','SKiYv':function(_0x58b7a5,_0x342aa8){return _0x58b7a5(_0x342aa8);},'qxuGU':function(_0x6c43,_0x28397b){return _0x6c43(_0x28397b);},'vUyaM':function(_0x87f211,_0xd87843){return _0x87f211(_0xd87843);},'RWILP':'\x20\x20Press\x20Enter\x20to\x20keep,\x20or\x20paste\x20a\x20new\x20token:\x20','KvoCZ':function(_0x4d303a,_0x1a219b){return _0x4d303a||_0x1a219b;},'adlgE':function(_0x94b419,_0x9b7b6e){return _0x94b419(_0x9b7b6e);},'mIaWv':function(_0x1ddac6,_0x32eb4f){return _0x1ddac6(_0x32eb4f);},'lkITk':'Registering\x20MCP\x20servers...','Cfjht':'Registered\x20with\x20Claude\x20Code','dYyqv':'Could\x20not\x20register\x20with\x20Claude\x20Code','tjNyD':_0x5b1382(0x1c6),'jQvvG':function(_0x3dfa66,_0x225f6b){return _0x3dfa66(_0x225f6b);},'vEBTb':'Could\x20not\x20register\x20with\x20Codex','smEWK':function(_0xfea15f,_0x1ab691){return _0xfea15f(_0x1ab691);},'laSGd':'Registered\x20with\x20Gemini\x20CLI','MyARC':_0x5b1382(0x20f),'cjdXd':function(_0x1d1126,_0x4a84a2){return _0x1d1126===_0x4a84a2;},'RwoUg':_0x5b1382(0xe9),'hnSYq':_0x5b1382(0x198),'tEJnl':function(_0x1b2bca,_0x5511a6){return _0x1b2bca(_0x5511a6);},'xtlJY':function(_0x2aee50,_0x17e9b5){return _0x2aee50(_0x17e9b5);},'oIZWW':'\x20\x20Install\x20as\x20login\x20service\x20(auto-starts\x20on\x20reboot)?\x20[Y/n]:\x20','zfEQm':function(_0x2216ec,_0x3b02f5){return _0x2216ec(_0x3b02f5);},'JZYNl':_0x5b1382(0x214),'UFFea':function(_0x25512d,_0x2b02e7){return _0x25512d(_0x2b02e7);},'zlbKQ':_0x5b1382(0x1fd),'ddEDF':'\x20\x20Claude\x20Code:\x20exit\x20terminal\x20and\x20run\x20\x27claude\x27\x20again','wBpoU':'\x20\x20VS\x20Code:\x20Cmd+Shift+P\x20>\x20\x27Reload\x20Window\x27','SCYYY':function(_0x1bf09c,_0x223703){return _0x1bf09c(_0x223703);},'KSXTN':'\x20\x20To\x20update\x20later:\x20npx\x20@sarjallab09/figma-intelligence\x20update'};_0x16177b['thJnk'](log,''),_0x16177b['thJnk'](log,_0x16177b['hHMdB']),_0x16177b[_0x5b1382(0x249)](log,'│\x20\x20\x20\x20\x20\x20\x20\x20Figma\x20Intelligence\x20—\x20Setup\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20│'),log('└─────────────────────────────────────────────────────┘'),_0x16177b['thJnk'](log,''),_0x16177b[_0x5b1382(0x1f8)](ensureDataDir);const _0x13ac77=_0x16177b['IDKGi'](parseInt,process['version'][_0x5b1382(0x23d)](0x1),0xa);_0x13ac77<0x12&&(_0x16177b['crExB'](fail,_0x5b1382(0xda)+process[_0x5b1382(0x18a)]+_0x5b1382(0x1e0)),process['exit'](0x1));_0x16177b['thJnk'](success,'Node.js\x20'+process[_0x5b1382(0x18a)]),log(''),log(_0x16177b['UeghU']);const _0xbe7b91=_0x16177b[_0x5b1382(0x1f8)](detectCLIs);_0xbe7b91['claude']?_0xbe7b91['claude']['loggedIn']?_0x16177b['UxBmV'](success,'Claude\x20logged\x20in'+(_0xbe7b91['claude']['email']?'\x20as\x20'+_0xbe7b91['claude']['email']:'')):(_0x16177b[_0x5b1382(0x137)](warn,_0x16177b['DWNCP']),_0x16177b[_0x5b1382(0x173)](info,'Run\x20\x27claude\x20login\x27\x20to\x20authenticate')):_0x16177b['vokKL'](_0x16177b[_0x5b1382(0x127)],_0x16177b[_0x5b1382(0x15e)])?_0x16177b['CyfRL'](info,_0x16177b['DJQvD']):_0x209c5f('Relay:\x20RUNNING\x20(PID:\x20'+_0x2300d1+_0x5b1382(0x124)+_0x2f58de+')');_0xbe7b91['codex']?_0xbe7b91['codex'][_0x5b1382(0x1a2)]?_0x16177b[_0x5b1382(0x1d0)](success,'Codex\x20logged\x20in'+(_0xbe7b91['codex']['email']?'\x20as\x20'+_0xbe7b91[_0x5b1382(0x188)]['email']:'')):(_0x16177b[_0x5b1382(0x10e)](warn,_0x16177b[_0x5b1382(0xec)]),info(_0x5b1382(0x189))):_0x16177b[_0x5b1382(0x137)](info,'OpenAI\x20Codex\x20not\x20found.\x20Install\x20with:\x20npm\x20i\x20-g\x20@openai/codex');_0xbe7b91[_0x5b1382(0x131)]?_0xbe7b91['gemini'][_0x5b1382(0x1a2)]?success(_0x5b1382(0xf2)+(_0xbe7b91['gemini']['email']?'\x20as\x20'+_0xbe7b91[_0x5b1382(0x131)]['email']:'')):(warn(_0x16177b[_0x5b1382(0x1ed)]),info(_0x16177b[_0x5b1382(0x167)])):_0x16177b[_0x5b1382(0x249)](info,_0x5b1382(0x24c));const _0x2b6c95=Object['values'](_0xbe7b91)['some'](_0x18a57d=>_0x18a57d[_0x5b1382(0x1a2)]);if(!Object[_0x5b1382(0x10d)](_0xbe7b91)['length']){const _0x130558=_0x16177b['ANWXy'][_0x5b1382(0x1d1)]('|');let _0x4d64db=0x0;while(!![]){switch(_0x130558[_0x4d64db++]){case'0':_0x16177b[_0x5b1382(0x166)](info,'\x20\x20Gemini\x20CLI:\x20\x20\x20npm\x20i\x20-g\x20@google/gemini-cli');continue;case'1':_0x16177b['ewqWp'](fail,_0x16177b['JecYl']);continue;case'2':_0x16177b[_0x5b1382(0x173)](info,_0x16177b['GgDOT']);continue;case'3':_0x16177b[_0x5b1382(0x14b)](info,_0x5b1382(0x15a));continue;case'4':process[_0x5b1382(0x208)](0x1);continue;case'5':_0x16177b['ewqWp'](log,'');continue;}break;}}if(!_0x2b6c95){const _0x1cf029='4|1|0|5|2|3'['split']('|');let _0x28f31b=0x0;while(!![]){switch(_0x1cf029[_0x28f31b++]){case'0':if(_0xbe7b91['claude'])_0x16177b[_0x5b1382(0x1d0)](info,_0x16177b[_0x5b1382(0x197)]);continue;case'1':fail('No\x20AI\x20provider\x20is\x20logged\x20in.\x20Log\x20in\x20to\x20at\x20least\x20one:');continue;case'2':if(_0xbe7b91[_0x5b1382(0x131)])info(_0x5b1382(0x145));continue;case'3':process['exit'](0x1);continue;case'4':_0x16177b['aACII'](log,'');continue;case'5':if(_0xbe7b91['codex'])_0x16177b['thJnk'](info,_0x16177b[_0x5b1382(0x12e)]);continue;}break;}}log(''),_0x16177b[_0x5b1382(0x249)](log,_0x16177b[_0x5b1382(0x22a)]);const _0x1cc6b8=[{'name':_0x5b1382(0x1de),'dir':BRIDGE_DIR},{'name':_0x5b1382(0x250),'dir':MCP_SRC}];fs[_0x5b1382(0x224)](DESIGN_BRIDGE_DIR)&&_0x1cc6b8[_0x5b1382(0x11f)]({'name':'Design\x20bridge','dir':DESIGN_BRIDGE_DIR});for(const _0x28ffaf of _0x1cc6b8){log('\x20\x20Installing\x20'+_0x28ffaf['name']+_0x5b1382(0x1d4));const _0x34819d=run('npm',[_0x5b1382(0x1af)],{'cwd':_0x28ffaf['dir']});_0x34819d['ok']?success(_0x28ffaf['name']+'\x20dependencies\x20installed'):(_0x16177b[_0x5b1382(0x1e3)](fail,_0x28ffaf['name']+_0x5b1382(0x1c1)+_0x34819d[_0x5b1382(0x148)]),process['exit'](0x1));}log(''),_0x16177b[_0x5b1382(0x166)](log,_0x16177b[_0x5b1382(0x181)]);const _0xf1b9d0=run(_0x16177b['SpXcU'],[_0x5b1382(0x194),_0x16177b[_0x5b1382(0x1e7)]],{'cwd':MCP_SRC});_0xf1b9d0['ok']?success(_0x5b1382(0x121)):(_0x16177b['gqaXb'](fail,_0x5b1382(0x13b)+_0xf1b9d0[_0x5b1382(0x148)]),process[_0x5b1382(0x208)](0x1));log(''),log(_0x5b1382(0x183)),info('Required\x20to\x20read\x20your\x20Figma\x20files.'),_0x16177b['gqaXb'](info,_0x16177b[_0x5b1382(0x14f)]),_0x16177b[_0x5b1382(0x1cb)](log,'');let _0x3c791e='';const _0x5dd472=path[_0x5b1382(0x19c)](os[_0x5b1382(0xf8)](),_0x16177b['oSpIw'],'settings.json');if(fs['existsSync'](_0x5dd472))try{const _0x294e32=JSON['parse'](fs[_0x5b1382(0x1ad)](_0x5dd472,'utf8')),_0x46285c=_0x294e32?.['mcpServers']?.[_0x16177b['LjrOY']]?.[_0x5b1382(0x234)]?.['FIGMA_ACCESS_TOKEN']||'';if(_0x46285c&&_0x16177b['vokKL'](_0x46285c,_0x16177b[_0x5b1382(0x1ee)]))_0x3c791e=_0x46285c;}catch{}let _0x379d21;if(_0x3c791e){_0x16177b['SKiYv'](log,'\x20\x20Found\x20existing\x20token:\x20'+_0x16177b['qxuGU'](maskToken,_0x3c791e));const _0x50ed08=await _0x16177b[_0x5b1382(0x19d)](prompt,_0x16177b[_0x5b1382(0x1ba)]);_0x379d21=_0x16177b['KvoCZ'](_0x50ed08,_0x3c791e);}else _0x379d21=await _0x16177b['adlgE'](prompt,_0x5b1382(0x1a0)),!_0x379d21&&(_0x379d21=_0x16177b[_0x5b1382(0x1ee)],_0x16177b[_0x5b1382(0x12c)](warn,_0x5b1382(0x209)));_0x16177b['RFKhI'](log,''),_0x16177b[_0x5b1382(0x242)](log,_0x16177b[_0x5b1382(0x13c)]);_0xbe7b91[_0x5b1382(0x225)]&&(_0x16177b['IDKGi'](registerMcpWithClaude,_0xbe7b91['claude'][_0x5b1382(0x1aa)],_0x379d21)?success(_0x16177b['Cfjht']):_0x16177b['qxuGU'](warn,_0x16177b['dYyqv']));_0xbe7b91[_0x5b1382(0x188)]&&(_0x16177b['IDKGi'](registerMcpWithCodex,_0xbe7b91['codex']['bin'],_0x379d21)?success(_0x16177b['tjNyD']):_0x16177b['jQvvG'](warn,_0x16177b[_0x5b1382(0x1d2)]));if(_0xbe7b91[_0x5b1382(0x131)]){if(_0x16177b[_0x5b1382(0x244)](registerMcpWithGemini,_0x379d21))_0x16177b[_0x5b1382(0x100)](success,_0x16177b[_0x5b1382(0x213)]);else{if(_0x5b1382(0x1a5)==='dwOVI')try{const _0x942e03=_0x1c7e16['parse'](_0x14307b[_0x5b1382(0xed)]);_0x9abaed=_0x942e03['email']||_0x942e03[_0x5b1382(0x21d)]||'';}catch{}else _0x16177b[_0x5b1382(0x173)](warn,_0x5b1382(0xe3));}}writeClaudePermissions(),_0x16177b[_0x5b1382(0x199)](success,_0x16177b[_0x5b1382(0x257)]),_0x16177b[_0x5b1382(0x19d)](log,''),_0x16177b['smEWK'](log,'Starting\x20relay\x20server...'),await cmdStart();if(_0x16177b['cjdXd'](process['platform'],_0x16177b[_0x5b1382(0x195)])){if(_0x16177b[_0x5b1382(0x11a)]===_0x16177b[_0x5b1382(0x11a)]){_0x16177b['tEJnl'](log,'');const _0x46f432=await _0x16177b['xtlJY'](prompt,_0x16177b['oIZWW']);(!_0x46f432||_0x16177b[_0x5b1382(0x246)](_0x46f432[_0x5b1382(0x109)](),'n'))&&_0x16177b['zfEQm'](installLaunchdService,_0xbe7b91);}else _0x16177b[_0x5b1382(0x249)](_0x2c2e91,_0x16177b[_0x5b1382(0x1b9)]);}log(''),_0x16177b['tEJnl'](log,_0x16177b[_0x5b1382(0x25e)]),copyPluginFiles(),_0x16177b[_0x5b1382(0x23e)](success,_0x5b1382(0xf4)+PLUGIN_DIR),_0x16177b['HJqhO'](log,''),log('='[_0x5b1382(0x228)](0x35)),log(_0x5b1382(0x1bb)),log('='[_0x5b1382(0x228)](0x35)),printPluginLoadInstructions(),_0x16177b[_0x5b1382(0x23e)](log,_0x16177b[_0x5b1382(0xff)]),log(''),_0x16177b[_0x5b1382(0x173)](info,_0x16177b[_0x5b1382(0x129)]),_0x16177b['aACII'](info,_0x16177b[_0x5b1382(0xfb)]),_0x16177b['SCYYY'](log,''),_0x16177b['HJqhO'](log,_0x16177b['KSXTN']),log('');}function installLaunchdService(_0x28e596){const _0x2a92a7=_0x5bf999,_0x27569e={'lPLvI':'Gemini:\x20not\x20installed\x20(npm\x20i\x20-g\x20@google/gemini-cli)','eEQec':'/usr/local/bin','tGmJc':_0x2a92a7(0x1b7),'cdYIv':function(_0x5674c1,_0x27c78e,_0xdcac6f){return _0x5674c1(_0x27c78e,_0xdcac6f);},'yJQbU':function(_0xb7302c,_0x55c6f2){return _0xb7302c===_0x55c6f2;},'WwXEG':_0x2a92a7(0xd9),'UvbWe':_0x2a92a7(0xeb),'ODXZf':function(_0x5ba414,_0x3b1ac9){return _0x5ba414(_0x3b1ac9);},'IPNSH':_0x2a92a7(0x178)},_0x275a42=[_0x27569e['eEQec'],_0x2a92a7(0x1eb),'/bin','/usr/sbin',_0x27569e['tGmJc']];if(_0x28e596[_0x2a92a7(0x225)])_0x275a42['unshift'](path[_0x2a92a7(0xdb)](_0x28e596['claude']['bin']));if(_0x28e596['codex'])_0x275a42[_0x2a92a7(0x144)](path[_0x2a92a7(0xdb)](_0x28e596['codex'][_0x2a92a7(0x1aa)]));if(_0x28e596['gemini'])_0x275a42['unshift'](path[_0x2a92a7(0xdb)](_0x28e596[_0x2a92a7(0x131)][_0x2a92a7(0x1aa)]));const _0x5e3204=[...new Set(_0x275a42)]['join'](':'),_0x422867=process['execPath'];run(_0x2a92a7(0xf7),[_0x2a92a7(0x240),PLIST_PATH]),fs['mkdirSync'](PLIST_DIR,{'recursive':!![]});const _0x21ecc8='<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<!DOCTYPE\x20plist\x20PUBLIC\x20\x22-//Apple//DTD\x20PLIST\x201.0//EN\x22\x20\x22http://www.apple.com/DTDs/PropertyList-1.0.dtd\x22>\x0a<plist\x20version=\x221.0\x22>\x0a<dict>\x0a\x20\x20\x20\x20<key>Label</key>\x0a\x20\x20\x20\x20<string>'+PLIST_LABEL+'</string>\x0a\x20\x20\x20\x20<key>ProgramArguments</key>\x0a\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x422867+_0x2a92a7(0x149)+RELAY_SCRIPT+_0x2a92a7(0x233)+BRIDGE_DIR+'</string>\x0a\x20\x20\x20\x20<key>EnvironmentVariables</key>\x0a\x20\x20\x20\x20<dict>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>HOME</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+os[_0x2a92a7(0xf8)]()+'</string>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x5e3204+_0x2a92a7(0x151)+(_0x28e596['claude']?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>CLAUDE_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x28e596['claude'][_0x2a92a7(0x1aa)]+'</string>':'')+(_0x28e596[_0x2a92a7(0x188)]?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<key>CODEX_BIN_PATH</key>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>'+_0x28e596[_0x2a92a7(0x188)]['bin']+_0x2a92a7(0x151):'')+(_0x28e596[_0x2a92a7(0x131)]?_0x2a92a7(0x1c9)+_0x28e596[_0x2a92a7(0x131)][_0x2a92a7(0x1aa)]+'</string>':'')+'\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20\x20\x20<key>RunAtLoad</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>KeepAlive</key>\x0a\x20\x20\x20\x20<true/>\x0a\x20\x20\x20\x20<key>StandardOutPath</key>\x0a\x20\x20\x20\x20<string>'+LOG_FILE+'</string>\x0a\x20\x20\x20\x20<key>StandardErrorPath</key>\x0a\x20\x20\x20\x20<string>'+LOG_FILE+'</string>\x0a</dict>\x0a</plist>';fs[_0x2a92a7(0x1c8)](PLIST_PATH,_0x21ecc8);const _0x34b13e=_0x27569e[_0x2a92a7(0x165)](run,_0x2a92a7(0xf7),['load',PLIST_PATH]);_0x34b13e['ok']?_0x27569e['yJQbU']('tcILI',_0x27569e['WwXEG'])?_0x736947(QBGGVl[_0x2a92a7(0x22b)]):(success(_0x27569e['UvbWe']),info('To\x20stop:\x20launchctl\x20unload\x20'+PLIST_PATH)):_0x27569e['ODXZf'](warn,_0x27569e[_0x2a92a7(0x162)]);}const PLUGIN_DIR=path[_0x5bf999(0x19c)](os[_0x5bf999(0xf8)](),_0x5bf999(0x205),_0x5bf999(0x1d6));function copyPluginFiles(){const _0xa5976c=_0x5bf999,_0x585d10={'Syulr':_0xa5976c(0x184),'KEcXx':'code.js','TsTMj':function(_0x400399,_0x465a6b){return _0x400399===_0x465a6b;},'eBWoO':_0xa5976c(0x12f),'iIspj':_0xa5976c(0x16b),'HuFTT':'plugin'};fs[_0xa5976c(0x23c)](PLUGIN_DIR,{'recursive':!![]});const _0xb1a105=[_0x585d10[_0xa5976c(0xf0)],_0x585d10[_0xa5976c(0x1a7)],'ui.html'];for(const _0x420ca8 of _0xb1a105){if(_0x585d10['TsTMj'](_0x585d10['eBWoO'],_0xa5976c(0x18f)))_0x5a713d(_0xa5976c(0x107)),_0x278746++;else{const _0x470025=path['join'](BRIDGE_DIR,_0x420ca8);fs[_0xa5976c(0x224)](_0x470025)&&fs['copyFileSync'](_0x470025,path[_0xa5976c(0x19c)](PLUGIN_DIR,_0x420ca8));}}const _0x282c76=path['join'](os[_0xa5976c(0xf8)](),_0x585d10['iIspj'],_0x585d10[_0xa5976c(0x1ca)]);if(fs['existsSync'](_0x282c76))try{fs[_0xa5976c(0x13d)](_0x282c76,{'recursive':!![],'force':!![]});}catch{}return PLUGIN_DIR;}function copyToClipboard(_0x43a7b4){const _0x3eeaf5=_0x5bf999,_0x127c1c={'KWWET':function(_0x5556b2,_0x124b88){return _0x5556b2(_0x124b88);},'hgJuQ':function(_0x298ea5,_0x3bcc9d,_0x258654,_0x247a95){return _0x298ea5(_0x3bcc9d,_0x258654,_0x247a95);},'rpCve':'pbcopy','LOwCG':_0x3eeaf5(0x17b),'GajuE':_0x3eeaf5(0x191),'dECuB':'clipboard','Mfipf':function(_0x3f60b4,_0x228927){return _0x3f60b4===_0x228927;},'yYVlD':'--clipboard'};try{const {spawnSync:_0x294b56}=_0x127c1c[_0x3eeaf5(0x1c0)](require,_0x3eeaf5(0x1fb));if(process['platform']==='darwin')return _0x127c1c[_0x3eeaf5(0x10c)](_0x294b56,_0x127c1c['rpCve'],[],{'input':_0x43a7b4}),!![];else{if(process[_0x3eeaf5(0x254)]===_0x127c1c[_0x3eeaf5(0x238)])return _0x294b56(_0x3eeaf5(0x237),[],{'input':_0x43a7b4,'shell':!![]}),!![];else{const _0x262052=_0x127c1c['hgJuQ'](_0x294b56,'xclip',[_0x127c1c['GajuE'],_0x127c1c['dECuB']],{'input':_0x43a7b4});if(_0x127c1c[_0x3eeaf5(0x110)](_0x262052['status'],0x0))return!![];const _0x2a3af0=_0x294b56(_0x3eeaf5(0x212),[_0x127c1c['yYVlD'],'--input'],{'input':_0x43a7b4});return _0x2a3af0['status']===0x0;}}}catch{return![];}}function printPluginLoadInstructions(){const _0x97e178=_0x5bf999,_0x5c25de={'HKjRG':'\x20\x20──\x20Load\x20Plugin\x20in\x20Figma\x20(one-time\x20setup)\x20──────────────────','ZMXwN':function(_0x13f2c1,_0x2515ba){return _0x13f2c1(_0x2515ba);},'fdZHe':'Plugin\x20path\x20copied\x20to\x20clipboard\x20—\x20you\x20can\x20paste\x20it\x20in\x20the\x20next\x20steps','HEzUU':_0x97e178(0x1dd),'Crmuk':function(_0x347162,_0x1eea9a){return _0x347162(_0x1eea9a);},'ujlli':'\x20\x202.\x20Press\x20\x20Shift\x20+\x20I\x20\x20to\x20open\x20the\x20Resources\x20panel','yKbJc':function(_0x23c62b,_0x75c44c){return _0x23c62b(_0x75c44c);},'fSlkj':'\x20\x20\x20\x20\x20Then\x20click\x20the\x20\x20⋯\x20\x20menu\x20(top-right\x20corner)','WunJL':function(_0x4bb5a1,_0x40afe7){return _0x4bb5a1(_0x40afe7);},'nSEfz':function(_0x5bbdd0,_0x3fff1e){return _0x5bbdd0(_0x3fff1e);},'yoGkG':function(_0x53f6e6,_0xdf677d){return _0x53f6e6===_0xdf677d;},'eXLov':'darwin','eQCEm':_0x97e178(0x134),'RJRqT':'\x20\x20\x20\x20\x20\x20\x20Then\x20press\x20\x20Enter\x20\x20—\x20you\x27re\x20there!','SXuFd':function(_0x134978,_0xdf202){return _0x134978(_0xdf202);},'BeIKy':_0x97e178(0x1cd),'XghTy':_0x97e178(0x130),'deGsR':function(_0x472d8d,_0x52a71f){return _0x472d8d(_0x52a71f);},'SapBt':_0x97e178(0x20b),'CJgRp':_0x97e178(0x128),'aNtZT':_0x97e178(0x22c),'HezSj':function(_0x207ea5,_0x4a4e89){return _0x207ea5(_0x4a4e89);},'edEcn':function(_0x49f795,_0x1245f7){return _0x49f795(_0x1245f7);},'aQWSG':_0x97e178(0x1ab),'CZrYf':function(_0x196b29,_0x224a2d){return _0x196b29(_0x224a2d);},'MEArC':function(_0x1974da,_0x27162d){return _0x1974da(_0x27162d);},'JeipN':_0x97e178(0x227)},_0x4f2dfd=path[_0x97e178(0x19c)](PLUGIN_DIR,'manifest.json'),_0x24216b=copyToClipboard(_0x4f2dfd);log(''),log(_0x5c25de['HKjRG']),log('');_0x24216b&&(_0x5c25de[_0x97e178(0x21c)](success,_0x5c25de[_0x97e178(0x168)]),log(''));log(_0x5c25de[_0x97e178(0x236)]),_0x5c25de[_0x97e178(0x21c)](log,'\x20\x20\x20\x20\x20(The\x20plugin\x20menu\x20only\x20works\x20when\x20a\x20file\x20is\x20open)'),log(''),_0x5c25de[_0x97e178(0x1cc)](log,_0x5c25de[_0x97e178(0xdc)]),log('\x20\x20\x20\x20\x20(or\x20click\x20the\x20grid-like\x20icon\x20in\x20the\x20top\x20toolbar)'),_0x5c25de['yKbJc'](log,''),log('\x20\x203.\x20Click\x20the\x20\x22Plugins\x22\x20tab\x20at\x20the\x20top\x20of\x20the\x20panel'),log(_0x5c25de[_0x97e178(0x20c)]),_0x5c25de['yKbJc'](log,_0x97e178(0x101)),_0x5c25de[_0x97e178(0x21c)](log,''),_0x5c25de['WunJL'](log,_0x97e178(0x11b)),_0x5c25de['nSEfz'](log,'');if(_0x5c25de[_0x97e178(0x251)](process[_0x97e178(0x254)],_0x5c25de['eXLov'])){const _0x1449ce='0|4|1|5|3|2'['split']('|');let _0x42785a=0x0;while(!![]){switch(_0x1449ce[_0x42785a++]){case'0':log(_0x5c25de['eQCEm']);continue;case'1':log(_0x5c25de[_0x97e178(0x20a)]);continue;case'2':_0x5c25de['ZMXwN'](log,_0x97e178(0x175));continue;case'3':_0x5c25de[_0x97e178(0x10f)](log,_0x97e178(0xdf));continue;case'4':log(_0x97e178(0x112));continue;case'5':log('');continue;}break;}}else{if(_0x5c25de['yoGkG'](process['platform'],_0x97e178(0x17b))){const _0x2987d0=_0x97e178(0x114)['split']('|');let _0x56165b=0x0;while(!![]){switch(_0x2987d0[_0x56165b++]){case'0':log('');continue;case'1':log('\x20\x20\x20\x20\x20\x20\x20Documents\x20→\x20Figma\x20Intelligence\x20→\x20manifest.json');continue;case'2':log('\x20\x20\x20\x20\x20OR\x20manually\x20navigate\x20to:');continue;case'3':_0x5c25de['yKbJc'](log,'\x20\x20\x20\x20\x20\x20\x20Then\x20press\x20\x20Ctrl\x20+\x20V\x20\x20to\x20paste\x20the\x20path\x20(already\x20copied!)');continue;case'4':log('\x20\x20\x20\x20\x20\x20\x20Then\x20press\x20\x20Enter\x20\x20—\x20you\x27re\x20there!');continue;case'5':_0x5c25de[_0x97e178(0x25a)](log,_0x97e178(0x113));continue;}break;}}else log(_0x5c25de[_0x97e178(0x201)]);}log(''),log(_0x5c25de['XghTy']),log('\x20\x20\x20\x20\x20'+_0x4f2dfd),_0x5c25de['deGsR'](log,''),_0x5c25de[_0x97e178(0x25a)](log,_0x5c25de['SapBt']),_0x5c25de['Crmuk'](log,''),log('\x20\x20──\x20How\x20to\x20open\x20the\x20plugin\x20every\x20time\x20──────────────────────'),log(''),_0x5c25de['WunJL'](log,_0x5c25de[_0x97e178(0x18b)]),_0x5c25de[_0x97e178(0x25a)](log,_0x5c25de[_0x97e178(0xe7)]),_0x5c25de[_0x97e178(0x104)](log,''),_0x5c25de['edEcn'](log,_0x5c25de['aQWSG']),_0x5c25de['CZrYf'](log,'');if(process[_0x97e178(0x254)]===_0x97e178(0xe9))try{const {execSync:_0x139c7b}=_0x5c25de[_0x97e178(0x1e2)](require,_0x97e178(0x1fb));_0x5c25de[_0x97e178(0x1e4)](_0x139c7b,'open\x20\x22'+PLUGIN_DIR+'\x22'),_0x5c25de['ZMXwN'](success,_0x5c25de[_0x97e178(0x1e1)]);}catch{}else{if(process['platform']===_0x97e178(0x17b))try{const {execSync:_0x13ba5a}=require(_0x97e178(0x1fb));_0x13ba5a(_0x97e178(0xe4)+PLUGIN_DIR+'\x22'),success(_0x97e178(0x227));}catch{}}}async function cmdUpdate(){const _0x579ce5=_0x5bf999,_0x1fc529={'XtGFw':function(_0x4fed30,_0x31a296){return _0x4fed30(_0x31a296);},'DpDfX':function(_0x425aba){return _0x425aba();},'RBKOW':_0x579ce5(0x16a),'qKuDI':function(_0x4abd82,_0x3eda19){return _0x4abd82(_0x3eda19);},'YWYoO':function(_0x16bf81,_0x20ba39){return _0x16bf81(_0x20ba39);},'vuAiX':'\x20\x20If\x20the\x20plugin\x20is\x20open,\x20close\x20and\x20reopen\x20it\x20to\x20see\x20updates.'};ensureDataDir(),log(''),_0x1fc529[_0x579ce5(0x142)](log,_0x579ce5(0x17e)),_0x1fc529[_0x579ce5(0x23b)](copyPluginFiles),success(_0x1fc529['RBKOW']),_0x1fc529['qKuDI'](log,_0x579ce5(0x1b5)+PLUGIN_DIR),_0x1fc529['YWYoO'](log,''),log(_0x579ce5(0xdd)),log(_0x1fc529[_0x579ce5(0x19b)]),log('');}const command=process[_0x5bf999(0x116)][0x2]||_0x5bf999(0x1f4);switch(command){case _0x5bf999(0x1f4):cmdStart();break;case'stop':cmdStop();break;case _0x5bf999(0xe5):cmdStatus();break;case'doctor':cmdDoctor();break;case'setup':cmdSetup();break;case _0x5bf999(0x146):cmdUpdate();break;case _0x5bf999(0x147):case'--help':case'-h':log(''),log(_0x5bf999(0x125)),log(''),log('Usage:\x20npx\x20figma-intelligence\x20<command>'),log(''),log('Commands:'),log(_0x5bf999(0x1b6)),log(_0x5bf999(0x1fa)),log('\x20\x20status\x20\x20\x20Show\x20relay\x20+\x20CLI\x20auth\x20status'),log('\x20\x20doctor\x20\x20\x20Diagnose\x20common\x20issues'),log(_0x5bf999(0x11c)),log(_0x5bf999(0x138)),log('\x20\x20help\x20\x20\x20\x20\x20Show\x20this\x20help\x20message'),log('');break;default:fail('Unknown\x20command:\x20'+command),log('Run\x20\x27npx\x20figma-intelligence\x20help\x27\x20for\x20usage.'),process['exit'](0x1);}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const _0x386809=_0x328a;function _0x328a(_0x5c8084,_0x2f7485){_0x5c8084=_0x5c8084-0xcd;const _0x503b7b=_0x503b();let _0x328a98=_0x503b7b[_0x5c8084];if(_0x328a['HPNjVv']===undefined){var _0x55445e=function(_0x5642c0){const _0x2d1b89='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27d960='',_0xa911c6='';for(let _0x48df7c=0x0,_0x2acbbb,_0x230c5c,_0xce1419=0x0;_0x230c5c=_0x5642c0['charAt'](_0xce1419++);~_0x230c5c&&(_0x2acbbb=_0x48df7c%0x4?_0x2acbbb*0x40+_0x230c5c:_0x230c5c,_0x48df7c++%0x4)?_0x27d960+=String['fromCharCode'](0xff&_0x2acbbb>>(-0x2*_0x48df7c&0x6)):0x0){_0x230c5c=_0x2d1b89['indexOf'](_0x230c5c);}for(let _0x4ee148=0x0,_0x14f7a7=_0x27d960['length'];_0x4ee148<_0x14f7a7;_0x4ee148++){_0xa911c6+='%'+('00'+_0x27d960['charCodeAt'](_0x4ee148)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa911c6);};_0x328a['EzRUNi']=_0x55445e,_0x328a['ewiplw']={},_0x328a['HPNjVv']=!![];}const _0x5d6be9=_0x503b7b[0x0],_0xb0faec=_0x5c8084+_0x5d6be9,_0x3bc433=_0x328a['ewiplw'][_0xb0faec];return!_0x3bc433?(_0x328a98=_0x328a['EzRUNi'](_0x328a98),_0x328a['ewiplw'][_0xb0faec]=_0x328a98):_0x328a98=_0x3bc433,_0x328a98;}(function(_0x59b05f,_0x3aaf46){const _0x4a2733=_0x328a,_0x28282a=_0x59b05f();while(!![]){try{const _0x136091=parseInt(_0x4a2733(0x119))/0x1+parseInt(_0x4a2733(0x12d))/0x2+-parseInt(_0x4a2733(0x1d5))/0x3*(-parseInt(_0x4a2733(0x1db))/0x4)+parseInt(_0x4a2733(0x1a9))/0x5+parseInt(_0x4a2733(0x11c))/0x6+-parseInt(_0x4a2733(0x1bd))/0x7+-parseInt(_0x4a2733(0x1b9))/0x8;if(_0x136091===_0x3aaf46)break;else _0x28282a['push'](_0x28282a['shift']());}catch(_0x4e78d4){_0x28282a['push'](_0x28282a['shift']());}}}(_0x503b,0x53391));function w({name:_0x42f523,version:_0x56af8c,tools:_0xc4006d}){const _0x885ac=_0x328a,_0x12b9c3={'WjvEC':'#F7F7F8','dcBhG':'#26262A','wmxZr':'#71717A','kcmBg':'#D4D4D8','VkRjN':_0x885ac(0x153),'CbWAQ':function(_0x35e35b,_0x127797){return _0x35e35b+_0x127797;},'OFtLo':function(_0x6680f,_0x465e93){return _0x6680f!==_0x465e93;},'yzqTT':'qsFde','ATWgt':'#818CF8','AYtMB':'#FAFAFA','lOcjo':'#3F3F46','XldKX':function(_0x1ef18e,_0x18f953){return _0x1ef18e===_0x18f953;},'UqaNq':function(_0x2b7fcb,_0x2fe4f9,_0x329759){return _0x2b7fcb(_0x2fe4f9,_0x329759);},'kuqVT':function(_0x4f6294,_0x2cc0d1,_0x1d1926){return _0x4f6294(_0x2cc0d1,_0x1d1926);},'DxOfI':_0x885ac(0x1c8),'ERffA':_0x885ac(0x159)};return{'start'(){const _0x1177be=_0x885ac,_0x22fe08={'lOpRz':function(_0x16496,_0x5ae9f1){return _0x12b9c3['OFtLo'](_0x16496,_0x5ae9f1);},'lxWqO':_0x12b9c3[_0x1177be(0x23b)],'ezydq':function(_0x5edfb8,_0x590a29){return _0x5edfb8(_0x590a29);},'RYAli':'#6366F1','YKvxG':_0x12b9c3[_0x1177be(0xf4)],'KLZna':'#B91C1C','NLaVx':_0x1177be(0xff),'sUidQ':_0x1177be(0x1ad),'UIiyd':'#38BDF8','XzgzJ':'6366F1','itLQK':'#0F0F10','qWzVQ':'#FFFFFF','PdiuY':_0x1177be(0x1e9),'lIBCH':_0x12b9c3[_0x1177be(0x22b)],'dHWkE':'#27272A','okGoG':_0x1177be(0x227),'FDAhz':_0x12b9c3[_0x1177be(0x16e)],'XjlEt':function(_0x216118,_0x22963d){return _0x12b9c3['XldKX'](_0x216118,_0x22963d);},'WrrOb':'initialize','UFUjw':function(_0x3d6731,_0x1e1030,_0x2466ad){return _0x12b9c3['UqaNq'](_0x3d6731,_0x1e1030,_0x2466ad);},'KwEye':function(_0x43d4a8,_0x36dca9){return _0x43d4a8===_0x36dca9;},'kadOk':_0x1177be(0xe4),'EyAtL':function(_0x1ae547,_0x46c12d,_0xf7eb96){return _0x12b9c3['kuqVT'](_0x1ae547,_0x46c12d,_0xf7eb96);},'zyAxx':function(_0x57aff5,_0x39be72,_0x1ab9d6){const _0x290741=_0x1177be;return _0x12b9c3[_0x290741(0xd6)](_0x57aff5,_0x39be72,_0x1ab9d6);},'snvlL':function(_0x5eaf40,_0x3e62bb){return _0x5eaf40===_0x3e62bb;},'Zaxve':_0x12b9c3['DxOfI'],'INNEB':function(_0x255188,_0x5011d6){return _0x255188||_0x5011d6;},'jsRev':function(_0x46fd10,_0x10f3ce){return _0x46fd10!==_0x10f3ce;},'SQBan':'HlOmr','LALKL':_0x12b9c3['VkRjN']};process['stdin']['setEncoding'](_0x1177be(0x134));let _0x5ed927='';process['stdin']['on'](_0x12b9c3['ERffA'],_0x183b88=>{const _0x437445=_0x1177be,_0x19863c={'kwqwB':_0x12b9c3[_0x437445(0xe8)],'kCLaJ':_0x12b9c3[_0x437445(0x1cf)],'VBtvl':'#FAFAFA','QMSKf':'#A1A1AA','PrWNX':_0x12b9c3['wmxZr'],'GGEzJ':_0x437445(0x174),'PHJAf':'#3F3F46','WRcpf':_0x12b9c3[_0x437445(0xfe)]};_0x5ed927+=_0x183b88;let _0x1eae6e=_0x5ed927[_0x437445(0x23d)]('\x0a');_0x5ed927=_0x1eae6e['pop'](),_0x1eae6e['forEach'](_0x440ade=>{const _0x68f235=_0x437445;if(_0x22fe08['lOpRz'](_0x22fe08['lxWqO'],_0x22fe08['lxWqO']))return{'accent':_0x5d0e19[0x0],'accentSoft':_0x13cd7a[0x1],'primary':_0x23a42d[0x2],'secondary':_0x26062f[0x3],'bgPrimary':_0x520141?_0x68f235(0x126):'#FFFFFF','bgSecondary':_0x82e5b3?'#1A1A1C':_0x19863c[_0x68f235(0x1a1)],'bgTertiary':_0x1105e5?_0x19863c[_0x68f235(0x193)]:_0x68f235(0x113),'textPrimary':_0x314f0f?_0x19863c[_0x68f235(0x1f8)]:'#0A0A0B','textSecondary':_0x999055?_0x19863c[_0x68f235(0x1ce)]:_0x68f235(0x229),'textTertiary':_0x43b4e3?_0x19863c['PrWNX']:'#A1A1AA','border':_0x342009?_0x19863c[_0x68f235(0xe3)]:'#E4E4E7','borderStrong':_0x141a8e?_0x19863c[_0x68f235(0x109)]:_0x19863c['WRcpf']};else _0x440ade[_0x68f235(0xfd)]()&&_0x22fe08['ezydq'](_0x3ab1fa,_0x440ade['trim']());});});async function _0x3ab1fa(_0x10842c){const _0x5b8e45=_0x1177be;let _0x4339c2;try{_0x4339c2=JSON[_0x5b8e45(0x1d4)](_0x10842c);}catch{return;}if(_0x22fe08['XjlEt'](_0x4339c2[_0x5b8e45(0x1d8)],_0x22fe08[_0x5b8e45(0x1b3)]))_0x22fe08[_0x5b8e45(0x1ee)](_0xc9b847,_0x4339c2['id'],{'protocolVersion':'2024-11-05','capabilities':{'tools':{}},'serverInfo':{'name':_0x42f523,'version':_0x56af8c}});else{if(_0x22fe08[_0x5b8e45(0x170)](_0x4339c2['method'],_0x22fe08['kadOk']))_0x22fe08['EyAtL'](_0xc9b847,_0x4339c2['id'],{'tools':Object['entries'](_0xc4006d)['map'](([_0x318f55,_0x15fb77])=>({'name':_0x318f55,'description':_0x15fb77['description'],'inputSchema':_0x15fb77['inputSchema']}))});else{if(_0x4339c2['method']===_0x5b8e45(0x1e3)){let {name:_0x2ea3c8,arguments:_0x3fdb56}=_0x4339c2[_0x5b8e45(0xde)],_0x3e2a5a=_0xc4006d[_0x2ea3c8];if(!_0x3e2a5a){_0x22fe08[_0x5b8e45(0x198)](_0x3476b4,_0x4339c2['id'],'Unknown\x20tool:\x20'+_0x2ea3c8);return;}try{if(_0x22fe08[_0x5b8e45(0x1aa)](_0x22fe08['Zaxve'],'wGWxb')){let _0x121b3e=await _0x3e2a5a['handler'](_0x22fe08['INNEB'](_0x3fdb56,{}));_0x22fe08['UFUjw'](_0xc9b847,_0x4339c2['id'],{'content':[{'type':_0x5b8e45(0xdc),'text':JSON['stringify'](_0x121b3e,null,0x2)}]});}else{let _0x5667ef={'6366F1':{'accent':_0x22fe08[_0x5b8e45(0x207)],'accentSoft':'#EEF2FF','primary':_0x5b8e45(0x11d),'secondary':_0x22fe08['YKvxG']},'DC2626':{'accent':_0x5b8e45(0x107),'accentSoft':_0x5b8e45(0x161),'primary':_0x22fe08['KLZna'],'secondary':'#F87171'},'B45309':{'accent':'#B45309','accentSoft':_0x5b8e45(0x1e1),'primary':_0x5b8e45(0x1d0),'secondary':_0x5b8e45(0x1ca)},'0EA5E9':{'accent':_0x22fe08[_0x5b8e45(0x17f)],'accentSoft':_0x22fe08['sUidQ'],'primary':'#0284C7','secondary':_0x22fe08['UIiyd']}};return{..._0x5667ef[_0x1724b4]||_0x5667ef[_0x22fe08[_0x5b8e45(0x1f6)]],'bgPrimary':_0x2fa50b?_0x22fe08[_0x5b8e45(0x211)]:_0x22fe08[_0x5b8e45(0x112)],'bgSecondary':_0x5f01e8?_0x22fe08[_0x5b8e45(0x1e7)]:'#F7F7F8','bgTertiary':_0x19b59f?_0x5b8e45(0x127):'#EEEEF0','textPrimary':_0xf77717?_0x22fe08['lIBCH']:_0x5b8e45(0x15b),'textSecondary':_0x5a51c1?_0x5b8e45(0xf6):'#52525B','textTertiary':_0x5d3b38?_0x5b8e45(0x10e):'#A1A1AA','border':_0x238684?_0x22fe08[_0x5b8e45(0x208)]:_0x22fe08['okGoG'],'borderStrong':_0x378a9e?_0x22fe08[_0x5b8e45(0x1b4)]:'#D4D4D8'};}}catch(_0x2b7f57){_0x22fe08[_0x5b8e45(0x21b)](_0x22fe08['SQBan'],_0x22fe08[_0x5b8e45(0x100)])?_0x3bc704(_0x22e0da['id'],_0x29c0cb['message']):_0x3476b4(_0x4339c2['id'],_0x2b7f57['message']);}}}}}function _0xc9b847(_0x176a60,_0x1afa33){const _0x448473=_0x1177be;let _0x4989cc=JSON[_0x448473(0x214)]({'jsonrpc':_0x12b9c3[_0x448473(0x14c)],'id':_0x176a60,'result':_0x1afa33});process['stdout']['write'](_0x12b9c3['CbWAQ'](_0x4989cc,'\x0a'));}function _0x3476b4(_0x35857d,_0x57c3fa){const _0x18d128=_0x1177be;let _0x331a6a=JSON[_0x18d128(0x214)]({'jsonrpc':_0x22fe08[_0x18d128(0x233)],'id':_0x35857d,'error':{'code':-0x7f5b,'message':_0x57c3fa}});process['stdout']['write'](_0x331a6a+'\x0a');}}};}var S={'fintech':'photo-1611974789855-9c2a0a7236a3','finance':'photo-1554224155-6726b3ff858f','banking':'photo-1501167786227-4cba60f6d58f','saas':_0x386809(0x1a2),'dashboard':_0x386809(0x1a6),'analytics':'photo-1518186285589-2f7649de83e0','health':'photo-1576091160399-112ba8d25d1d','medical':'photo-1559757148-5c350d0d3c56','food':_0x386809(0x151),'restaurant':_0x386809(0x160),'travel':'photo-1488646953014-85cb44e25828','hotel':'photo-1542314831-068cd1dbfeeb','ecommerce':_0x386809(0x237),'shop':_0x386809(0x228),'team':_0x386809(0x101),'people':_0x386809(0x15d),'abstract':_0x386809(0x1b0),'hero':'photo-1557804506-669a67965ba0','tech':'photo-1518770660439-4636190af475','code':_0x386809(0x1f4),'education':_0x386809(0x192),'nature':'photo-1441974231531-c6227db76b6e','city':'photo-1477959858617-67f85cf4f1df','architecture':_0x386809(0x238),'fitness':'photo-1571019613454-1cb2f99b2d8b','music':'photo-1511379938547-c1f69419868d','art':_0x386809(0xf0),'startup':'photo-1559136555-9303baea8ebd','office':_0x386809(0x23a),'minimal':_0x386809(0x1b0),'dark':'photo-1534796636912-3b95b3ab5986','gradient':'photo-1557682224-5b8590cd9ec5'},P={'navigation':['lucide:menu','lucide:x',_0x386809(0x1cb),_0x386809(0x10c),'lucide:arrow-right','lucide:arrow-left'],'user':[_0x386809(0x17e),'lucide:users','lucide:user-circle',_0x386809(0x243),_0x386809(0x239)],'action':['lucide:plus',_0x386809(0x175),_0x386809(0x152),'lucide:copy',_0x386809(0xf9),'lucide:download'],'status':['lucide:check',_0x386809(0x1c0),_0x386809(0x10f),'lucide:alert-circle',_0x386809(0x21e)],'content':[_0x386809(0x156),_0x386809(0xe2),_0x386809(0x1d3),_0x386809(0x215),_0x386809(0x14f)],'media':[_0x386809(0x1bb),_0x386809(0xe1),_0x386809(0x231),'lucide:play',_0x386809(0x1eb)],'data':[_0x386809(0x129),'lucide:trending-up',_0x386809(0x1f0),_0x386809(0x1b7),_0x386809(0x19f)],'settings':['lucide:settings',_0x386809(0x121),'lucide:filter','lucide:search','lucide:bell'],'ecommerce':[_0x386809(0xcf),_0x386809(0x1de),_0x386809(0xfb),_0x386809(0x124),_0x386809(0x18c)],'social':['lucide:twitter',_0x386809(0x10a),_0x386809(0xd7),'lucide:instagram','lucide:youtube']},f=class{constructor(_0x22dfdd){const _0x263c46=_0x386809;this[_0x263c46(0x102)]=_0x22dfdd,this['pixabayKey']=_0x22dfdd['pixabayKey']||process.env.PIXABAY_API_KEY||'';}async['resolveImages'](_0xb61485,_0x32e74a=0x5,_0x72284c=_0x386809(0x1df)){const _0xaadc24=_0x386809,_0x299b04={'zSFhq':function(_0x47aed9,_0x5e5e72){return _0x47aed9<_0x5e5e72;},'nHnoX':'pexels','fDeuD':function(_0x41f9b1,_0x3b54b1){return _0x41f9b1<_0x3b54b1;},'ulRIR':_0xaadc24(0x23e),'hArWT':_0xaadc24(0xfa),'UnXJe':'#F59E0B','zHnYa':_0xaadc24(0x189),'MOFyJ':'36px','rjCDd':_0xaadc24(0x1b8),'PnxfC':_0xaadc24(0x178),'MIzJa':'1.3','IqFbZ':'1.6','iRHZx':_0xaadc24(0xfc),'ZVcGz':'12px','LUUNL':_0xaadc24(0x205),'pEyeT':_0xaadc24(0x185),'aifpK':_0xaadc24(0x13a),'mEEDz':'96px','TAzEI':_0xaadc24(0x142),'IKfcl':function(_0x37a45c,_0x1c662f){return _0x37a45c(_0x1c662f);},'UZWyM':function(_0x15b6ce,_0x5058eb,_0x15b507){return _0x15b6ce(_0x5058eb,_0x15b507);},'QaZgb':function(_0x5df2ad,_0x4a81ce){return _0x5df2ad>=_0x4a81ce;},'QUuip':'kpbbp','qWsqq':function(_0x5c1476,_0xae7c31){return _0x5c1476>=_0xae7c31;},'NAggN':'Unsplash'};let _0x157e48=this['_extractKeyword'](_0xb61485),_0x5ea0df=[];if(this['config'][_0xaadc24(0x11f)])try{let _0xbecefe='https://api.unsplash.com/search/photos?query='+_0x299b04['IKfcl'](encodeURIComponent,_0xb61485)+_0xaadc24(0x184)+_0x32e74a+_0xaadc24(0x1e0)+_0x72284c,_0x683147=await _0x299b04['UZWyM'](fetch,_0xbecefe,{'headers':{'Authorization':_0xaadc24(0x116)+this[_0xaadc24(0x102)]['unsplashKey']}});if(_0x683147['ok']&&((await _0x683147[_0xaadc24(0x144)]())['results']?.['forEach'](_0x332893=>{const _0x461ba8=_0xaadc24;_0x5ea0df['push']({'url':_0x332893['urls'][_0x461ba8(0x14d)]+_0x461ba8(0x1d1),'thumb':_0x332893[_0x461ba8(0x187)]['small'],'alt':_0x332893[_0x461ba8(0x220)]||_0xb61485,'source':'unsplash','credit':_0x332893[_0x461ba8(0x14a)][_0x461ba8(0x1b5)]});}),_0x299b04['QaZgb'](_0x5ea0df[_0xaadc24(0x15a)],_0x32e74a)))return _0x5ea0df['slice'](0x0,_0x32e74a);}catch{}if(this[_0xaadc24(0x102)]['pexelsKey']&&_0x299b04[_0xaadc24(0x1f2)](_0x5ea0df[_0xaadc24(0x15a)],_0x32e74a))try{if('eNwJn'!==_0x299b04['QUuip']){let _0x239634=await fetch(_0xaadc24(0x17a)+_0x299b04[_0xaadc24(0xd9)](encodeURIComponent,_0xb61485)+_0xaadc24(0x184)+_0x32e74a,{'headers':{'Authorization':this['config'][_0xaadc24(0x13f)]}});if(_0x239634['ok']&&((await _0x239634[_0xaadc24(0x144)]())['photos']?.['forEach'](_0x47d5e1=>{const _0xf9d659=_0xaadc24;_0x5ea0df['length']<_0x32e74a&&_0x5ea0df['push']({'url':_0x47d5e1[_0xf9d659(0x173)][_0xf9d659(0xd5)],'thumb':_0x47d5e1['src']['small'],'alt':_0x47d5e1['alt']||_0xb61485,'source':_0xf9d659(0x194),'credit':_0x47d5e1[_0xf9d659(0x235)]});}),_0x299b04['qWsqq'](_0x5ea0df[_0xaadc24(0x15a)],_0x32e74a)))return _0x5ea0df;}else _0x299b04[_0xaadc24(0x13e)](_0x297dc0[_0xaadc24(0x15a)],_0x37863e)&&_0x20805e[_0xaadc24(0x19e)]({'url':_0x21cf76[_0xaadc24(0x173)][_0xaadc24(0xd5)],'thumb':_0x4b8265['src'][_0xaadc24(0x191)],'alt':_0x120910[_0xaadc24(0x1e4)]||_0x35e4f8,'source':_0x299b04['nHnoX'],'credit':_0xe90458['photographer']});}catch{}if(this['pixabayKey']&&this[_0xaadc24(0x102)]['usePixabay']&&_0x5ea0df['length']<_0x32e74a)try{let _0x113516=_0x32e74a-_0x5ea0df['length'],_0x481b2d=await fetch(_0xaadc24(0x179)+encodeURIComponent(_0xb61485)+'&key='+this[_0xaadc24(0x1ef)]+'&image_type=photo&per_page='+_0x113516+'&safesearch=true');_0x481b2d['ok']&&(await _0x481b2d[_0xaadc24(0x144)]())['hits']?.[_0xaadc24(0x105)](_0x45209e=>{const _0x487e6b=_0xaadc24;_0x299b04['fDeuD'](_0x5ea0df[_0x487e6b(0x15a)],_0x32e74a)&&_0x5ea0df[_0x487e6b(0x19e)]({'url':_0x45209e['largeImageURL'],'thumb':_0x45209e[_0x487e6b(0x176)],'alt':_0x45209e['tags']||_0xb61485,'source':_0x299b04[_0x487e6b(0x190)],'credit':_0x45209e[_0x487e6b(0x14a)]});});}catch{}if(_0x5ea0df[_0xaadc24(0x15a)]<_0x32e74a){let _0x1742ac=S[_0x157e48]||S[_0xaadc24(0x130)];for(let _0x1212d4=_0x5ea0df[_0xaadc24(0x15a)];_0x299b04[_0xaadc24(0x1f2)](_0x1212d4,_0x32e74a);_0x1212d4++){if('SVRME'===_0xaadc24(0x230)){let _0x188764=_0x69888?_0x6df72c['dark']:_0x213245['light'];return{'colors':{'--bg-primary':_0x2765c2['bgPrimary'],'--bg-secondary':_0x454498[_0xaadc24(0x236)],'--bg-tertiary':_0xd713a['bgTertiary'],'--text-primary':_0x26f383[_0xaadc24(0x122)],'--text-secondary':_0x5bf4c7[_0xaadc24(0x1a7)],'--text-tertiary':_0x3fc0e4[_0xaadc24(0x201)],'--accent':_0x217d43[_0xaadc24(0x210)],'--accent-soft':_0x189b57['accentSoft'],'--primary':_0x3481d2[_0xaadc24(0x209)],'--secondary':_0x2019b8[_0xaadc24(0x183)],'--border':_0xc2b929['border'],'--border-strong':_0x352a98[_0xaadc24(0x103)],'--success':_0x299b04[_0xaadc24(0x22e)],'--error':_0xaadc24(0x16f),'--warning':_0x299b04['UnXJe']},'typography':{'--font-display':'\x27'+_0x56afa7['display']+'\x27,\x20sans-serif','--font-body':'\x27'+_0x4f4f60['body']+'\x27,\x20sans-serif','--font-mono':'\x27'+_0x13ac34['mono']+'\x27,\x20monospace','--text-xs':_0xaadc24(0x158),'--text-sm':'13px','--text-base':'15px','--text-lg':_0xaadc24(0xf2),'--text-xl':_0x299b04['zHnYa'],'--text-2xl':'28px','--text-3xl':_0x299b04['MOFyJ'],'--text-4xl':_0x299b04[_0xaadc24(0xdd)],'--text-5xl':_0x299b04[_0xaadc24(0x219)],'--leading-tight':_0xaadc24(0x1a8),'--leading-snug':_0x299b04['MIzJa'],'--leading-body':_0x299b04[_0xaadc24(0x182)],'--tracking-tight':_0xaadc24(0x145),'--tracking-normal':'0','--tracking-wide':_0x299b04['iRHZx'],'--tracking-widest':_0xaadc24(0x1e6)},'spacing':{'--space-1':_0xaadc24(0x10d),'--space-2':'8px','--space-3':_0x299b04[_0xaadc24(0x17d)],'--space-4':_0x299b04['LUUNL'],'--space-5':'20px','--space-6':_0x299b04['pEyeT'],'--space-8':'32px','--space-10':_0x299b04[_0xaadc24(0x12b)],'--space-12':_0x299b04[_0xaadc24(0xdd)],'--space-16':_0x299b04[_0xaadc24(0x219)],'--space-20':'80px','--space-24':_0x299b04[_0xaadc24(0x1d9)]},'radii':{'--radius-xs':'4px','--radius-sm':_0xaadc24(0x1fb),'--radius-md':_0x299b04[_0xaadc24(0x17d)],'--radius-lg':_0xaadc24(0x205),'--radius-xl':_0x299b04['pEyeT'],'--radius-full':_0x299b04['TAzEI']},'shadows':{'--shadow-xs':_0x188764['xs'],'--shadow-sm':_0x188764['sm'],'--shadow-md':_0x188764['md'],'--shadow-lg':_0x188764['lg'],'--shadow-xl':_0x188764['xl']}};}else{let _0x521272=_0x1742ac+'?w=1200&h=800&fit=crop&auto=format&q=80';_0x5ea0df['push']({'url':'https://images.unsplash.com/'+_0x521272+_0xaadc24(0x18d)+_0x1212d4,'thumb':'https://images.unsplash.com/'+_0x521272+'&w=400&sig='+_0x1212d4,'alt':_0xb61485,'source':'unsplash-source','credit':_0x299b04[_0xaadc24(0x22c)]});}}}return _0x5ea0df[_0xaadc24(0x13b)](0x0,_0x32e74a);}async[_0x386809(0x234)](_0x3326bd,_0x52da1b=!0x1){const _0x35defb=_0x386809,_0x3a51e1={'OBXfd':'6366F1','TVEEr':'DC2626','xGYhj':'B45309','EzGFD':'0EA5E9','kgdQr':_0x35defb(0x22a)};let _0x3db443={'modern':_0x3a51e1[_0x35defb(0x1ff)],'editorial':_0x3a51e1['TVEEr'],'luxury':_0x3a51e1[_0x35defb(0xe9)],'tech':_0x3a51e1['EzGFD']},_0x20e8e6=_0x3db443[_0x3326bd]||_0x3db443['modern'];return this['resolvePaletteFromSeed']('#'+_0x20e8e6,_0x3a51e1[_0x35defb(0x164)],_0x52da1b);}async['resolvePaletteFromSeed'](_0x5a664b,_0x32c99b=_0x386809(0x22a),_0x1ce998=!0x1){const _0xbc0b9c=_0x386809;let _0x2047aa=_0x5a664b['replace']('#','');if(this[_0xbc0b9c(0x102)]['useColorAPI'])try{let _0x26dcab=_0xbc0b9c(0xf5)+_0x2047aa+'&mode='+_0x32c99b+'&count=6',_0x3a9a95=await fetch(_0x26dcab);if(_0x3a9a95['ok']){let _0x2f3ada=(await _0x3a9a95[_0xbc0b9c(0x144)]())['colors'][_0xbc0b9c(0x147)](_0x3d3fac=>_0x3d3fac[_0xbc0b9c(0x1d6)]['value']);return this[_0xbc0b9c(0x20a)](_0x2f3ada,_0x1ce998);}}catch{}return this[_0xbc0b9c(0xef)](_0x2047aa,_0x1ce998);}['_buildPaletteFromSwatches'](_0x43681d,_0x254c99){const _0x1fe210=_0x386809,_0x10a9ed={'VLJVq':'#1A1A1C','siphw':_0x1fe210(0x106),'nwTAk':'#FAFAFA','oBRnf':_0x1fe210(0x15b),'RgwgR':_0x1fe210(0xf6),'FnFWx':'#52525B','cGgLj':'#27272A','aoBiz':_0x1fe210(0x13d),'SHQMD':'#D4D4D8'};return{'accent':_0x43681d[0x0],'accentSoft':_0x43681d[0x1],'primary':_0x43681d[0x2],'secondary':_0x43681d[0x3],'bgPrimary':_0x254c99?_0x1fe210(0x126):_0x1fe210(0x1ea),'bgSecondary':_0x254c99?_0x10a9ed['VLJVq']:_0x10a9ed[_0x1fe210(0xce)],'bgTertiary':_0x254c99?'#26262A':_0x1fe210(0x113),'textPrimary':_0x254c99?_0x10a9ed[_0x1fe210(0x180)]:_0x10a9ed['oBRnf'],'textSecondary':_0x254c99?_0x10a9ed[_0x1fe210(0x1bc)]:_0x10a9ed[_0x1fe210(0x1fa)],'textTertiary':_0x254c99?'#71717A':'#A1A1AA','border':_0x254c99?_0x10a9ed['cGgLj']:'#E4E4E7','borderStrong':_0x254c99?_0x10a9ed[_0x1fe210(0x143)]:_0x10a9ed[_0x1fe210(0x225)]};}[_0x386809(0xef)](_0x18c91d,_0x3402d7){const _0x477a9a=_0x386809,_0x27204a={'jcokZ':'#6366F1','HUUVh':'#818CF8','FaHgo':'#DC2626','rjiJt':'#FEF2F2','VyUZZ':_0x477a9a(0x165),'ouZje':'#B45309','DFEiK':'#0284C7','QORKD':_0x477a9a(0x199),'SUAtq':'#0F0F10','gzEqM':_0x477a9a(0x1ea),'rUBfH':_0x477a9a(0x1e9),'gPVVZ':'#F7F7F8','xTSSL':_0x477a9a(0x113),'aTLsJ':'#FAFAFA','vVqBQ':'#0A0A0B','wsfSx':'#71717A','ZSpqf':_0x477a9a(0xf6),'dRRqn':'#27272A','fjyPj':_0x477a9a(0x227),'wCvPK':_0x477a9a(0x13d),'HJeOZ':_0x477a9a(0xe7)};let _0x24bee9={'6366F1':{'accent':_0x27204a['jcokZ'],'accentSoft':'#EEF2FF','primary':'#4F46E5','secondary':_0x27204a[_0x477a9a(0x13c)]},'DC2626':{'accent':_0x27204a[_0x477a9a(0x1ba)],'accentSoft':_0x27204a[_0x477a9a(0x20f)],'primary':'#B91C1C','secondary':_0x27204a['VyUZZ']},'B45309':{'accent':_0x27204a['ouZje'],'accentSoft':'#FFFBEB','primary':'#92400E','secondary':_0x477a9a(0x1ca)},'0EA5E9':{'accent':'#0EA5E9','accentSoft':'#F0F9FF','primary':_0x27204a[_0x477a9a(0x216)],'secondary':_0x27204a['QORKD']}};return{..._0x24bee9[_0x18c91d]||_0x24bee9[_0x477a9a(0x218)],'bgPrimary':_0x3402d7?_0x27204a['SUAtq']:_0x27204a['gzEqM'],'bgSecondary':_0x3402d7?_0x27204a[_0x477a9a(0xd0)]:_0x27204a['gPVVZ'],'bgTertiary':_0x3402d7?'#26262A':_0x27204a['xTSSL'],'textPrimary':_0x3402d7?_0x27204a[_0x477a9a(0x195)]:_0x27204a['vVqBQ'],'textSecondary':_0x3402d7?_0x477a9a(0xf6):'#52525B','textTertiary':_0x3402d7?_0x27204a[_0x477a9a(0x203)]:_0x27204a['ZSpqf'],'border':_0x3402d7?_0x27204a['dRRqn']:_0x27204a[_0x477a9a(0x1f9)],'borderStrong':_0x3402d7?_0x27204a[_0x477a9a(0x120)]:_0x27204a[_0x477a9a(0x1f3)]};}async['resolveIcons'](_0x2a637b,_0x1ad79a=0xc){const _0x39191d=_0x386809,_0x4f0fa5={'tcTkL':'status','LuLZv':'ecommerce','ggxcy':'action','dosoN':_0x39191d(0x159),'OZwrv':'settings','vhtrZ':_0x39191d(0x141),'rVFXu':_0x39191d(0x204),'CZVBo':_0x39191d(0x20b)};let _0xe49a75=_0x2a637b['toLowerCase'](),_0x33947d=['navigation','action',_0x4f0fa5[_0x39191d(0x14e)]];/(shop|cart|product|buy|store)/['test'](_0xe49a75)?_0x33947d=[_0x4f0fa5['LuLZv'],_0x4f0fa5[_0x39191d(0x17c)],_0x4f0fa5['tcTkL']]:/(data|chart|metric|analytic|stat)/['test'](_0xe49a75)?_0x33947d=[_0x4f0fa5['dosoN'],_0x4f0fa5['OZwrv'],_0x4f0fa5['tcTkL']]:/(social|share|follow|like)/['test'](_0xe49a75)?_0x33947d=[_0x4f0fa5[_0x39191d(0xd2)],_0x4f0fa5['rVFXu'],_0x4f0fa5[_0x39191d(0x17c)]]:/(user|profile|account|team)/['test'](_0xe49a75)&&(_0x33947d=[_0x39191d(0x14a),'action',_0x39191d(0x163)]);let _0x5652ba=_0x33947d[_0x39191d(0x1c9)](_0x1e1af9=>P[_0x1e1af9]||[])['slice'](0x0,_0x1ad79a);return this['config']['useIconify']?this[_0x39191d(0x21d)](_0x5652ba):{'names':_0x5652ba,'source':_0x4f0fa5[_0x39191d(0x162)],'importLine':'import\x20{\x20'+_0x5652ba['map'](_0x4a6a3d=>this[_0x39191d(0x1f1)](_0x4a6a3d[_0x39191d(0x23d)](':')[0x1]))['join'](',\x20')+'\x20}\x20from\x20\x27lucide-react\x27'};}async[_0x386809(0x21d)](_0x1d32af){const _0x24dbcd=_0x386809,_0x39fdfb={'DbiXd':_0x24dbcd(0x111),'KMfHE':function(_0x314104,_0x2a0689){return _0x314104(_0x2a0689);}};let _0x2fed0c={};return await Promise['allSettled'](_0x1d32af[_0x24dbcd(0x147)](async _0x59ec7c=>{const _0x20b31e=_0x24dbcd;try{let [_0x5dc291,_0x1f18c9]=_0x59ec7c[_0x20b31e(0x240)](':')?_0x59ec7c[_0x20b31e(0x23d)](':'):[_0x39fdfb['DbiXd'],_0x59ec7c],_0x6224fd=await _0x39fdfb['KMfHE'](fetch,'https://api.iconify.design/'+_0x5dc291+'/'+_0x1f18c9+_0x20b31e(0xeb));_0x6224fd['ok']&&(_0x2fed0c[_0x59ec7c]={'svg':await _0x6224fd[_0x20b31e(0xdc)](),'name':_0x59ec7c,'set':_0x5dc291,'icon':_0x1f18c9});}catch{}})),_0x2fed0c;}async[_0x386809(0xdb)](_0x3c60c5){const _0x21d3f0=_0x386809,_0x1c2912={'naAfv':'DM\x20Sans','wKHdP':'JetBrains\x20Mono','ufkQz':_0x21d3f0(0xec),'DwOSH':_0x21d3f0(0x222),'VPqSn':'Jost','NmUkT':_0x21d3f0(0x200),'TSNFC':_0x21d3f0(0x1af),'iafGB':_0x21d3f0(0xea),'qOpdR':_0x21d3f0(0x150),'fdnMw':'IBM\x20Plex\x20Mono'};let _0x27d6ff={'modern':{'display':_0x21d3f0(0x10b),'body':_0x1c2912['naAfv'],'mono':_0x1c2912[_0x21d3f0(0x1fc)],'googleUrl':_0x1c2912['ufkQz'],'cdnUrl':_0x21d3f0(0xe6)},'editorial':{'display':_0x1c2912[_0x21d3f0(0x1fd)],'body':'Source\x20Serif\x204','mono':'IBM\x20Plex\x20Mono','googleUrl':'https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600&display=swap','cdnUrl':null},'luxury':{'display':'Cormorant\x20Garamond','body':_0x1c2912[_0x21d3f0(0x11a)],'mono':_0x1c2912['NmUkT'],'googleUrl':_0x1c2912['TSNFC'],'cdnUrl':null},'tech':{'display':_0x1c2912[_0x21d3f0(0x16c)],'body':_0x1c2912[_0x21d3f0(0x22d)],'mono':_0x1c2912[_0x21d3f0(0x1b6)],'googleUrl':_0x21d3f0(0x11e),'cdnUrl':null}};return _0x27d6ff[_0x3c60c5]||_0x27d6ff['modern'];}async['resolveMockData'](_0x50914c){const _0x199839=_0x386809,_0x154eda={'blwos':function(_0x4c2f4a,_0x52c543){return _0x4c2f4a!==_0x52c543;},'FhYJP':function(_0x9f6b2e,_0x1b8500){return _0x9f6b2e(_0x1b8500);},'oEBlk':function(_0x3bede7,_0x338e87){return _0x3bede7(_0x338e87);},'kAydp':'https://jsonplaceholder.typicode.com/posts?_limit=6'};let _0x36adfb=_0x50914c[_0x199839(0xd4)](),_0x112905={};if(_0x154eda[_0x199839(0x221)](this[_0x199839(0x102)][_0x199839(0x138)],!0x1))try{if(/(user|profile|team|people|member)/[_0x199839(0x137)](_0x36adfb)){let _0x430234=await _0x154eda[_0x199839(0x19d)](fetch,'https://jsonplaceholder.typicode.com/users');_0x430234['ok']&&(_0x112905[_0x199839(0xd3)]=await _0x430234['json']());}if(/(post|article|blog|news|content)/[_0x199839(0x137)](_0x36adfb)){let _0x452e2d=await _0x154eda[_0x199839(0x15e)](fetch,_0x154eda[_0x199839(0x135)]);_0x452e2d['ok']&&(_0x112905['posts']=await _0x452e2d[_0x199839(0x144)]());}if(/(comment|review|feedback)/['test'](_0x36adfb)){let _0x51bf16=await fetch('https://jsonplaceholder.typicode.com/comments?_limit=5');_0x51bf16['ok']&&(_0x112905['comments']=await _0x51bf16[_0x199839(0x144)]());}}catch{}return _0x112905;}async['resolveAvatars'](_0x5565a1=0x5){const _0x159297=_0x386809,_0x552e9b={'JxaTG':'avataaars','FfTZp':'personas','IYkxi':_0x159297(0xda),'ABCnE':function(_0x41afaf,_0x11d9a7){return _0x41afaf*_0x11d9a7;},'xbxMX':_0x159297(0x108),'cXLxd':_0x159297(0x226)};if(!this[_0x159297(0x102)]['useDiceBear'])return[];let _0x21b1a3=[_0x552e9b[_0x159297(0x114)],_0x552e9b[_0x159297(0x132)],_0x552e9b[_0x159297(0xed)],_0x159297(0x17b),_0x159297(0xe0)],_0x460959=_0x21b1a3[Math[_0x159297(0x155)](_0x552e9b['ABCnE'](Math[_0x159297(0x12e)](),_0x21b1a3['length']))],_0x491f02=[_0x159297(0x15f),_0x552e9b['xbxMX'],'Morgan',_0x159297(0x1e5),_0x159297(0x21c),'Riley',_0x159297(0xf3),_0x552e9b['cXLxd']];return Array['from']({'length':_0x5565a1},(_0x4e8d84,_0x452cd8)=>({'url':_0x159297(0xd8)+_0x460959+_0x159297(0x139)+_0x491f02[_0x452cd8%_0x491f02[_0x159297(0x15a)]]+_0x159297(0x136),'name':_0x491f02[_0x452cd8%_0x491f02['length']],'style':_0x460959}));}async['checkAllAPIs'](){const _0x5df166=_0x386809,_0x27bba1={'aotUw':function(_0x18ae20,_0x7b74ef,_0x5712f2){return _0x18ae20(_0x7b74ef,_0x5712f2);},'EUCwp':function(_0xb33940,_0x384199){return _0xb33940(_0x384199);},'NYnul':_0x5df166(0x166),'CdBdu':'https://jsonplaceholder.typicode.com/users?_limit=1'};let _0x5a6c71=await Promise[_0x5df166(0x224)]([this['config'][_0x5df166(0x11f)]?fetch('https://api.unsplash.com/photos/random?client_id='+this['config']['unsplashKey'])['then'](_0x57709d=>_0x57709d['ok']):Promise['resolve'](!0x1),this[_0x5df166(0x102)][_0x5df166(0x13f)]?_0x27bba1[_0x5df166(0x1cd)](fetch,'https://api.pexels.com/v1/search?query=test&per_page=1',{'headers':{'Authorization':this[_0x5df166(0x102)]['pexelsKey']}})['then'](_0x38569d=>_0x38569d['ok']):Promise[_0x5df166(0x1dd)](!0x1),fetch(_0x5df166(0x1b2))['then'](_0x237c6f=>_0x237c6f['ok'])['catch'](()=>!0x1),_0x27bba1['EUCwp'](fetch,_0x27bba1['NYnul'])['then'](_0x136a18=>_0x136a18['ok'])['catch'](()=>!0x1),fetch(_0x5df166(0x217))[_0x5df166(0x128)](_0x956844=>_0x956844['ok'])[_0x5df166(0x196)](()=>!0x1),fetch(_0x27bba1[_0x5df166(0x232)])['then'](_0x50873f=>_0x50873f['ok'])['catch'](()=>!0x1)]);return{'unsplash':{'active':_0x5a6c71[0x0]['value'],'keyRequired':!0x0},'pexels':{'active':_0x5a6c71[0x1][_0x5df166(0x1e8)],'keyRequired':!0x0},'colorAPI':{'active':_0x5a6c71[0x2]['value'],'keyRequired':!0x1},'iconify':{'active':_0x5a6c71[0x3]['value'],'keyRequired':!0x1},'dicebear':{'active':_0x5a6c71[0x4]['value'],'keyRequired':!0x1},'jsonPlaceholder':{'active':_0x5a6c71[0x5]['value'],'keyRequired':!0x1},'googleFonts':{'active':!0x0,'keyRequired':!0x1},'pixabay':{'active':!0x0,'keyRequired':!0x1}};}[_0x386809(0x212)](_0x7436cf){const _0x320408=_0x386809;let _0x4cbf98=_0x7436cf[_0x320408(0xd4)]();return Object['keys'](S)[_0x320408(0x115)](_0x217a22=>_0x4cbf98[_0x320408(0x240)](_0x217a22))||'abstract';}['_toPascalCase'](_0x349818){const _0x25e25b=_0x386809;return _0x349818['split']('-')['map'](_0x203b62=>_0x203b62[0x0][_0x25e25b(0x1c6)]()+_0x203b62['slice'](0x1))[_0x25e25b(0x18a)]('');}},E={'light':{'xs':'0\x201px\x202px\x20rgba(0,0,0,0.05)','sm':_0x386809(0xdf),'md':_0x386809(0x1d2),'lg':'0\x208px\x2032px\x20rgba(0,0,0,0.10),\x200\x204px\x208px\x20rgba(0,0,0,0.04)','xl':_0x386809(0x19c)},'dark':{'xs':_0x386809(0x206),'sm':_0x386809(0x12f),'md':_0x386809(0x12c),'lg':_0x386809(0x20d),'xl':_0x386809(0xee)}},y=class{['generate']({palette:_0x3c0cd8,fonts:_0x33c65f,theme:_0x24e790,darkMode:_0x4af431}){const _0x1de51c=_0x386809,_0x506306={'EfHhQ':'#10B981','qsmYY':'#F59E0B','VbdXS':'13px','wvrCV':'15px','FVjQH':_0x1de51c(0xf2),'pjbsF':'22px','Xdsnu':'36px','mIith':'64px','iWOPK':_0x1de51c(0x1a8),'KBcvO':_0x1de51c(0x18b),'iDyUv':'-0.03em','xUkRQ':'0.05em','WtbPe':_0x1de51c(0x1e6),'LtQXL':_0x1de51c(0x10d),'EuEXt':'20px','ZFYlF':_0x1de51c(0x185),'QCWmJ':'32px','wQTeL':'40px','ESfTH':_0x1de51c(0x21a),'betXn':_0x1de51c(0x142)};let _0x1949b1=_0x4af431?E['dark']:E['light'];return{'colors':{'--bg-primary':_0x3c0cd8['bgPrimary'],'--bg-secondary':_0x3c0cd8['bgSecondary'],'--bg-tertiary':_0x3c0cd8[_0x1de51c(0x19a)],'--text-primary':_0x3c0cd8[_0x1de51c(0x122)],'--text-secondary':_0x3c0cd8[_0x1de51c(0x1a7)],'--text-tertiary':_0x3c0cd8['textTertiary'],'--accent':_0x3c0cd8[_0x1de51c(0x210)],'--accent-soft':_0x3c0cd8[_0x1de51c(0x1c1)],'--primary':_0x3c0cd8[_0x1de51c(0x209)],'--secondary':_0x3c0cd8['secondary'],'--border':_0x3c0cd8['border'],'--border-strong':_0x3c0cd8[_0x1de51c(0x103)],'--success':_0x506306[_0x1de51c(0x125)],'--error':_0x1de51c(0x16f),'--warning':_0x506306['qsmYY']},'typography':{'--font-display':'\x27'+_0x33c65f['display']+'\x27,\x20sans-serif','--font-body':'\x27'+_0x33c65f['body']+'\x27,\x20sans-serif','--font-mono':'\x27'+_0x33c65f['mono']+'\x27,\x20monospace','--text-xs':'11px','--text-sm':_0x506306[_0x1de51c(0xcd)],'--text-base':_0x506306[_0x1de51c(0x172)],'--text-lg':_0x506306['FVjQH'],'--text-xl':_0x506306[_0x1de51c(0x1be)],'--text-2xl':'28px','--text-3xl':_0x506306['Xdsnu'],'--text-4xl':'48px','--text-5xl':_0x506306['mIith'],'--leading-tight':_0x506306[_0x1de51c(0x22f)],'--leading-snug':_0x506306['KBcvO'],'--leading-body':'1.6','--tracking-tight':_0x506306['iDyUv'],'--tracking-normal':'0','--tracking-wide':_0x506306[_0x1de51c(0xf7)],'--tracking-widest':_0x506306['WtbPe']},'spacing':{'--space-1':_0x506306[_0x1de51c(0x1ed)],'--space-2':'8px','--space-3':_0x1de51c(0x18f),'--space-4':_0x1de51c(0x205),'--space-5':_0x506306['EuEXt'],'--space-6':_0x506306[_0x1de51c(0x15c)],'--space-8':_0x506306['QCWmJ'],'--space-10':_0x506306[_0x1de51c(0x110)],'--space-12':'48px','--space-16':'64px','--space-20':_0x1de51c(0x1c7),'--space-24':_0x506306['ESfTH']},'radii':{'--radius-xs':_0x506306['LtQXL'],'--radius-sm':_0x1de51c(0x1fb),'--radius-md':'12px','--radius-lg':'16px','--radius-xl':_0x506306['ZFYlF'],'--radius-full':_0x506306[_0x1de51c(0x12a)]},'shadows':{'--shadow-xs':_0x1949b1['xs'],'--shadow-sm':_0x1949b1['sm'],'--shadow-md':_0x1949b1['md'],'--shadow-lg':_0x1949b1['lg'],'--shadow-xl':_0x1949b1['xl']}};}},b=class{[_0x386809(0x149)]({tokens:_0x3fab50,fonts:_0xa5a7b4,images:_0x227ad8,icons:_0x2a9203,mockData:_0xd50b2d,avatars:_0x321325,stitchOutput:_0x22c068,platform:_0x4e212b,darkMode:_0x47e82f}){const _0x34566b=_0x386809,_0x529143={'mCrfY':_0x34566b(0x1a4)};let _0x37eb0c=_0x2a9203[_0x34566b(0x1a3)]?_0x34566b(0x1ec)+_0x2a9203['importLine']:'Icons\x20(inline\x20SVGs\x20pre-resolved):\x0a'+Object['keys'](_0x2a9203)[_0x34566b(0x13b)](0x0,0x8)['map'](_0x26f466=>'•\x20'+_0x26f466)['join']('\x0a'),_0x6ca104=_0x227ad8[_0x34566b(0x13b)](0x0,0x5)[_0x34566b(0x147)]((_0x5d54c6,_0x17a79f)=>_0x34566b(0xf1)+(_0x17a79f+0x1)+':\x20'+_0x5d54c6[_0x34566b(0x171)]+_0x34566b(0x154)+_0x5d54c6[_0x34566b(0x1e4)]+'\x22\x20|\x20Source:\x20'+_0x5d54c6['source'])[_0x34566b(0x18a)]('\x0a'),_0x129455=_0x321325[_0x34566b(0x13b)](0x0,0x3)[_0x34566b(0x147)]((_0x1e8178,_0x364e87)=>'•\x20Avatar\x20'+(_0x364e87+0x1)+':\x20'+_0x1e8178['url']+'\x20('+_0x1e8178['name']+')')[_0x34566b(0x18a)]('\x0a'),_0x441d09=[...Object['entries'](_0x3fab50['colors']),...Object['entries'](_0x3fab50['typography']),...Object[_0x34566b(0x1c5)](_0x3fab50[_0x34566b(0x19b)]),...Object['entries'](_0x3fab50[_0x34566b(0x104)]),...Object[_0x34566b(0x1c5)](_0x3fab50[_0x34566b(0x1f7)])]['map'](([_0x3daeae,_0x55d646])=>'\x20\x20'+_0x3daeae+':\x20'+_0x55d646+';')[_0x34566b(0x18a)]('\x0a'),_0x4b6219=_0x22c068?'\x0aStitch\x20Base\x20Design:\x0aUse\x20this\x20HTML/CSS\x20as\x20the\x20layout\x20foundation,\x20then\x20enhance\x20it:\x0a'+_0x22c068[_0x34566b(0x167)]?.['slice'](0x0,0x7d0)+_0x34566b(0x20c):'';return _0x34566b(0x131)+_0x4e212b+'\x20interface.\x0a\x0a'+_0x4b6219+_0x34566b(0x18e)+_0xa5a7b4[_0x34566b(0x21f)]+'\x27\x20\x20→\x20\x20'+(_0xa5a7b4['cdnUrl']||_0x529143['mCrfY'])+_0x34566b(0x197)+_0xa5a7b4['body']+'\x27\x20\x20\x20\x20\x20→\x20\x20'+_0xa5a7b4['googleUrl']+_0x34566b(0x188)+_0x6ca104+'\x0a\x0aAVATARS\x20—\x20Use\x20for\x20user\x20lists,\x20testimonials,\x20teams:\x0a'+_0x129455+'\x0a\x0a'+_0x37eb0c+_0x34566b(0x20e)+_0x441d09+_0x34566b(0x1c3)+(_0xd50b2d['users']?_0x34566b(0x213)+JSON['stringify'](_0xd50b2d[_0x34566b(0xd3)][_0x34566b(0x13b)](0x0,0x3),null,0x2)+'\x0aUse\x20this\x20for\x20realistic\x20user/team\x20sections.':'')+_0x34566b(0x117);}},x=class{constructor({apiKey:_0x2738bc,projectId:_0x52eb26,mode:_0x1ddb4a}){const _0x52ef04=_0x386809,_0x448a3d={'WRSrp':function(_0xf83213,_0x3f9d87){return _0xf83213||_0x3f9d87;},'FjmNe':_0x52ef04(0x202)};this[_0x52ef04(0x133)]=_0x2738bc,this['projectId']=_0x52eb26,this[_0x52ef04(0x118)]=_0x448a3d['WRSrp'](_0x1ddb4a,_0x448a3d[_0x52ef04(0x1da)]);}['isConfigured'](){const _0x266c30=_0x386809;return!!(this[_0x266c30(0x133)]&&this['projectId']);}async['generate'](_0x2818d0,_0x5659fa=_0x386809(0x1c4)){const _0x40f611=_0x386809,_0x289def={'cLoKA':_0x40f611(0x1e2),'CGVlf':'POST','rsCWU':'application/json'};if(!this[_0x40f611(0x11b)]())return null;try{let _0xe016e2=await fetch(_0x289def[_0x40f611(0x241)],{'method':_0x289def['CGVlf'],'headers':{'Authorization':_0x40f611(0xf8)+this[_0x40f611(0x133)],'Content-Type':_0x289def['rsCWU'],'x-goog-user-project':this['projectId']},'body':JSON[_0x40f611(0x214)]({'prompt':_0x2818d0,'platform':_0x5659fa,'mode':this[_0x40f611(0x118)]})});return _0xe016e2['ok']?await _0xe016e2[_0x40f611(0x144)]():null;}catch{return null;}}};import _0x5378b8 from'dotenv';_0x5378b8['config']();var p=new f({'unsplashKey':process.env.UNSPLASH_ACCESS_KEY,'pexelsKey':process.env.PEXELS_API_KEY,'googleFontsKey':process.env.GOOGLE_FONTS_API_KEY,'useColorAPI':process.env.USE_COLOR_API==='true','useIconify':process.env.USE_ICONIFY===_0x386809(0xd1),'useDiceBear':process.env.USE_DICEBEAR==='true','usePixabay':process.env.USE_PIXABAY===_0x386809(0xd1)}),F=new y(),k=new b(),v=new x({'apiKey':process.env.STITCH_API_KEY,'projectId':process.env.GOOGLE_CLOUD_PROJECT,'mode':process.env.STITCH_MODE||'experimental'}),O=w({'name':_0x386809(0x223),'version':_0x386809(0x168),'tools':{'generate_ui':{'description':'Generate\x20a\x20complete,\x20production-quality\x20UI\x20with\x20real\x20images,\x20icons,\x20fonts\x20and\x20color\x20tokens.\x20Returns\x20React/HTML\x20code.','inputSchema':{'type':'object','properties':{'prompt':{'type':_0x386809(0x242),'description':'What\x20UI\x20to\x20build'},'theme':{'type':_0x386809(0x242),'enum':[_0x386809(0x1b1),_0x386809(0x1bf),'editorial','luxury',_0x386809(0x140)],'default':'auto'},'darkMode':{'type':'boolean','default':!0x1},'platform':{'type':_0x386809(0x242),'enum':['web','mobile'],'default':'web'}},'required':['prompt']},'handler':async({prompt:_0x24aed7,theme:_0x4864ad='auto',darkMode:_0x39697c=!0x1,platform:_0x233a46=_0x386809(0x1c4)})=>{const _0x4bbfe7=_0x386809,_0x1f8888={'ICKSo':function(_0x180f6b,_0xd28020){return _0x180f6b===_0xd28020;},'WjLiv':_0x4bbfe7(0x1b1)};let _0x133c3a=_0x1f8888[_0x4bbfe7(0x1a0)](_0x4864ad,_0x1f8888[_0x4bbfe7(0xe5)])?T(_0x24aed7):_0x4864ad,[_0x5c6e18,_0x8035af,_0x180ab8,_0x4c5200,_0x41ebf5,_0x31bde8]=await Promise['all']([p[_0x4bbfe7(0x148)](_0x24aed7,0x5),p[_0x4bbfe7(0x1ac)](_0x24aed7,0xc),p[_0x4bbfe7(0x234)](_0x133c3a,_0x39697c),p[_0x4bbfe7(0xdb)](_0x133c3a),p['resolveMockData'](_0x24aed7),p[_0x4bbfe7(0x1f5)](0x3)]),_0x59c561=F[_0x4bbfe7(0x169)]({'palette':_0x180ab8,'fonts':_0x4c5200,'theme':_0x133c3a,'darkMode':_0x39697c}),_0x2605f2=null;return v['isConfigured']()&&(_0x2605f2=await v[_0x4bbfe7(0x169)](_0x24aed7,_0x233a46)[_0x4bbfe7(0x196)](()=>null)),{'systemPrompt':k[_0x4bbfe7(0x149)]({'tokens':_0x59c561,'fonts':_0x4c5200,'images':_0x5c6e18,'icons':_0x8035af,'mockData':_0x41ebf5,'avatars':_0x31bde8,'stitchOutput':_0x2605f2,'platform':_0x233a46,'darkMode':_0x39697c}),'resolvedAssets':{'images':_0x5c6e18,'icons':_0x8035af,'palette':_0x180ab8,'fonts':_0x4c5200,'mockData':_0x41ebf5,'avatars':_0x31bde8},'tokens':_0x59c561,'stitchAvailable':!!_0x2605f2};}},'resolve_images':{'description':_0x386809(0x1dc),'inputSchema':{'type':'object','properties':{'query':{'type':'string'},'count':{'type':_0x386809(0x146),'default':0x5},'orientation':{'type':'string','enum':['landscape',_0x386809(0x1ab),_0x386809(0x1c2)],'default':_0x386809(0x1df)}},'required':['query']},'handler':async({query:_0x16f2d6,count:_0x31b058=0x5,orientation:_0x52d183='landscape'})=>p[_0x386809(0x148)](_0x16f2d6,_0x31b058,_0x52d183)},'resolve_palette':{'description':'Generate\x20a\x20harmonious\x20color\x20palette\x20for\x20a\x20given\x20theme\x20or\x20seed\x20color.','inputSchema':{'type':_0x386809(0x23f),'properties':{'seed':{'type':_0x386809(0x242),'description':'Hex\x20color\x20or\x20theme\x20name\x20(e.g.\x20#6D28D9\x20or\x20\x22ocean\x22)'},'mode':{'type':'string','enum':[_0x386809(0x22a),'complement','triad',_0x386809(0x186)],'default':'analogic'},'darkMode':{'type':_0x386809(0x16a),'default':!0x1}},'required':['seed']},'handler':async({seed:_0x326012,mode:_0x225c5f='analogic',darkMode:_0x35562a=!0x1})=>p[_0x386809(0x1ae)](_0x326012,_0x225c5f,_0x35562a)},'resolve_icons':{'description':_0x386809(0x16d),'inputSchema':{'type':_0x386809(0x23f),'properties':{'icons':{'type':'array','items':{'type':'string'},'description':'Icon\x20names\x20e.g.\x20[\x22lucide:arrow-right\x22,\x20\x22phosphor:star\x22,\x20\x22heroicons:bell\x22]'}},'required':['icons']},'handler':async({icons:_0x4dee23})=>p['fetchIconSVGs'](_0x4dee23)},'get_design_tokens':{'description':_0x386809(0x1cc),'inputSchema':{'type':_0x386809(0x23f),'properties':{'theme':{'type':_0x386809(0x242),'enum':[_0x386809(0x1bf),'editorial','luxury','tech'],'default':_0x386809(0x1bf)},'darkMode':{'type':'boolean','default':!0x1},'accentColor':{'type':'string','description':_0x386809(0x177)}}},'handler':async({theme:_0x324cf3=_0x386809(0x1bf),darkMode:_0x233a52=!0x1,accentColor:_0x18c45c})=>{const _0x18df3a=_0x386809;let _0x228411=await p['resolvePalette'](_0x324cf3,_0x233a52);return _0x18c45c&&(_0x228411[_0x18df3a(0x210)]=_0x18c45c),F['generate']({'palette':_0x228411,'theme':_0x324cf3,'darkMode':_0x233a52});}},'status':{'description':'Check\x20which\x20APIs\x20are\x20active\x20and\x20their\x20status.','inputSchema':{'type':'object','properties':{}},'handler':async()=>{const _0x432635=_0x386809,_0x16f805={'zsQkb':'online','zeimG':_0x432635(0x168),'ZsoKY':'auto'};let _0x422a4b=await p['checkAllAPIs']();return{'bridge':_0x16f805[_0x432635(0x23c)],'version':_0x16f805[_0x432635(0x181)],'theme':process.env.DEFAULT_THEME||_0x16f805[_0x432635(0x1d7)],'apis':_0x422a4b,'stitchConfigured':v[_0x432635(0x11b)]()};}}}});function T(_0x456ced){const _0x168ec2=_0x386809,_0x236725={'BjNfP':'tech','qkvmy':_0x168ec2(0x157),'oBgEA':_0x168ec2(0x1b1),'VCbOI':_0x168ec2(0x1bf)};let _0x4d9faa=_0x456ced[_0x168ec2(0xd4)]();return/(finance|bank|saas|dashboard|enterprise|analytics|data|metrics)/[_0x168ec2(0x137)](_0x4d9faa)?_0x236725[_0x168ec2(0x14b)]:/(luxury|fashion|jewelry|beauty|premium|boutique|haute|couture)/[_0x168ec2(0x137)](_0x4d9faa)?'luxury':/(magazine|editorial|blog|news|article|media|journal|story)/['test'](_0x4d9faa)?_0x236725[_0x168ec2(0x1a5)]:process.env.DEFAULT_THEME===_0x236725['oBgEA']?_0x236725[_0x168ec2(0x1fe)]:process.env.DEFAULT_THEME||'modern';}function _0x503b(){const _0x1f7ed2=['cGPpDxrWDxq6ieeGC2LUz2XLignVBxbSzxrLifjLywn0iePtwcbMAwXLlIbezwzHDwX0igv4Cg9YDc4GwMvYBYbYzxf1AxjLzcbWCM9WCY4GuhjVzhvJDgLVBIbYzwfKEs4','Bw9Kzq','mZGYoti0zxvTtwvH','vLbXu24','AxndB25MAwD1CMvK','mte1otC0wxPoreXQ','iZrgndzfnq','Ahr0Chm6lY9MB250CY5NB29NBgvHCgLZlMnVBs9JC3mYp2zHBwLSEt1tCgfJzsThCM90zxnRoNDNAhrandaWoZuWmdS2mda7nZaWjMzHBwLSEt1jqK0RugXLEcTtyw5ZoML0ywWSD2DODeaWldmWmdSWldqWmdSWlduWmdSWldyWmczMyw1PBhK9sujnk1bSzxGRtw9UBZP3z2H0qdqWmdS1mdaMzgLZCgXHEt1ZD2fW','Dw5ZCgXHC2HlzxK','D0n2ueS','BhvJAwrLoNnSAwrLCNm','Dgv4DfbYAw1HCNK','zxjYB3i','BhvJAwrLoNbHy2THz2u','rwziAfe','iZbgmeyXma','iZi2mJyYqq','DgHLBG','BhvJAwrLoMjHCI1JAgfYDc0Y','yMv0wg4','ywLMCeS','mca0ChGGmtzWEcbYz2jHkdaSmcWWldaUmZiPlcaWidjWEca0ChGGCMDIysGWldaSmcWWlJe2kq','oty4odK2zwLWrhrz','CMfUzg9T','mcaYChGGohb4ihjNyMeOmcWWldaSmc4YncKSidaGmxb4idjWEcbYz2jHkdaSmcWWldaUmtyP','ywjZDhjHy3q','ww91igfYzsbHihDVCMXKlwnSyxnZifvjigvUz2LUzwvYlIbcDwLSzcbHignVBxbSzxrLlcbWCM9KDwn0Aw9UlwDYywrLia','rMzuwNa','yxbPs2v5','DxrMoa','A0f5zha','jNnPEMu9mti4','DgvZDa','DxnLsNnVBLbSywnLAg9SzgvY','l3n2zZ9ZzwvKpq','ndbWEa','C2XPy2u','sfvvvMG','iZngm0y0nG','ELngAhe','Cgv4zwXZs2v5','DgvJAa','C29JAwfS','otK5oxb4','yw9cAxO','ANnVBG','ltaUmdnLBq','BNvTyMvY','BwfW','CMvZB2X2zuLTywDLCW','yNvPBgq','DxnLCG','qMPozLa','vMTsAK4','CMf3','DgnuA0W','BhvJAwrLoM1LC3nHz2uTy2LYy2XL','sujnifbSzxGGu2fUCW','CgHVDg8Tmtu1ntm5nJi3mY0ZnJDLytrLyJrKyJu','BhvJAwrLoNrYyxnO','mI4W','cIaGqwX0oIaI','zMXVB3i','BhvJAwrLoNn0yxi','zwrPDg9YAwfS','mtfWEa','zgf0yq','BgvUz3rO','iZbbmeeWqG','wKzzBey','CgHVDg8TmtuYote1nJa2otG5oc00otK1m2uZowiZywm','B0vcBgS','qwXLEa','CgHVDg8TmtqXndiZnta3nZqYoc0ZmZG5odLHmMu4yZa','i0zfrJjgmG','q1PwqM8','C2v0DgLUz3m','A2DKuxi','i0y4nZe3mq','Ahr0Chm6lY9HCgKUAwnVBMLMEs5KzxnPz24VBhvJAwrLl3n0yxiUC3zN','AhrTBa','ms4WlJa','z2vUzxjHDgu','yM9VBgvHBG','C3rHCNq','AwfMr0i','r2v0ifnwrYbPy29Uihn0CMLUz3mGzM9YigeGBgLZDcbVzIbPy29Uig5HBwvZigzYB20GswnVBMLMEsaOthvJAwrLlcbqAg9ZCgHVCIWGsgvYB2LJB25ZlcbLDgmUkq','Be9JAM8','i0vgndq0na','s3DfEwu','DxjS','D3zYq1y','C3jJ','iZi3mJCYqq','BhvJAwrLoMvKAxq','ChjLDMLLD1vsta','t3b0Aw9UywWGAgv4igfJy2vUDcbJB2XVCIb0BYbVDMvYCMLKzsbKzwzHDwX0','nJrWEa','Ahr0Chm6lY9WAxHHyMf5lMnVBs9HCgKVp3e9','Ahr0Chm6lY9HCgKUCgv4zwXZlMnVBs92ms9ZzwfYy2G/CxvLCNK9','Bg9YzwXLAq','z2D4y3K','wLzJr3O','BhvJAwrLoNvZzxi','tKXHvNG','BNDuqwS','EMvPBuC','sxfgyLO','C2vJB25Kyxj5','jNbLCL9WywDLpq','mJrWEa','CxvHza','DxjSCW','cGPjtufhrvmG4OcuifvZzsb0AgvZzsbfwefdvcbvuKXZicHYzwfSihbOB3rVCYWGBM90ihbSywnLAg9SzgvYCYK6cG','mJjWEa','AM9PBG','ms4Z','BhvJAwrLoNrHzW','jNnPzZ0','cGRILihILihILieGtuforefut1jzoIbvu0uGveHfu0uGrvHbq1qGufjflvjfu09mvKveieftu0vuuYdILihILihILihILihILihILihILihILihILihILihILiekcKzptLrtiokaLcbmB2fKiejpveGGDgHLC2uGvvjmCYbPBIbku1GGkg5VDcb1C2vfzMzLy3qPoGOGierPC3bSyxK6icC','mtjWEa','DwXssvi','C21HBgW','CgHVDg8TmtuYmZa1mdG1nda1oc04zgy5mdeXmgm5zJe','A0nmyuO','Cgv4zwXZ','yvrmC0O','y2f0y2G','cIaGqM9KEtOGicaGjW','ENLbEhG','iZm4qKrgoa','yMDuzxj0AwfYEq','C3bHy2LUzW','mcaYnhb4idy0ChGGCMDIysGWldaSmcWWlJe0kq','rMHzsLa','ChvZAa','BhvJAwrLoMfJDgL2Axr5','sunlu28','A3DXD0i','CgHVDg8Tmtu1mti4oda0os1IzwjKytrLmZHMnZe','Aw1WB3j0tgLUzq','DMLHieDVB2DSzsbgB250CW','CwT2BxK','CgHVDg8Tmtq2mdKYntG5ntKXnY1HzMrHyJGYn2m1mMy','Dgv4DfnLy29UzgfYEq','ms4X','nZi4nZaWwxnXzu5s','C252BeW','Cg9YDhjHAxq','CMvZB2X2zuLJB25Z','i0yWrJLgrG','CMvZB2X2zvbHBgv0DgvgCM9Tu2vLza','Ahr0Chm6lY9MB250CY5NB29NBgvHCgLZlMnVBs9JC3mYp2zHBwLSEt1dB3jTB3jHBNqRr2fYyw1VBMq6AxrHBcX3z2H0qdaSmZaWoZaSndaWoZaSnJaWoZeSmZaWoZeSndaWjMzHBwLSEt1kB3n0oNDNAhramZaWoZqWmdS1mdaMzgLZCgXHEt1ZD2fW','CgHVDg8TmtyXodaWnte4mJm4nc1HodnHogjKntDMyMu','yxv0BW','Ahr0Chm6lY93D3CUDgHLy29SB3jHCgKUy29Tl2LKp2HLEd02rdi4rdK','v3jYt2i','rKrbAhO','BMfTzq','zMrUtxC','BhvJAwrLoNbPzs1JAgfYDa','ndHWEa','nZiXmJy5nLzABLzvzq','rMfiz28','BhvJAwrLoMLTywDL','uMD3z1i','mZeXotiXnfzfvwfPrG','CgPIC0y','Bw9KzxjU','BhvJAwrLoMnOzwnRlwnPCMnSzq','ywnJzw50u29MDa','C3f1yxjL','cN0kcUkuGEkuGEkuGsbjtvbmru1ftLrbveLptIbsvuXfuYaOtK9olu5fr09usufcteuPiokuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGEkuGqOkms4GrK9ovfm6ieXVywqGD2L0Aca8BgLUAZ4GAw4GsLnyihjLDhvYBI4GtMv2zxiGDxnLrwzMzwn0lIbozxzLCIbKB2n1BwvUDc5OzwfKlGOYlIbdt0XpuLm6iev2zxj5ignVBg9Yig11C3qGCMvMzxjLBMnLigeGq1ntihzHCMLHyMXLlIbAzxjVigHHCMrJB2rLzcbOzxGUcJmUifnqqunjtKC6ifvZzsbVBMX5ic0TC3bHy2uTkIb2yxjPywjSzxmUie5Vig1Hz2LJig51BwjLCNmUcJqUifrzue9huKfqsfK6ieXLDhrLCI1ZCgfJAw5Nig9UiefmtcbOzwfKAw5NCZOGDMfYkc0TDhjHy2TPBMCTDgLNAhqPcIaGicaGicaGicaGicaGieXPBMuTAgvPz2H0ig9UigjVzhK6ihzHCIGTlwXLywrPBMCTyM9KEsKkns4Gq0fsrfm6igHVDMvYiokgKIb0CMfUC2XHDgvzkc00ChGPicSGC2HHzg93ihvWz3jHzguUiefSD2f5CY4knI4GvfjbtLnjveLptLm6ihrYyw5ZAxrPB246igfSBcaWlJjZign1yMLJlwjLEMLLCIGWlJqSidaSidaUmIWGmsKGB24GquXmigLUDgvYywn0AxzLigvSzw1LBNrZcJCUieLnquDfuZOGvxnLieLTzYbJB21WB25LBNqGD2L0AcbVBKvYCM9YigzHBgXIywnRlIborvzfuIbICM9Rzw4GAw1Hz2vZlGO4lIbtrunusu9ouZOGqwX0zxjUyxrLic0TyMCTChjPBwfYEsbHBMqGls1IzY1ZzwnVBMrHCNKkos4Gtu9csuXfoIb1C2vcCMvHA3bVAw50kdC2ocKGAg9VAYbVBIbHBgWGz3jPzhmkmtaUievzrujst1C6iev2zxj5ihnLy3rPB24Gz2v0CYbHideYChGGDxbWzxjJyxnLihrYywnRzwqGBgfIzwWGywjVDMuGDgHLigHLywrPBMCkmteUiefosu1bveLptJOGu3rHz2DLCMvKigzHzguTAw4GB24GCgfNzsbSB2fKlIbdyxjKCYbHBMLTyxrLig9UihnJCM9SBc4kmtiUifniqurpv1m6ifvZzsbZAgfKB3CGAgLLCMfYy2H5iokaLcbJyxjKCYb1C2uGls1ZAgfKB3CTBwqSigHVDMvYihvZzxmGls1ZAgfKB3CTBgCkmtmUiejpuKrfuI1squrjvvm6ifvZzsaTlxjHzgL1CY1SzYaOmtzWEcKGzM9YignHCMrZlcaTlxjHzgL1CY1MDwXSigzVCIbWAwXSCY9IywrNzxmkcUkuGEkuGEkuGsbdt01qt05ftLqGuvvbteLuwsbtveforefsrfmG4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4Psb4PsbcGPoyxy6icaGihn0AwnREsWGyMfJA2rYB3bgAwX0zxiGyMX1CIGYmhb4ksWGC2nYB2XSlwf3yxjLigjVCMrLCGPizxjVoIaGigz1BgWTyMXLzwqGAw1Hz2uGD2L0AcbNCMfKAwvUDcbVDMvYBgf5lcbIB2XKigHLywrSAw5LlcbdveeGCgfPCGPdyxjKCZOGihjLywWGCgHVDg9ZlcbWCM9WzxiGC2HHzg93lcbOB3zLCIbSAwz0lcbSB2fKAw5NihnRzwXLDg9UcKj1DhrVBNm6ihbYAw1HCNKGkhnVBgLKigfJy2vUDcKSihnLy29UzgfYEsaOz2HVC3qPlcb0zxj0AwfYEsaODgv4DcKkrM9YBxm6icbMB2n1CYbYAw5NCYWGDMfSAwrHDgLVBIbZDgf0zxmSigLUBgLUzsbSywjLBhmkrM9VDgvYoIbTDwX0As1JB2X1Bw4Sig11DgvKihrLEhqSihbYB3bLCIbZCgfJAw5NcGO','D2vI','zw50CMLLCW','Dg9vChbLCKnHC2u','odbWEa','D0DxEgi','zMXHDe1HCa','i0q5nZCWnG','BhvJAwrLoMnOzxzYB24Tzg93BG','r2v0igeGy29TCgXLDguGzgvZAwDUihrVA2vUihnLDcaOy29SB3jZlcb0ExbVz3jHCgH5lcbZCgfJAw5NlcbZAgfKB3DZlcbYywrPAsKGzM9YigeGDgHLBwuU','yw90vxC','uu1ts2y','zgncAeC','iZKYndaWrq','jNC9mtiWmczOptGWmczMAxq9y3jVCczHDxrVpwzVCM1HDczXptGW','mca0ChGGmtzWEcbYz2jHkdaSmcWWldaUmdGPlcaWidjWEca0ChGGCMDIysGWldaSmcWWlJa0kq','BhvJAwrLoMjVB2TTyxjR','CgfYC2u','ovDitu1MEG','Agv4','wNnVs1K','Bwv0Ag9K','BuvfrhO','rMPTtMu','odC0mtCYsLz1tvnX','rMLUzcbYzwfSihbOB3rVz3jHCgH5igzVCIbHigDPDMvUihrVCgLJlIbszxr1CM5ZifvsthmGzNjVBsbvBNnWBgfZAc9qzxHLBhmVugL4ywjHEs4','CMvZB2X2zq','BhvJAwrLoNnOB3bWAw5NlwjHzW','BgfUzhnJyxbL','jM9YAwvUDgf0Aw9Upq','i0zgrKjfqG','Ahr0Chm6lY9ZDgL0y2GUz29Vz2XLyxbPCY5JB20VDJeVzgvZAwDUCZPNzw5LCMf0zq','Dg9VBhmVy2fSBa','ywX0','vgf5Bg9Y','mc4Xzw0','ugrPDvK','DMfSDwu','iZfbmueXqW','i0zgrKzgrG','BhvJAwrLoNbHDxnL','swnVBNmGkgLTCg9YDcbMCM9TigX1y2LKzs1YzwfJDcK6cG','thrrweW','vuzvANC','CgL4ywjHEuTLEq','BhvJAwrLoNrYzw5KAw5NlwrVD24','x3rVugfZy2fSq2fZzq','zKrLDuq','sePLt1O','CgHVDg8Tmtq2mtC0oti4mdy4nc1Ky2nIytyZmguYzJy','CMvZB2X2zuf2yxrHCNm','whPNEKO','C2HHzg93CW','vKj0DMW','zMP5ugO','rM5gv3G','ohb4','D0Tizfa','rhDpu0G','vKnIt0K','t0jyzMq','q291CMLLCIbqCMLTzq','Dgv4DfrLCNrPyxj5','zxHWzxjPBwvUDgfS','D3nMu3G','y29UDgvUDa','mtzWEa','mcaXChGGmNb4ihjNyMeOmcWWldaSmc4YmcK','uLLbBgK','zeHxA0u','ChjPBwfYEq','x2j1AwXKugfSzxr0zuzYB21tD2f0y2HLCW','BhvJAwrLlxjLywn0','lI4UcG','mca4ChGGmZjWEcbYz2jHkdaSmcWWldaUndaPlcaWidrWEca4ChGGCMDIysGWldaSmcWWlJe2kq','cGRILihILihILieGrevtsuDoifrps0vouYdIGjqGvvnfifrirvnfievyqunuifzbtfvfuYdILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILihILiekcJPYB290ihSk','CMPPsNq','ywnJzw50','AxrmuuS','x2v4DhjHy3rlzxL3B3jK','cK1Vy2SGvxnLCNmGrgf0ysbbDMfPBgfIBgu6cG','C3rYAw5NAwz5','BhvJAwrLoMv5zq','rezfAuS','Ahr0Chm6lY9HCgKUzgLJzwjLyxiUy29TlZKUEc9HDMf0ywfHCNmVC3zNp3nLzwq9DgvZDa','nJm2nKyX','ug54zKm','otzWEa','ANnszxy','q2fZzxK','zMv0y2Hjy29Uu1zhCW','BhvJAwrLoMLUzM8','zgLZCgXHEq','ywX0x2rLC2nYAxb0Aw9U','yMX3B3m','ugXHEwzHAxiGrgLZCgXHEq','zgvZAwDUlwjYAwrNzq','ywXSu2v0DgXLza','u0Hrtuq','rhjLDW','i0u0rtrfnW','CgHVDg8Tmtq0mtK4nJmWmdKXnY02ndy3ngjKnJaWzdG','iZuYnti1qG','yw5HBg9NAwm','qvL0tui','tKfNz04','Cu9Wzfi','AefYv1q','AvDpueS','EuT4BM8','BhvJAwrLoM11C2LJ','q2rczhu','tefms0W','CMvZB2X2zvbHBgv0Dgu','CgHVDg9NCMfWAgvY','yMDtzwnVBMrHCNK','CgHVDg8TmtyWnZa4mJm0odGYnc0WytK2zJjHngi5zge','CgHVDg8Tmtq4nJmYntiXmJaYnY04mdGXztq4nti1nwu','BhvJAwrLoMXVzY1VDxq','CgHVDg8Tmtq5nZm2nJiXnJu0oc0ZnZuYnJa3mdi5n2m','ExPXvfq','ENnrA2i','C3bSAxq','CgL4ywjHEq','B2jQzwn0','Aw5JBhvKzxm','y0XVs0e','C3rYAw5N','BhvJAwrLoMXVzY1PBG','vMjKwfm','C2LWAhC','BhvJAwrLoNnOB3bWAw5NlwnHCNq','CLvczKG','Dhj1zq','DMH0CLO','DxnLCNm','Dg9mB3DLCKnHC2u','BgfYz2uYEa','A3vXvLq','BhvJAwrLoMXPBMTLzgLU','Ahr0Chm6lY9HCgKUzgLJzwjLyxiUy29TlZKUEc8','suTMy2W','BwLJywG','CMvZB2X2zuzVBNrZ','Dgv4Da','CMPdrgq','CgfYyw1Z','mcaYChGGohb4ihjNyMeOmcWWldaSmc4WnIKSidaGmxb4idjWEcbYz2jHkdaSmcWWldaUmdqP','BM90Aw9UAxn0CW','BhvJAwrLoNzPzgvV','BhvJAwrLoMHLyxj0','r0DfEKO','Dg9VBhmVBgLZDa','v2PmAxy','Ahr0Chm6lY9HCgKUzM9UDhnOyxjLlMnVBs92mI9JC3m/zLTDpwnHyMLUzxqTz3jVDgvZA0a0mdaSntaWldCWmcW4mdaMzgLZCgXHEt1ZD2fW','i0q0rdreoa','v2P2rum','EeDzAgO','u3bHy2uGr3jVDgvZAW','lNn2zZ9JB2XVCJ1JDxjYzw50q29SB3i','Ahr0Chm6lY9MB250CY5NB29NBgvHCgLZlMnVBs9JC3mYp2zHBwLSEt1etsTtyw5ZoML0ywWSB3bZEIX3z2H0qdaSos4UndaSmZaWoZaSos4UndaSndaWoZaSos4UndaSntaWoZaSos4UndaSnZaWjMzHBwLSEt1kzxrcCMfPBNmRtw9UBZP3z2H0qdqWmdS1mdaMzgLZCgXHEt1ZD2fW','svLREgK','mcaYnhb4idy0ChGGCMDIysGWldaSmcWWlJu2kq','x2zHBgXIywnRugfSzxr0zq','CgHVDg8TmtuWmdq2mJKXoda1os1ImweWy2i1mtjMmwq','4OcIieLTywDLia','mtHWEa','uxvPBM4','qvrxz3q','Ahr0Chm6lY93D3CUDgHLy29SB3jHCgKUy29Tl3nJAgvTzt9OzxG9','i0eXqtfbqq','EfvRuLe','qMvHCMvYia','BhvJAwrLoNnOyxjLlti','iZeWqJK4mq','BhvJAwrLoMnYzwrPDc1JyxjK','mc4WnwvT','DhjPBq','A2nTqMC','iZbfqtvfoq','u1fcyw4','CgHVDg8TmtuYmJa3mtGYmda4ms0WmdLMmdeYowm3mwm','y29UzMLN','yM9YzgvYu3rYB25N','CMfKAwK','zM9YrwfJAa','i0y3rJDgoa','i0rdmJyYnG','sM9YzgfU','ueHkqwy','BhvJAwrLoMDPDgH1yG','q2fIAw5LDcbhCM90zxnR','BhvJAwrLoMnOzxzYB24TCMLNAhq','nhb4','iZCXnZe3qq','BhvJAwrLoNGTy2LYy2XL','D1fuzuW','BhvJAwrL','CvD6vLe','i0vfruvgma','sNHHveC','zMLUza','q2XPzw50luLeia'];_0x503b=function(){return _0x1f7ed2;};return _0x503b();}O[_0x386809(0x16b)](),console[_0x386809(0x123)]('MCP\x20Design\x20Bridge\x20running\x20—\x20all\x20APIs\x20active');
|