@digilogiclabs/create-saas-app 1.3.0 → 1.4.0

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 CHANGED
@@ -6,13 +6,16 @@ Create modern SaaS applications with Digi Logic Labs packages in seconds. This C
6
6
 
7
7
  ```bash
8
8
  # Create a web SaaS application
9
- npx @digilogiclabs/create-saas-app web saas my-startup
9
+ npx @digilogiclabs/create-saas-app create web saas my-startup
10
+
11
+ # Create an audio streaming app
12
+ npx @digilogiclabs/create-saas-app create web ui-auth-payments-audio my-music-app
10
13
 
11
14
  # Create a mobile app with tab navigation
12
- npx @digilogiclabs/create-saas-app mobile tabs my-mobile-app
15
+ npx @digilogiclabs/create-saas-app create mobile tabs my-mobile-app
13
16
 
14
17
  # Create both web and mobile apps
15
- npx @digilogiclabs/create-saas-app both base my-full-stack-app
18
+ npx @digilogiclabs/create-saas-app create both base my-full-stack-app
16
19
  ```
17
20
 
18
21
  ## 📦 Installation
@@ -35,6 +38,7 @@ create-saas-app --help
35
38
  - 🔧 **Smart Configuration**: Auto-configures auth, database, and themes
36
39
  - 📦 **Package Integration**: Pre-configured with Digi Logic Labs packages
37
40
  - 🎨 **Multiple Themes**: Corporate, startup, or default styling
41
+ - 🎵 **Media Support**: Audio and video streaming templates
38
42
  - 🔐 **Auth Ready**: Firebase or Supabase authentication
39
43
  - 📊 **Database Ready**: Supabase or Firebase database setup
40
44
  - 🚀 **Deploy Ready**: Vercel, Netlify, and Expo deployment configs
@@ -50,19 +54,31 @@ create-saas-app --help
50
54
  #### **Base Template**
51
55
  Clean Next.js starter with authentication and UI components
52
56
  ```bash
53
- npx @digilogiclabs/create-saas-app web base my-web-app
57
+ npx @digilogiclabs/create-saas-app create web base my-web-app
54
58
  ```
55
59
 
56
60
  #### **Dashboard Template**
57
61
  Admin dashboard with analytics and user management
58
62
  ```bash
59
- npx @digilogiclabs/create-saas-app web dashboard admin-panel
63
+ npx @digilogiclabs/create-saas-app create web dashboard admin-panel
60
64
  ```
61
65
 
62
66
  #### **SaaS Template**
63
67
  Multi-tenant SaaS application with billing and teams
64
68
  ```bash
65
- npx @digilogiclabs/create-saas-app web saas my-saas-platform
69
+ npx @digilogiclabs/create-saas-app create web saas my-saas-platform
70
+ ```
71
+
72
+ #### **Audio Player Template**
73
+ Full SaaS application with audio streaming features and playlist support
74
+ ```bash
75
+ npx @digilogiclabs/create-saas-app create web ui-auth-payments-audio my-audio-app
76
+ ```
77
+
78
+ #### **Video Player Template**
79
+ Full SaaS application with video streaming features and quality selection
80
+ ```bash
81
+ npx @digilogiclabs/create-saas-app create web ui-auth-payments-video my-video-app
66
82
  ```
67
83
 
68
84
  ### Web Project Structure
@@ -93,7 +109,7 @@ my-web-app/
93
109
 
94
110
  1. **Create your project**:
95
111
  ```bash
96
- npx @digilogiclabs/create-saas-app web base my-web-app
112
+ npx @digilogiclabs/create-saas-app create web base my-web-app
97
113
  cd my-web-app
98
114
  ```
99
115
 
@@ -133,19 +149,19 @@ NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
133
149
  #### **Base Template**
134
150
  Simple Expo app with navigation and authentication
135
151
  ```bash
136
- npx @digilogiclabs/create-saas-app mobile base my-mobile-app
152
+ npx @digilogiclabs/create-saas-app create mobile base my-mobile-app
137
153
  ```
138
154
 
139
155
  #### **Tabs Template**
140
156
  Tab-based navigation structure
141
157
  ```bash
142
- npx @digilogiclabs/create-saas-app mobile tabs my-tabs-app
158
+ npx @digilogiclabs/create-saas-app create mobile tabs my-tabs-app
143
159
  ```
144
160
 
145
161
  #### **Stack Template**
146
162
  Stack-based navigation structure
147
163
  ```bash
148
- npx @digilogiclabs/create-saas-app mobile stack my-stack-app
164
+ npx @digilogiclabs/create-saas-app create mobile stack my-stack-app
149
165
  ```
150
166
 
151
167
  ### Mobile Project Structure
@@ -175,7 +191,7 @@ my-mobile-app/
175
191
 
176
192
  1. **Create your project**:
177
193
  ```bash
178
- npx @digilogiclabs/create-saas-app mobile base my-mobile-app
194
+ npx @digilogiclabs/create-saas-app create mobile base my-mobile-app
179
195
  cd my-mobile-app
180
196
  ```
181
197
 
@@ -214,7 +230,7 @@ The CLI will guide you through project configuration with interactive prompts.
214
230
 
215
231
  ### Command Line Options
216
232
  ```bash
217
- npx @digilogiclabs/create-saas-app <platform> [template] [name] [options]
233
+ npx @digilogiclabs/create-saas-app create <platform> [template] [name] [options]
218
234
 
219
235
  Arguments:
220
236
  platform Platform: web, mobile, or both
@@ -236,42 +252,50 @@ Options:
236
252
  #### Web Applications
237
253
  ```bash
238
254
  # Basic web app with defaults
239
- npx @digilogiclabs/create-saas-app web base my-app
255
+ npx @digilogiclabs/create-saas-app create web base my-app
240
256
 
241
257
  # SaaS app with Supabase and corporate theme
242
- npx @digilogiclabs/create-saas-app web saas my-startup \
258
+ npx @digilogiclabs/create-saas-app create web saas my-startup \
243
259
  --auth=supabase --database=supabase --theme=corporate
244
260
 
245
261
  # Dashboard with Firebase auth
246
- npx @digilogiclabs/create-saas-app web dashboard admin-panel \
262
+ npx @digilogiclabs/create-saas-app create web dashboard admin-panel \
263
+ --auth=firebase --database=firebase
264
+
265
+ # Audio streaming app with Supabase
266
+ npx @digilogiclabs/create-saas-app create web ui-auth-payments-audio my-music-app \
267
+ --auth=supabase --database=supabase
268
+
269
+ # Video streaming app with Firebase
270
+ npx @digilogiclabs/create-saas-app create web ui-auth-payments-video my-streaming-app \
247
271
  --auth=firebase --database=firebase
248
272
 
249
273
  # Skip installation and git init
250
- npx @digilogiclabs/create-saas-app web base my-app \
274
+ npx @digilogiclabs/create-saas-app create web base my-app \
251
275
  --no-install --no-git
252
276
  ```
253
277
 
254
278
  #### Mobile Applications
255
279
  ```bash
256
280
  # Basic mobile app
257
- npx @digilogiclabs/create-saas-app mobile base my-mobile-app
281
+ npx @digilogiclabs/create-saas-app create mobile base my-mobile-app
258
282
 
259
283
  # Tab navigation with Firebase
260
- npx @digilogiclabs/create-saas-app mobile tabs my-tabs-app \
284
+ npx @digilogiclabs/create-saas-app create mobile tabs my-tabs-app \
261
285
  --auth=firebase
262
286
 
263
287
  # Stack navigation with Supabase
264
- npx @digilogiclabs/create-saas-app mobile stack my-stack-app \
288
+ npx @digilogiclabs/create-saas-app create mobile stack my-stack-app \
265
289
  --auth=supabase --database=supabase
266
290
  ```
267
291
 
268
292
  #### Full-Stack Applications
269
293
  ```bash
270
294
  # Create both web and mobile
271
- npx @digilogiclabs/create-saas-app both base my-full-stack-app
295
+ npx @digilogiclabs/create-saas-app create both base my-full-stack-app
272
296
 
273
297
  # With specific configuration
274
- npx @digilogiclabs/create-saas-app both base my-platform \
298
+ npx @digilogiclabs/create-saas-app create both base my-platform \
275
299
  --auth=supabase --database=supabase --theme=startup
276
300
  ```
277
301
 
@@ -411,7 +435,7 @@ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) f
411
435
 
412
436
  4. **Test locally**:
413
437
  ```bash
414
- node dist/cli/index.js create web base test-app
438
+ node bin/index.js create web base test-app
415
439
  ```
416
440
 
417
441
  ## 📚 Documentation
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/commander/typings/index.d.ts","../node_modules/chalk/index.d.ts","../src/cli/utils/logger.ts","../node_modules/cli-spinners/index.d.ts","../node_modules/ora/index.d.ts","../src/cli/utils/spinner.ts","../node_modules/@types/validate-npm-package-name/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/jsonfile/index.d.ts","../node_modules/@types/jsonfile/utils.d.ts","../node_modules/@types/fs-extra/index.d.ts","../src/cli/validators/project-name.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/execa/index.d.ts","../src/cli/validators/dependencies.ts","../node_modules/rxjs/dist/types/internal/subscription.d.ts","../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../node_modules/rxjs/dist/types/internal/operator.d.ts","../node_modules/rxjs/dist/types/internal/observable.d.ts","../node_modules/rxjs/dist/types/internal/types.d.ts","../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../node_modules/rxjs/dist/types/internal/subject.d.ts","../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../node_modules/rxjs/dist/types/internal/notification.d.ts","../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../node_modules/rxjs/dist/types/operators/index.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../node_modules/rxjs/dist/types/testing/index.d.ts","../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../node_modules/rxjs/dist/types/internal/config.d.ts","../node_modules/rxjs/dist/types/index.d.ts","../node_modules/@types/through/index.d.ts","../node_modules/@types/inquirer/lib/objects/choice.d.ts","../node_modules/@types/inquirer/lib/objects/separator.d.ts","../node_modules/@types/inquirer/lib/objects/choices.d.ts","../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../node_modules/@types/inquirer/lib/prompts/base.d.ts","../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../node_modules/@types/inquirer/lib/prompts/input.d.ts","../node_modules/@types/inquirer/lib/prompts/list.d.ts","../node_modules/@types/inquirer/lib/prompts/number.d.ts","../node_modules/@types/inquirer/lib/prompts/password.d.ts","../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../node_modules/@types/inquirer/lib/utils/events.d.ts","../node_modules/@types/inquirer/lib/utils/readline.d.ts","../node_modules/@types/inquirer/index.d.ts","../src/cli/prompts/project-setup.ts","../node_modules/@types/mustache/index.d.ts","../node_modules/minipass/dist/commonjs/index.d.ts","../node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts","../node_modules/path-scurry/dist/commonjs/index.d.ts","../node_modules/minimatch/dist/commonjs/ast.d.ts","../node_modules/minimatch/dist/commonjs/escape.d.ts","../node_modules/minimatch/dist/commonjs/unescape.d.ts","../node_modules/minimatch/dist/commonjs/index.d.ts","../node_modules/glob/dist/commonjs/pattern.d.ts","../node_modules/glob/dist/commonjs/processor.d.ts","../node_modules/glob/dist/commonjs/walker.d.ts","../node_modules/glob/dist/commonjs/ignore.d.ts","../node_modules/glob/dist/commonjs/glob.d.ts","../node_modules/glob/dist/commonjs/has-magic.d.ts","../node_modules/glob/dist/commonjs/index.d.ts","../src/generators/template-generator.ts","../src/cli/utils/package-manager.ts","../src/generators/package-installer.ts","../src/cli/utils/git.ts","../src/cli/commands/create.ts","../src/cli/commands/add.ts","../src/cli/commands/update.ts","../package.json","../src/cli/index.ts","../src/cli/commands/index.ts","../src/cli/prompts/index.ts","../src/cli/utils/index.ts","../src/cli/validators/index.ts","../src/generators/file-processor.ts","../src/generators/index.ts","../node_modules/@firebase/component/dist/src/provider.d.ts","../node_modules/@firebase/component/dist/src/component_container.d.ts","../node_modules/@firebase/component/dist/src/types.d.ts","../node_modules/@firebase/component/dist/src/component.d.ts","../node_modules/@firebase/component/dist/index.d.ts","../node_modules/@firebase/util/dist/util-public.d.ts","../node_modules/@firebase/logger/dist/src/logger.d.ts","../node_modules/@firebase/logger/dist/index.d.ts","../node_modules/@firebase/app/dist/app-public.d.ts","../node_modules/firebase/app/dist/app/index.d.ts","../node_modules/@firebase/auth/dist/auth-public.d.ts","../node_modules/firebase/auth/dist/auth/index.d.ts","../node_modules/@firebase/firestore/dist/index.d.ts","../node_modules/firebase/firestore/dist/firestore/index.d.ts","../src/templates/shared/auth/firebase/web/config.ts","../node_modules/@supabase/functions-js/dist/module/types.d.ts","../node_modules/@supabase/functions-js/dist/module/functionsclient.d.ts","../node_modules/@supabase/functions-js/dist/module/index.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgresterror.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/types.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestbuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgresttransformbuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestfilterbuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestquerybuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestclient.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/index.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/websocket-factory.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/constants.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/serializer.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/timer.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/push.d.ts","../node_modules/@types/phoenix/index.d.ts","../node_modules/@supabase/realtime-js/dist/module/realtimepresence.d.ts","../node_modules/@supabase/realtime-js/dist/module/realtimechannel.d.ts","../node_modules/@supabase/realtime-js/dist/module/realtimeclient.d.ts","../node_modules/@supabase/realtime-js/dist/module/index.d.ts","../node_modules/@supabase/storage-js/dist/module/lib/errors.d.ts","../node_modules/@supabase/storage-js/dist/module/lib/types.d.ts","../node_modules/@supabase/storage-js/dist/module/lib/fetch.d.ts","../node_modules/@supabase/storage-js/dist/module/packages/storagefileapi.d.ts","../node_modules/@supabase/storage-js/dist/module/packages/storagebucketapi.d.ts","../node_modules/@supabase/storage-js/dist/module/storageclient.d.ts","../node_modules/@supabase/storage-js/dist/module/index.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/error-codes.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/errors.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/solana.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/types.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/fetch.d.ts","../node_modules/@supabase/auth-js/dist/module/gotrueadminapi.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/helpers.d.ts","../node_modules/@supabase/auth-js/dist/module/gotrueclient.d.ts","../node_modules/@supabase/auth-js/dist/module/authadminapi.d.ts","../node_modules/@supabase/auth-js/dist/module/authclient.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/locks.d.ts","../node_modules/@supabase/auth-js/dist/module/index.d.ts","../node_modules/@supabase/supabase-js/dist/module/lib/types.d.ts","../node_modules/@supabase/supabase-js/dist/module/lib/supabaseauthclient.d.ts","../node_modules/@supabase/supabase-js/dist/module/supabaseclient.d.ts","../node_modules/@supabase/supabase-js/dist/module/index.d.ts","../src/templates/shared/auth/supabase/web/config.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/ws/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[58,101,503],[58,101],[58,101,443,444,446],[58,101,444,447],[58,101,439,440,441,442],[58,101,441],[58,101,439,441,442],[58,101,440,441,442],[58,101,440],[58,101,444,446,447],[58,101,445],[58,101,514],[58,101,491],[58,101,493],[58,101,487,489,490],[58,101,487,489,490,491,492],[58,101,487,489,491,493,494,495,496],[58,101,486,489],[58,101,489],[58,101,487,488,490],[58,101,454],[58,101,454,455],[58,101,457,461,462,463,464,465,466,467],[58,101,458,461],[58,101,461,465,466],[58,101,460,461,464],[58,101,461,463,465],[58,101,461,462,463],[58,101,460,461],[58,101,458,459,460,461],[58,101,461],[58,101,458,459],[58,101,457,458,460],[58,101,469,475,476,477],[58,101,476],[58,101,470,472,473,475,477],[58,101,469,470,471,472,476],[58,101,474,476],[58,101,479,480,484],[58,101,480],[58,101,479,480,481,484],[58,101,150,479,480,481],[58,101,481,482,483],[58,101,456,468,478,497,498,500],[58,101,497,498],[58,101,468,478,484,497],[58,101,456,468,478,485,498,499],[58,101,503,504,505,506,507],[58,101,503,505],[58,101,114,150,151,152],[58,101,114,150],[58,101,128,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406],[58,101,407],[58,101,387,388,407],[58,101,128,385,390,407],[58,101,128,391,392,407],[58,101,128,391,407],[58,101,128,385,391,407],[58,101,128,397,407],[58,101,128,407],[58,101,128,385],[58,101,390],[58,101,128],[58,101,510],[58,101,511],[58,101,516,519],[58,101,114,143,150],[58,98,101],[58,100,101],[101],[58,101,106,135],[58,101,102,107,113,121,132,143],[58,101,102,103,113,121],[53,54,55,58,101],[58,101,104,144],[58,101,105,106,114,122],[58,101,106,132,140],[58,101,107,109,113,121],[58,100,101,108],[58,101,109,110],[58,101,111,113],[58,100,101,113],[58,101,113,114,115,132,143],[58,101,113,114,115,128,132,135],[58,96,101],[58,101,109,113,116,121,132,143],[58,101,113,114,116,117,121,132,140,143],[58,101,116,118,132,140,143],[56,57,58,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,101,113,119],[58,101,120,143,148],[58,101,109,113,121,132],[58,101,122],[58,101,123],[58,100,101,124],[58,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,101,126],[58,101,127],[58,101,113,128,129],[58,101,128,130,144,146],[58,101,113,132,133,135],[58,101,134,135],[58,101,132,133],[58,101,135],[58,101,136],[58,98,101,132,137],[58,101,113,138,139],[58,101,138,139],[58,101,106,121,132,140],[58,101,141],[58,101,121,142],[58,101,116,127,143],[58,101,106,144],[58,101,132,145],[58,101,120,146],[58,101,147],[58,101,113,115,124,132,135,143,146,148],[58,101,132,149],[58,101,155,194],[58,101,155,179,194],[58,101,194],[58,101,155],[58,101,155,180,194],[58,101,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[58,101,180,194],[58,101,132,150],[58,101,113,116,118,121,132,140,143,149,150],[58,101,523],[58,101,102,132,150],[58,101,513,518],[58,101,447],[58,101,449],[58,101,451],[58,101,410,412,416,417,420],[58,101,421],[58,101,412,416,419],[58,101,410,412,416,419,420,421,422],[58,101,416],[58,101,412,416,417,419],[58,101,410,412,417,418,420],[58,101,516],[47,58,101,517],[58,101,413,414,415],[58,101,113,136,150],[49,58,101],[58,101,114,123,150,410,411],[58,101,515],[58,101,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,213,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,253,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,316,317,318,320,329,331,332,333,334,335,336,338,339,341,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384],[58,101,242],[58,101,198,201],[58,101,200],[58,101,200,201],[58,101,197,198,199,201],[58,101,198,200,201,358],[58,101,201],[58,101,197,200,242],[58,101,200,201,358],[58,101,200,366],[58,101,198,200,201],[58,101,210],[58,101,233],[58,101,254],[58,101,200,201,242],[58,101,201,249],[58,101,200,201,242,260],[58,101,200,201,260],[58,101,201,301],[58,101,201,242],[58,101,197,201,319],[58,101,197,201,320],[58,101,342],[58,101,326,328],[58,101,337],[58,101,326],[58,101,197,201,319,326,327],[58,101,319,320,328],[58,101,340],[58,101,197,201,326,327,328],[58,101,199,200,201],[58,101,197,201],[58,101,198,200,320,321,322,323],[58,101,242,320,321,322,323],[58,101,320,322],[58,101,200,321,322,324,325,329],[58,101,197,200],[58,101,201,344],[58,101,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317],[58,101,330],[58,68,72,101,143],[58,68,101,132,143],[58,63,101],[58,65,68,101,140,143],[58,101,121,140],[58,101,150],[58,63,101,150],[58,65,68,101,121,143],[58,60,61,64,67,101,113,132,143],[58,68,75,101],[58,60,66,101],[58,68,89,90,101],[58,64,68,101,135,143,150],[58,89,101,150],[58,62,63,101,150],[58,68,101],[58,62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,101],[58,68,83,101],[58,68,75,76,101],[58,66,68,76,77,101],[58,67,101],[58,60,63,68,101],[58,68,72,76,77,101],[58,72,101],[58,66,68,71,101,143],[58,60,65,68,75,101],[58,101,132],[58,63,68,89,101,148,150],[48,51,58,101],[48,51,58,101,123,154,196,408,424,426,427],[58,101,428,429,430],[48,51,58,101,195,425],[46,48,58,101,428,429,430,431],[58,101,408],[48,58,101,154,407,428],[48,58,101,123,153,195],[48,51,58,101,425,427],[47,58,101],[58,101,123,153,195],[47,50,58,101],[48,58,101,194,195],[58,101,154,196],[48,52,58,101,123,153],[48,58,101,123,153,409],[58,101,424,426,437],[48,58,101,123,153,195,425],[48,58,101,123,153,409,423,428],[58,101,448,450,452],[58,101,501]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"17d716b12c230355d207d8b464a3359e13041c0cbb94c243981618e279f57670","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},"81b1c04e9d9914905c8f9366a9dbb3cf40aaab1e99df80282d6411270fc1a068",{"version":"b85d57f7dfd39ab2b001ecc3312dfa05259192683a81880749cbca3b28772e42","impliedFormat":1},{"version":"437ce3def325725c84c242f916886e634ff8f133356ea88ccb4bdd425792bb36","impliedFormat":1},"9f4535879273e9623cc105389b7ef0e2e4d841e105cfb08bcde4596378aa1e53",{"version":"0b301e46295e7dee8bcead624b4a0f94ab8ba1cb3f572b726977322293be2196","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"49a5a44f2e68241a1d2bd9ec894535797998841c09729e506a7cbfcaa40f2180","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"1ca84b44ad1d8e4576f24904d8b95dd23b94ea67e1575f89614ac90062fc67f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d586db0a09a9495ebb5dece28f54df9684bfbd6e1f568426ca153126dac4a40","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"567b7f607f400873151d7bc63a049514b53c3c00f5f56e9e95695d93b66a138e","affectsGlobalScope":true,"impliedFormat":1},{"version":"823f9c08700a30e2920a063891df4e357c64333fdba6889522acc5b7ae13fc08","impliedFormat":1},{"version":"84c1930e33d1bb12ad01bcbe11d656f9646bd21b2fb2afd96e8e10615a021aef","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4b87f767c7bc841511113c876a6b8bf1fd0cb0b718c888ad84478b372ec486b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d04e3640dd9eb67f7f1e5bd3d0bf96c784666f7aefc8ac1537af6f2d38d4c29","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"2bf469abae4cc9c0f340d4e05d9d26e37f936f9c8ca8f007a6534f109dcc77e4","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ada07543808f3b967624645a8e1ccd446f8b01ade47842acf1328aec899fed0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c21aaa8257d7950a5b75a251d9075b6a371208fc948c9c8402f6690ef3b5b55","impliedFormat":1},{"version":"b5895e6353a5d708f55d8685c38a235c3a6d8138e374dee8ceb8ffde5aa8002a","impliedFormat":1},{"version":"54c4f21f578864961efc94e8f42bc893a53509e886370ec7dd602e0151b9266c","impliedFormat":1},{"version":"de735eca2c51dd8b860254e9fdb6d9ec19fe402dfe597c23090841ce3937cfc5","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"5155da3047ef977944d791a2188ff6e6c225f6975cc1910ab7bb6838ab84cede","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"e16d218a30f6a6810b57f7e968124eaa08c7bb366133ea34bbf01e7cd6b8c0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb8692dea24c27821f77e397272d9ed2eda0b95e4a75beb0fdda31081d15a8ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"5b6844ad931dcc1d3aca53268f4bd671428421464b1286746027aede398094f2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"0225ecb9ed86bdb7a2c7fd01f1556906902929377b44483dc4b83e03b3ef227d","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"461e54289e6287e8494a0178ba18182acce51a02bca8dea219149bf2cf96f105","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"e31e51c55800014d926e3f74208af49cb7352803619855c89296074d1ecbb524","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"dfb96ba5177b68003deec9e773c47257da5c4c8a74053d8956389d832df72002","affectsGlobalScope":true,"impliedFormat":1},{"version":"92d3070580cf72b4bb80959b7f16ede9a3f39e6f4ef2ac87cfa4561844fdc69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3dffd70e6375b872f0b4e152de4ae682d762c61a24881ecc5eb9f04c5caf76f","impliedFormat":1},{"version":"613deebaec53731ff6b74fe1a89f094b708033db6396b601df3e6d5ab0ec0a47","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"e56eb632f0281c9f8210eb8c86cc4839a427a4ffffcfd2a5e40b956050b3e042","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},"a51548f771046ac8862343fa675c48fc3e12324dd46800be976ac8c9a8ae9584",{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"844ab83672160ca57a2a2ea46da4c64200d8c18d4ebb2087819649cad099ff0e","impliedFormat":1},{"version":"088703b7810394a5af823ac753cca116931df81a97183725ae1e2c4e6038268d","impliedFormat":1},"4e3ce7b4c8920a1b77cd38fa72107515f4acd2e9c28b2c9b52552a2de3960efe",{"version":"073ca26c96184db9941b5ec0ddea6981c9b816156d9095747809e524fdd90e35","impliedFormat":1},{"version":"e41d17a2ec23306d953cda34e573ed62954ca6ea9b8c8b74e013d07a6886ce47","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"2ae3787e1498b20aad1b9c2ee9ea517ec30e89b70d242d8e3e52d1e091039695","impliedFormat":1},{"version":"c7c72c4cffb1bc83617eefed71ed68cc89df73cab9e19507ccdecb3e72b4967e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"38b38db08e7121828294dec10957a7a9ff263e33e2a904b346516d4a4acca482","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"8a2aaea564939c22be05d665cc955996721bad6d43148f8fa21ae8f64afecd37","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"95950a187596e206d32d5d9c7b932901088c65ed8f9040e614aa8e321e0225ef","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"0521108c9f8ddb17654a0a54dae6ba9667c99eddccfd6af5748113e022d1c37a","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"ee764e6e9a7f2b987cc1a2c0a9afd7a8f4d5ebc4fdb66ad557a7f14a8c2bd320","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"d7058e75920120b142a9d57be25562a3cd9a936269fd52908505f530105f2ec4","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"a472a1d3f25ce13a1d44911cd3983956ac040ce2018e155435ea34afb25f864c","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"93181bac0d90db185bb730c95214f6118ae997fe836a98a49664147fbcaf1988","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"c54166a85bd60f86d1ebb90ce0117c0ecb850b8a33b366691629fdf26f1bbbd8","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"80f23f1d60fbed356f726b3b26f9d348dddbb34027926d10d59fad961e70a730","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"cc20bb2227dd5de0aab0c8d697d1572f8000550e62c7bf5c92f212f657dd88c5","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"d0da80c845999a16c24d0783033fb5366ada98df17867c98ad433ede05cd87fd","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"fd9a991b51870325e46ebb0e6e18722d313f60cd8e596e645ec5ac15b96dbf4e","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"314e402cd481370d08f63051ae8b8c8e6370db5ee3b8820eeeaaf8d722a6dac6","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"cefc20054d20b85b534206dbcedd509bb74f87f3d8bc45c58c7be3a76caa45e1","impliedFormat":1},{"version":"ad6eee4877d0f7e5244d34bc5026fd6e9cf8e66c5c79416b73f9f6ebf132f924","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"f4749c102ced952aa6f40f0b579865429c4869f6d83df91000e98005476bee87","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"05f56cd4b929977d18df8f3d08a4c929a2592ef5af083e79974b20a063f30940","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"cb46b38d5e791acaa243bf342b8b5f8491639847463ac965b93896d4fb0af0d9","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"ce60a562cd2a92f37a88f2ddd99a3abfbc5848d7baf38c48fb8d3243701fcb75","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"b6e2b0448ced813b8c207810d96551a26e7d7bb73255eea4b9701698f78846d6","impliedFormat":1},{"version":"8ae10cd85c1bd94d2f2d17c4cbd25c068a4b2471c70c2d96434239f97040747a","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"8776a368617ce51129b74db7d55c3373dadcce5d0701e61d106e99998922a239","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"9108ab5af05418f599ab48186193b1b07034c79a4a212a7f73535903ba4ca249","impliedFormat":1},{"version":"bb4e2cdcadf9c9e6ee2820af23cee6582d47c9c9c13b0dca1baaffe01fbbcb5f","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"02ae43d5bae42efcd5a00d3923e764895ce056bca005a9f4e623aa6b4797c8af","impliedFormat":1},{"version":"db6e01f17012a9d7b610ae764f94a1af850f5d98c9c826ad61747dca0fb800bd","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"97f9169882d393e6f303f570168ca86b5fe9aab556e9a43672dae7e6bb8e6495","impliedFormat":1},{"version":"7c9adb3fcd7851497818120b7e151465406e711d6a596a71b807f3a17853cb58","impliedFormat":1},{"version":"6752d402f9282dd6f6317c8c048aaaac27295739a166eed27e00391b358fed9a","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"84794e3abd045880e0fadcf062b648faf982aa80cfc56d28d80120e298178626","impliedFormat":1},{"version":"053d8b827286a16a669a36ffc8ccc8acdf8cc154c096610aa12348b8c493c7b8","impliedFormat":1},{"version":"3cce4ce031710970fe12d4f7834375f5fd455aa129af4c11eb787935923ff551","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"40f06693e2e3e58526b713c937895c02e113552dc8ba81ecd49cdd9596567ddb","impliedFormat":1},{"version":"4ed5e1992aedb174fb8f5aa8796aa6d4dcb8bd819b4af1b162a222b680a37fa0","impliedFormat":1},{"version":"d7f4bd46a8b97232ea6f8c28012b8d2b995e55e729d11405f159d3e00c51420a","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"e4f4f9cf1e3ac9fd91ada072e4d428ecbf0aa6dc57138fb797b8a0ca3a1d521c","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"8018dd2e95e7ce6e613ddd81672a54532614dc745520a2f9e3860ff7fb1be0ca","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"0e704ee6e9fd8b6a5a7167886f4d8915f4bc22ed79f19cb7b32bd28458f50643","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"904a96f84b1bcee9a7f0f258d17f8692e6652a0390566515fe6741a5c6db8c1c","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"45b74185005ed45bec3f07cac6e4d68eaf02ead9ff5a66721679fb28020e5e7c","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"08323a8971cb5b2632b532cba1636ad4ca0d76f9f7d0b8d1a0c706fdf5c77b45","impliedFormat":1},{"version":"06fc6fbc8eb2135401cf5adce87655790891ca22ad4f97dfccd73c8cf8d8e6b5","impliedFormat":99},{"version":"1cce0c01dd7e255961851cdb9aa3d5164ec5f0e7f0fefc61e28f29afedda374f","impliedFormat":99},{"version":"7778598dfac1b1f51b383105034e14a0e95bc7b2538e0c562d5d315e7d576b76","impliedFormat":99},{"version":"b14409570c33921eb797282bb7f9c614ccc6008bf3800ba184e950cdfc54ab5c","impliedFormat":99},{"version":"2f0357257a651cc1b14e77b57a63c7b9e4e10ec2bb57e5fdccf83be0efb35280","impliedFormat":99},{"version":"866e63a72a9e85ed1ec74eaebf977be1483f44aa941bcae2ba9b9e3b39ca4395","impliedFormat":99},{"version":"6865d0d503a5ad6775339f6b5dcfa021d72d2567027943b52679222411ad2501","impliedFormat":99},{"version":"dc2be4768bcf96e5d5540ed06fdfbddb2ee210227556ea7b8114ad09d06d35a5","impliedFormat":99},{"version":"e86813f0b7a1ada681045a56323df84077c577ef6351461d4fff4c4afdf79302","impliedFormat":99},{"version":"b3ace759b8242cc742efb6e54460ed9b8ceb9e56ce6a9f9d5f7debe73ed4e416","impliedFormat":99},{"version":"1c4d715c5b7545acecd99744477faa8265ca3772b82c3fa5d77bfc8a27549c7e","impliedFormat":99},{"version":"8f92dbdd3bbc8620e798d221cb7c954f8e24e2eed31749dfdb5654379b031c26","impliedFormat":99},{"version":"f30bfef33d69e4d0837e9e0bbf5ea14ca148d73086dc95a207337894fde45c6b","impliedFormat":99},{"version":"82230238479c48046653e40a6916e3c820b947cb9e28b58384bc4e4cea6a9e92","impliedFormat":99},{"version":"3a6941ff3ea7b78017f9a593d0fd416feb45defa577825751c01004620b507d3","impliedFormat":99},{"version":"481c38439b932ef9e87e68139f6d03b0712bc6fc2880e909886374452a4169b5","impliedFormat":99},{"version":"64054d6374f7b8734304272e837aa0edcf4cfa2949fa5810971f747a0f0d9e9e","impliedFormat":99},{"version":"267498893325497596ff0d99bfdb5030ab4217c43801221d2f2b5eb5734e8244","impliedFormat":99},{"version":"d2ec89fb0934a47f277d5c836b47c1f692767511e3f2c38d00213c8ec4723437","impliedFormat":99},{"version":"475e411f48f74c14b1f6e50cc244387a5cc8ce52340dddfae897c96e03f86527","impliedFormat":99},{"version":"c1022a2b86fadc3f994589c09331bdb3461966fb87ebb3e28c778159a300044e","impliedFormat":99},"d806708a25d0308359ff6ed02d405eff06dc546b9956025d671b89fa1dfbddc6",{"version":"b58c81d4cc365d3986aee6c2a86592edc50f141b796899079196ffb103047390","impliedFormat":1},{"version":"041597c12abeaa2ef07766775955fc87cfc65c43e0fe86c836071bea787e967c","impliedFormat":1},{"version":"0838507efff4f479c6f603ec812810ddfe14ab32abf8f4a8def140be970fe439","impliedFormat":1},{"version":"f67c92f5cb2bf5a9929ee73216f08749db4f22b04a18e5205ed6e75ca48e9feb","impliedFormat":1},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":1},{"version":"de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","impliedFormat":1},{"version":"1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","impliedFormat":1},{"version":"854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","impliedFormat":1},{"version":"dd9faff42b456b5f03b85d8fbd64838eb92f6f7b03b36322cbc59c005b7033d3","impliedFormat":1},{"version":"6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","impliedFormat":1},{"version":"9dce9fc12e9a79d1135699d525aa6b44b71a45e32e3fa0cf331060b980b16317","impliedFormat":1},{"version":"586b2fd8a7d582329658aaceec22f8a5399e05013deb49bcfde28f95f093c8ee","impliedFormat":1},{"version":"dedc0ab5f7babe4aef870618cd2d4bc43dc67d1584ee43b68fc6e05554ef8f34","impliedFormat":1},{"version":"ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","impliedFormat":1},{"version":"3d8885d13f76ff35b7860039e83c936ff37553849707c2fd1d580d193a52be5b","impliedFormat":1},"a27b308a31ca392c56a9fa2c52ff2d54643ee4428980598531738e49bd1b4e88","f1000fcd9f9e6bb6cb20c4d13a4117f0a8bc3f30c39c5bb74abaff885e0f301f","6978c96e51ac0e8fe37bb98482d6dc87c48d6bafc6483833306a8977ec7efe80","31fb1aab9fffdb400fea690a6417e5918aee85e1e0f958334d88dd8e9ea175eb","9663249ed758bbdc6c6b87b2e66671ea0187b5ed329d8886bc4b28a4b7462e75","cc455745fa695edffa6b0c96c40bd4d56ea6a55b7de18e02034902cd42a51c9f","8e8b99d398b1a41f756564f78a2e25da53c4359e713d2477030d7cb541f47fba","49c97a7bd1d3dba57a2cabe11c8910085056ac8f850756213fe880703a6af547","525ccbbaf43aab28eba422f663b77517f38a7bb0c34870c3fa5ef9715fdc123d","3e97d0e92887e2361d808f18aaf45eb9ec94d388a17c3ecfcac014bd5c230420","2448e1b55c7816b4137f7d538e89d0b6034b18348fc174babb222edeb1fee4f1","587a12972a3c7ff24012c41ba4b338396422644e803f8abf6b6a680c22ce7013","649c4c088b4b8ed5a50a932276de115abeb838a711620e0b8d34231cc5a042c9","64c74750947e3b3452fd64d44fc30de2db8bea73c7146fc8a6e8497477b96932","7356604f9cc5fad50fb0133378539311a1b5d41c9476e5f40ff9b5079423dde3",{"version":"d77c4ed52b3c2b9ce3b9bf70e40d9605d079c63a207dddc94d2027cba0656298","impliedFormat":1},{"version":"466a15bf7238ebd3900d136db38eec3af69d0761c0286ab59952870eedd6e319","impliedFormat":1},{"version":"54c9363ccd5c272f3104f893f40924d122c0ec3d9762e8d2516ec307c0394d1e","impliedFormat":1},{"version":"1f4df460bfe98e20fae494ade49e50c98ed1997143c7eae7a00a1cd93bfd4307","impliedFormat":1},{"version":"e179bf25417780781dc994f657e724419e6dcbe5a136dbfa55efefe36bdb4b63","impliedFormat":1},{"version":"4af3bb74fb82b8e5e2c5d67db1f07a8c4e56e4259eeb0d966faec9578b2e3387","impliedFormat":1},{"version":"a0abcb32b7a9291276879912c9a3205fbd1d6930ae4f29e91fe30227e2762893","impliedFormat":1},{"version":"b67fb584ca2449669c113e75866d339ee4e6bc74a441efd00c1beac460412584","impliedFormat":1},{"version":"28810dc1e3da65bd19de2fa2c466620e18563203f8dd10ab3dbdf7893175d480","impliedFormat":1},{"version":"0f79f9784797e5358bbed18b363b220eaed94de7c1ed2f193465ac232fe48eb1","impliedFormat":1},{"version":"3fda2c97086fbd803c585572068fa89c7d63fc31b5a8ffde7026598036e06f2f","impliedFormat":1},{"version":"6187d97d074e4a66a0179ff2cdd845e1809b70ff5d7b857e0c686f52a86f62f7","impliedFormat":1},{"version":"617e6127ecaab4c4033d261a50e72792a9312f0992ea6926effa080a2359c14b","impliedFormat":1},{"version":"1e73e8d1bbef5f4b2cd652df6eacf50cbb9a91cd41f974320541d2cfe08ee316","impliedFormat":1},"62476311ce482bfaf32dc041fe5d1733a15a51ba3d1c0b21d7e922bd89cf39e4",{"version":"93cc77c27f519006b0f58120c75eec36deffbe7feec3c68d3aa14051b0b998d8","impliedFormat":1},{"version":"a01035ec8ac796e720532f76a2f5ef957ec5ec6f022e5854e8522fa4fec3dd3a","impliedFormat":1},{"version":"a3628f430f8d502a5c026a0c932a5c41e6361d8e0248287872cd8999bc534399","impliedFormat":1},{"version":"ed774418ed7b67bf7c7c09afec04dc68aaf4b2ce34e83c8385ed32b836bfa1f5","impliedFormat":1},{"version":"b0c35bf00dd6fb25d84febff7590ac37528c99fcb452428b326fbed24dcb8d70","impliedFormat":1},{"version":"016eb46411ea55780ac3ccb57a10ae7d3de5f039a9b1c0889ebfe1bf4963c0af","impliedFormat":1},{"version":"f0e4a8414ebeccecd2eb57a7e4cf31e968e951126f45484d86fedc89dca61dec","impliedFormat":1},{"version":"ceb8fc6899a46dd58dd1f11077891ebf887a56e5fae8956c41d6dbac181bfe78","impliedFormat":1},{"version":"f1ab325fae2490d7933a0ec029a3e4df191d2022f5bf638acc9fb0bbc6a5792b","impliedFormat":1},{"version":"743ec4b877ee007e896a45ff5165100f793bef796938631051ad818039e238de","impliedFormat":1},{"version":"739ba5b048829e14de67e2fd9c067c28af878b65206a43ef0578552eedd8d8eb","impliedFormat":1},{"version":"509f00a10e4d37dd72e5d065054c430b3c1d4da788f4fe6a1fc15b91e60abf99","impliedFormat":1},{"version":"e2c737ecabdf5dde9d56d2675f5045d96c68383a5c019cb89b66b636185aa820","impliedFormat":1},{"version":"987c5db7454ad787d00334c97c761441f259ffab25495dc7d158cc8a7e9fd80a","impliedFormat":1},{"version":"c890847d746b7209ff5ec1d08c3ea02336f656f9190813e9ecb0d0ef938b4894","impliedFormat":1},{"version":"6d40ea659e699ad6f2298108d13b0fdc0d23f6c51b1dd6e650c7fadadb07392a","impliedFormat":1},{"version":"961605580f225b884dc512d4ae229a628bb1c50d134ccf462738a130d5855180","impliedFormat":1},{"version":"381b623c9ee962965cc3684ee45de6236f91cf24eb845dafc3a74a27d1eed070","impliedFormat":1},{"version":"1f84dff7964146377785aa684028ca62290e0639ac41fd0c5f391a5f5d414adc","impliedFormat":1},{"version":"4edf6371c3fd1f12c91cab0b0c42340ba0205e1a24f95757551ba46b6ab0e8a4","impliedFormat":1},{"version":"f4ae5546352701fd6932fdd86419438bb51253e4627a44808489742035bac644","impliedFormat":1},{"version":"bda1393387e320d7c151a72415d14f77134a99839a0c7b6b990345475cfdb2a7","impliedFormat":1},{"version":"84fccbf19c8cd506887a23cd8245539acb8e47b23f4e0e00b848161dde93e093","impliedFormat":1},{"version":"5c59911b7ce4516bc2070207db32a39d75fbcf99c309ccc46c3cc6ba42066722","impliedFormat":1},{"version":"8fcbd8080f97ec9de29ef3f605200f344e351b4ac23d26f3b11ce34c639a4582","impliedFormat":1},{"version":"e3c8181f9cf79e7c33c3c4da1a41092bd7ed9eaaec9f9998766b52331150edb6","impliedFormat":1},{"version":"ada30b760b3eced46fa6ff877d85d5fe92ce677537513e0461c5d11d015ba0c3","impliedFormat":1},{"version":"c815e7813ce2369b199531eef330d9efb38fe47ac30c3c978268a9212284cee3","impliedFormat":1},{"version":"44c262791e8f43c5184be8e0ceffd6c20f98bfe88d698acd032755b7f34c5ece","impliedFormat":1},{"version":"bc63795b58ff5cdbe4496c70d3313e5f90390bdb2ae1af97ac738366f3819416","impliedFormat":1},{"version":"8861847d6335fa45ade9ff5491902f6f9c5d9d0134ea495483a59de2483ac284","impliedFormat":1},{"version":"33899c60aea8188645a90bc029c0a98d18c5cb271de8a967c0a7e45698a28007","impliedFormat":1},{"version":"6b4cc716f171384a65f863080b6577fc1c45028490c5b0a35b3e31467e590b4d","impliedFormat":1},{"version":"54e425cf2edad78bbfb12e323d3328df6e5302d3c32f2844325930c0fe3e5683","impliedFormat":1},{"version":"a177fb901089551279eb7171277369d8ae39c62d0b2bc73b9c6b29bb43013a55","impliedFormat":1},{"version":"ed99f007a88f5ed08cc8b7f09bc90a6f7371fddad6e19c0f44ae4ab46b754871","impliedFormat":1},{"version":"dc18979157d4d0c265fa5284b7f600e6c1946b0a40f173a96217bd3d2bdd206a","impliedFormat":1},{"version":"ecf09b7dbe9c80785e547ca7139e420a7dc7590e8f02223056813776e8d04168","impliedFormat":1},{"version":"8bed0aaad83dcf899f7ad2ecab434246a70489cd586a4d0e600c94b7ba696522","impliedFormat":1},{"version":"3166f30388a646ecbdc5f122433cd4ddffb0518d492aceb83ab6bfdcf27b2fe8","impliedFormat":1},{"version":"4ae9b50481136302de9c77668621ed3a0b34998f3e091ca3701426f4fe369c8a","impliedFormat":1},{"version":"9ba9ecc57d2f52b3ed3ac229636ee9a36e92e18b80eeae11ffb546c12e56d5e5","impliedFormat":1},{"version":"a35e372b741b6aaf27163d79224fb2d553443bb388c24f84fdde42a450c6e761","impliedFormat":1},{"version":"d182d419bb30a1408784ed95fbabd973dde7517641e04525f0ce761df5d193a5","impliedFormat":1},{"version":"0b65ae01678fd1b52fc048a1bce48f260ef36daae47edc5c5bb3432bb8c40ee2","impliedFormat":1},{"version":"ec3e143e22d0b8828c2b99ef926af7ef05475421866ca9915444b383cd9e1db1","impliedFormat":1},{"version":"532b86cbf638c85ea08dc9aa137302952793c56bde8f495acbfb9415367efabe","impliedFormat":1},{"version":"2a23ef3132a5d05b7205c7af3cac333d183d90c6d09635e7ec213948a4ab6edd","impliedFormat":1},"3b1aef2fa2abd6c674d9ebb4a53daa154975747b88f9f3cd4fb3c88262c48271",{"version":"a28ac3e717907284b3910b8e9b3f9844a4e0b0a861bea7b923e5adf90f620330","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"82e5a50e17833a10eb091923b7e429dc846d42f1c6161eb6beeb964288d98a15","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[48,51,154,196,408,[424,430],[432,438],453,502],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[505,1],[503,2],[447,3],[449,4],[443,5],[442,6],[440,7],[439,8],[441,9],[451,10],[446,11],[445,2],[444,2],[513,2],[515,12],[514,2],[494,13],[495,14],[491,15],[493,16],[497,17],[486,2],[487,18],[490,19],[492,19],[496,2],[488,2],[489,20],[455,21],[456,22],[454,2],[468,23],[462,24],[467,25],[457,2],[465,26],[466,27],[464,28],[459,29],[463,30],[458,31],[460,32],[461,33],[478,34],[470,2],[473,35],[471,2],[472,2],[469,2],[476,36],[477,37],[475,38],[485,39],[479,2],[481,40],[480,2],[483,41],[482,42],[484,43],[501,44],[499,45],[498,46],[500,47],[508,48],[504,1],[506,49],[507,1],[153,50],[509,51],[407,52],[387,53],[389,54],[388,53],[391,55],[393,56],[394,57],[395,58],[396,56],[397,57],[398,56],[399,59],[400,57],[401,56],[402,60],[403,53],[404,53],[405,61],[392,62],[406,63],[390,63],[510,2],[511,64],[512,65],[520,66],[151,67],[152,2],[409,2],[98,68],[99,68],[100,69],[58,70],[101,71],[102,72],[103,73],[53,2],[56,74],[54,2],[55,2],[104,75],[105,76],[106,77],[107,78],[108,79],[109,80],[110,80],[112,2],[111,81],[113,82],[114,83],[115,84],[97,85],[57,2],[116,86],[117,87],[118,88],[150,89],[119,90],[120,91],[121,92],[122,93],[123,94],[124,95],[125,96],[126,97],[127,98],[128,99],[129,99],[130,100],[131,2],[132,101],[134,102],[133,103],[135,104],[136,105],[137,106],[138,107],[139,108],[140,109],[141,110],[142,111],[143,112],[144,113],[145,114],[146,115],[147,116],[148,117],[149,118],[474,2],[179,119],[180,120],[155,121],[158,121],[177,119],[178,119],[168,119],[167,122],[165,119],[160,119],[173,119],[171,119],[175,119],[159,119],[172,119],[176,119],[161,119],[162,119],[174,119],[156,119],[163,119],[164,119],[166,119],[170,119],[181,123],[169,119],[157,119],[194,124],[193,2],[188,123],[190,125],[189,123],[182,123],[183,123],[185,123],[187,123],[191,125],[192,125],[184,125],[186,125],[521,2],[386,126],[52,2],[522,127],[523,2],[524,128],[59,2],[47,2],[49,2],[46,2],[195,129],[519,130],[448,131],[450,132],[452,133],[421,134],[422,135],[420,136],[423,137],[417,138],[418,139],[419,140],[517,141],[518,142],[413,138],[414,138],[416,143],[415,138],[410,144],[50,145],[412,146],[411,2],[516,147],[385,148],[358,2],[336,149],[334,149],[384,150],[349,151],[348,151],[249,152],[200,153],[356,152],[357,152],[359,154],[360,152],[361,155],[260,156],[362,152],[333,152],[363,152],[364,157],[365,152],[366,151],[367,158],[368,152],[369,152],[370,152],[371,152],[372,151],[373,152],[374,152],[375,152],[376,152],[377,159],[378,152],[379,152],[380,152],[381,152],[382,152],[199,150],[202,155],[203,155],[204,155],[205,155],[206,155],[207,155],[208,155],[209,152],[211,160],[212,155],[210,155],[213,155],[214,155],[215,155],[216,155],[217,155],[218,155],[219,152],[220,155],[221,155],[222,155],[223,155],[224,155],[225,152],[226,155],[227,155],[228,155],[229,155],[230,155],[231,155],[232,152],[234,161],[233,155],[235,155],[236,155],[237,155],[238,155],[239,159],[240,152],[241,152],[255,162],[243,163],[244,155],[245,155],[246,152],[247,155],[248,155],[250,164],[251,155],[252,155],[253,155],[254,155],[256,155],[257,155],[258,155],[259,155],[261,165],[262,155],[263,155],[264,155],[265,152],[266,155],[267,166],[268,166],[269,166],[270,152],[271,155],[272,155],[273,155],[278,155],[274,155],[275,152],[276,155],[277,152],[279,155],[280,155],[281,155],[282,155],[283,155],[284,155],[285,152],[286,155],[287,155],[288,155],[289,155],[290,155],[291,155],[292,155],[293,155],[294,155],[295,155],[296,155],[297,155],[298,155],[299,155],[300,155],[301,155],[302,167],[303,155],[304,155],[305,155],[306,155],[307,155],[308,155],[309,152],[310,152],[311,152],[312,152],[313,152],[314,155],[315,155],[316,155],[317,155],[335,168],[383,152],[320,169],[319,170],[343,171],[342,172],[338,173],[337,172],[339,174],[328,175],[326,176],[341,177],[340,174],[327,2],[329,178],[242,179],[198,180],[197,155],[332,2],[324,181],[325,182],[322,2],[323,183],[321,155],[330,184],[201,185],[350,2],[351,2],[344,2],[347,151],[346,2],[352,2],[353,2],[345,186],[354,2],[355,2],[318,187],[331,188],[44,2],[45,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[18,2],[19,2],[4,2],[20,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[75,189],[85,190],[74,189],[95,191],[66,192],[65,193],[94,194],[88,195],[93,196],[68,197],[82,198],[67,199],[91,200],[63,201],[62,194],[92,202],[64,203],[69,204],[70,2],[73,204],[60,2],[96,205],[86,206],[77,207],[78,208],[80,209],[76,210],[79,211],[89,194],[71,212],[72,213],[81,214],[61,215],[84,206],[83,204],[87,2],[90,216],[431,2],[429,217],[428,218],[433,219],[430,220],[432,221],[434,222],[408,223],[427,224],[435,225],[48,226],[425,227],[51,228],[196,229],[436,230],[154,231],[437,232],[438,233],[426,234],[424,235],[453,236],[502,237]],"affectedFilesPendingEmit":[[429,51],[428,51],[433,51],[430,51],[432,51],[434,51],[408,51],[427,51],[435,51],[48,51],[425,51],[51,51],[196,51],[436,51],[154,51],[437,51],[438,51],[426,51],[424,51],[453,51],[502,51]],"version":"5.9.2"}
1
+ {"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/commander/typings/index.d.ts","../node_modules/chalk/index.d.ts","../src/cli/utils/logger.ts","../node_modules/cli-spinners/index.d.ts","../node_modules/ora/index.d.ts","../src/cli/utils/spinner.ts","../node_modules/@types/validate-npm-package-name/index.d.ts","../node_modules/@types/node/compatibility/disposable.d.ts","../node_modules/@types/node/compatibility/indexable.d.ts","../node_modules/@types/node/compatibility/iterators.d.ts","../node_modules/@types/node/compatibility/index.d.ts","../node_modules/@types/node/globals.typedarray.d.ts","../node_modules/@types/node/buffer.buffer.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/env-http-proxy-agent.d.ts","../node_modules/undici-types/retry-handler.d.ts","../node_modules/undici-types/retry-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/util.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/eventsource.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/sea.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/jsonfile/index.d.ts","../node_modules/@types/jsonfile/utils.d.ts","../node_modules/@types/fs-extra/index.d.ts","../src/cli/validators/project-name.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/execa/index.d.ts","../src/cli/validators/dependencies.ts","../node_modules/rxjs/dist/types/internal/subscription.d.ts","../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../node_modules/rxjs/dist/types/internal/operator.d.ts","../node_modules/rxjs/dist/types/internal/observable.d.ts","../node_modules/rxjs/dist/types/internal/types.d.ts","../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../node_modules/rxjs/dist/types/internal/subject.d.ts","../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../node_modules/rxjs/dist/types/internal/notification.d.ts","../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../node_modules/rxjs/dist/types/operators/index.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../node_modules/rxjs/dist/types/testing/index.d.ts","../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../node_modules/rxjs/dist/types/internal/config.d.ts","../node_modules/rxjs/dist/types/index.d.ts","../node_modules/@types/through/index.d.ts","../node_modules/@types/inquirer/lib/objects/choice.d.ts","../node_modules/@types/inquirer/lib/objects/separator.d.ts","../node_modules/@types/inquirer/lib/objects/choices.d.ts","../node_modules/@types/inquirer/lib/utils/screen-manager.d.ts","../node_modules/@types/inquirer/lib/prompts/base.d.ts","../node_modules/@types/inquirer/lib/utils/paginator.d.ts","../node_modules/@types/inquirer/lib/prompts/checkbox.d.ts","../node_modules/@types/inquirer/lib/prompts/confirm.d.ts","../node_modules/@types/inquirer/lib/prompts/editor.d.ts","../node_modules/@types/inquirer/lib/prompts/expand.d.ts","../node_modules/@types/inquirer/lib/prompts/input.d.ts","../node_modules/@types/inquirer/lib/prompts/list.d.ts","../node_modules/@types/inquirer/lib/prompts/number.d.ts","../node_modules/@types/inquirer/lib/prompts/password.d.ts","../node_modules/@types/inquirer/lib/prompts/rawlist.d.ts","../node_modules/@types/inquirer/lib/ui/baseui.d.ts","../node_modules/@types/inquirer/lib/ui/bottom-bar.d.ts","../node_modules/@types/inquirer/lib/ui/prompt.d.ts","../node_modules/@types/inquirer/lib/utils/events.d.ts","../node_modules/@types/inquirer/lib/utils/readline.d.ts","../node_modules/@types/inquirer/index.d.ts","../src/cli/prompts/project-setup.ts","../node_modules/@types/mustache/index.d.ts","../node_modules/minipass/dist/commonjs/index.d.ts","../node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.d.ts","../node_modules/path-scurry/dist/commonjs/index.d.ts","../node_modules/minimatch/dist/commonjs/ast.d.ts","../node_modules/minimatch/dist/commonjs/escape.d.ts","../node_modules/minimatch/dist/commonjs/unescape.d.ts","../node_modules/minimatch/dist/commonjs/index.d.ts","../node_modules/glob/dist/commonjs/pattern.d.ts","../node_modules/glob/dist/commonjs/processor.d.ts","../node_modules/glob/dist/commonjs/walker.d.ts","../node_modules/glob/dist/commonjs/ignore.d.ts","../node_modules/glob/dist/commonjs/glob.d.ts","../node_modules/glob/dist/commonjs/has-magic.d.ts","../node_modules/glob/dist/commonjs/index.d.ts","../src/generators/template-generator.ts","../src/cli/utils/package-manager.ts","../src/generators/package-installer.ts","../src/cli/utils/git.ts","../src/cli/commands/create.ts","../src/cli/commands/add.ts","../src/cli/commands/update.ts","../package.json","../src/cli/index.ts","../src/cli/commands/index.ts","../src/cli/prompts/index.ts","../src/cli/utils/index.ts","../src/cli/validators/index.ts","../src/generators/file-processor.ts","../src/generators/index.ts","../node_modules/@firebase/component/dist/src/provider.d.ts","../node_modules/@firebase/component/dist/src/component_container.d.ts","../node_modules/@firebase/component/dist/src/types.d.ts","../node_modules/@firebase/component/dist/src/component.d.ts","../node_modules/@firebase/component/dist/index.d.ts","../node_modules/@firebase/util/dist/util-public.d.ts","../node_modules/@firebase/logger/dist/src/logger.d.ts","../node_modules/@firebase/logger/dist/index.d.ts","../node_modules/@firebase/app/dist/app-public.d.ts","../node_modules/firebase/app/dist/app/index.d.ts","../node_modules/@firebase/auth/dist/auth-public.d.ts","../node_modules/firebase/auth/dist/auth/index.d.ts","../node_modules/@firebase/firestore/dist/index.d.ts","../node_modules/firebase/firestore/dist/firestore/index.d.ts","../src/templates/shared/auth/firebase/web/config.ts","../node_modules/@supabase/functions-js/dist/module/types.d.ts","../node_modules/@supabase/functions-js/dist/module/functionsclient.d.ts","../node_modules/@supabase/functions-js/dist/module/index.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgresterror.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/types.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/parser.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/utils.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/types.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestbuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/select-query-parser/result.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgresttransformbuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestfilterbuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestquerybuilder.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/postgrestclient.d.ts","../node_modules/@supabase/postgrest-js/dist/cjs/index.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/websocket-factory.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/constants.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/serializer.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/timer.d.ts","../node_modules/@supabase/realtime-js/dist/module/lib/push.d.ts","../node_modules/@types/phoenix/index.d.ts","../node_modules/@supabase/realtime-js/dist/module/realtimepresence.d.ts","../node_modules/@supabase/realtime-js/dist/module/realtimechannel.d.ts","../node_modules/@supabase/realtime-js/dist/module/realtimeclient.d.ts","../node_modules/@supabase/realtime-js/dist/module/index.d.ts","../node_modules/@supabase/storage-js/dist/module/lib/errors.d.ts","../node_modules/@supabase/storage-js/dist/module/lib/types.d.ts","../node_modules/@supabase/storage-js/dist/module/lib/fetch.d.ts","../node_modules/@supabase/storage-js/dist/module/packages/storagefileapi.d.ts","../node_modules/@supabase/storage-js/dist/module/packages/storagebucketapi.d.ts","../node_modules/@supabase/storage-js/dist/module/storageclient.d.ts","../node_modules/@supabase/storage-js/dist/module/index.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/error-codes.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/errors.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/solana.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/types.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/fetch.d.ts","../node_modules/@supabase/auth-js/dist/module/gotrueadminapi.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/helpers.d.ts","../node_modules/@supabase/auth-js/dist/module/gotrueclient.d.ts","../node_modules/@supabase/auth-js/dist/module/authadminapi.d.ts","../node_modules/@supabase/auth-js/dist/module/authclient.d.ts","../node_modules/@supabase/auth-js/dist/module/lib/locks.d.ts","../node_modules/@supabase/auth-js/dist/module/index.d.ts","../node_modules/@supabase/supabase-js/dist/module/lib/types.d.ts","../node_modules/@supabase/supabase-js/dist/module/lib/supabaseauthclient.d.ts","../node_modules/@supabase/supabase-js/dist/module/supabaseclient.d.ts","../node_modules/@supabase/supabase-js/dist/module/index.d.ts","../src/templates/shared/auth/supabase/web/config.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/ws/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileIdsList":[[58,101,503],[58,101],[58,101,443,444,446],[58,101,444,447],[58,101,439,440,441,442],[58,101,441],[58,101,439,441,442],[58,101,440,441,442],[58,101,440],[58,101,444,446,447],[58,101,445],[58,101,514],[58,101,491],[58,101,493],[58,101,487,489,490],[58,101,487,489,490,491,492],[58,101,487,489,491,493,494,495,496],[58,101,486,489],[58,101,489],[58,101,487,488,490],[58,101,454],[58,101,454,455],[58,101,457,461,462,463,464,465,466,467],[58,101,458,461],[58,101,461,465,466],[58,101,460,461,464],[58,101,461,463,465],[58,101,461,462,463],[58,101,460,461],[58,101,458,459,460,461],[58,101,461],[58,101,458,459],[58,101,457,458,460],[58,101,469,475,476,477],[58,101,476],[58,101,470,472,473,475,477],[58,101,469,470,471,472,476],[58,101,474,476],[58,101,479,480,484],[58,101,480],[58,101,479,480,481,484],[58,101,150,479,480,481],[58,101,481,482,483],[58,101,456,468,478,497,498,500],[58,101,497,498],[58,101,468,478,484,497],[58,101,456,468,478,485,498,499],[58,101,503,504,505,506,507],[58,101,503,505],[58,101,114,150,151,152],[58,101,114,150],[58,101,128,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406],[58,101,407],[58,101,387,388,407],[58,101,128,385,390,407],[58,101,128,391,392,407],[58,101,128,391,407],[58,101,128,385,391,407],[58,101,128,397,407],[58,101,128,407],[58,101,128,385],[58,101,390],[58,101,128],[58,101,510],[58,101,511],[58,101,516,519],[58,101,114,143,150],[58,98,101],[58,100,101],[101],[58,101,106,135],[58,101,102,107,113,121,132,143],[58,101,102,103,113,121],[53,54,55,58,101],[58,101,104,144],[58,101,105,106,114,122],[58,101,106,132,140],[58,101,107,109,113,121],[58,100,101,108],[58,101,109,110],[58,101,111,113],[58,100,101,113],[58,101,113,114,115,132,143],[58,101,113,114,115,128,132,135],[58,96,101],[58,101,109,113,116,121,132,143],[58,101,113,114,116,117,121,132,140,143],[58,101,116,118,132,140,143],[56,57,58,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,101,113,119],[58,101,120,143,148],[58,101,109,113,121,132],[58,101,122],[58,101,123],[58,100,101,124],[58,98,99,100,101,102,103,104,105,106,107,108,109,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[58,101,126],[58,101,127],[58,101,113,128,129],[58,101,128,130,144,146],[58,101,113,132,133,135],[58,101,134,135],[58,101,132,133],[58,101,135],[58,101,136],[58,98,101,132,137],[58,101,113,138,139],[58,101,138,139],[58,101,106,121,132,140],[58,101,141],[58,101,121,142],[58,101,116,127,143],[58,101,106,144],[58,101,132,145],[58,101,120,146],[58,101,147],[58,101,113,115,124,132,135,143,146,148],[58,101,132,149],[58,101,155,194],[58,101,155,179,194],[58,101,194],[58,101,155],[58,101,155,180,194],[58,101,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[58,101,180,194],[58,101,132,150],[58,101,113,116,118,121,132,140,143,149,150],[58,101,523],[58,101,102,132,150],[58,101,513,518],[58,101,447],[58,101,449],[58,101,451],[58,101,410,412,416,417,420],[58,101,421],[58,101,412,416,419],[58,101,410,412,416,419,420,421,422],[58,101,416],[58,101,412,416,417,419],[58,101,410,412,417,418,420],[58,101,516],[47,58,101,517],[58,101,413,414,415],[58,101,113,136,150],[49,58,101],[58,101,114,123,150,410,411],[58,101,515],[58,101,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,213,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,253,254,255,256,257,258,259,260,261,262,263,264,266,267,268,269,270,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,316,317,318,320,329,331,332,333,334,335,336,338,339,341,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384],[58,101,242],[58,101,198,201],[58,101,200],[58,101,200,201],[58,101,197,198,199,201],[58,101,198,200,201,358],[58,101,201],[58,101,197,200,242],[58,101,200,201,358],[58,101,200,366],[58,101,198,200,201],[58,101,210],[58,101,233],[58,101,254],[58,101,200,201,242],[58,101,201,249],[58,101,200,201,242,260],[58,101,200,201,260],[58,101,201,301],[58,101,201,242],[58,101,197,201,319],[58,101,197,201,320],[58,101,342],[58,101,326,328],[58,101,337],[58,101,326],[58,101,197,201,319,326,327],[58,101,319,320,328],[58,101,340],[58,101,197,201,326,327,328],[58,101,199,200,201],[58,101,197,201],[58,101,198,200,320,321,322,323],[58,101,242,320,321,322,323],[58,101,320,322],[58,101,200,321,322,324,325,329],[58,101,197,200],[58,101,201,344],[58,101,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,243,244,245,246,247,248,250,251,252,253,254,255,256,257,258,259,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317],[58,101,330],[58,68,72,101,143],[58,68,101,132,143],[58,63,101],[58,65,68,101,140,143],[58,101,121,140],[58,101,150],[58,63,101,150],[58,65,68,101,121,143],[58,60,61,64,67,101,113,132,143],[58,68,75,101],[58,60,66,101],[58,68,89,90,101],[58,64,68,101,135,143,150],[58,89,101,150],[58,62,63,101,150],[58,68,101],[58,62,63,64,65,66,67,68,69,70,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,101],[58,68,83,101],[58,68,75,76,101],[58,66,68,76,77,101],[58,67,101],[58,60,63,68,101],[58,68,72,76,77,101],[58,72,101],[58,66,68,71,101,143],[58,60,65,68,75,101],[58,101,132],[58,63,68,89,101,148,150],[48,51,58,101],[48,51,58,101,123,154,196,408,424,426,427],[58,101,428,429,430],[48,51,58,101,195,425],[46,48,58,101,428,429,430,431],[58,101,408],[48,58,101,154,407,428],[48,58,101,123,153,195],[48,51,58,101,425,427],[47,58,101],[58,101,123,153,195],[47,50,58,101],[48,58,101,194,195],[58,101,154,196],[48,52,58,101,123,153],[48,58,101,123,153,409],[58,101,424,426,437],[48,58,101,123,153,195,425],[48,58,101,123,153,409,423,428],[58,101,448,450,452],[58,101,501]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"17d716b12c230355d207d8b464a3359e13041c0cbb94c243981618e279f57670","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},"81b1c04e9d9914905c8f9366a9dbb3cf40aaab1e99df80282d6411270fc1a068",{"version":"b85d57f7dfd39ab2b001ecc3312dfa05259192683a81880749cbca3b28772e42","impliedFormat":1},{"version":"437ce3def325725c84c242f916886e634ff8f133356ea88ccb4bdd425792bb36","impliedFormat":1},"9f4535879273e9623cc105389b7ef0e2e4d841e105cfb08bcde4596378aa1e53",{"version":"0b301e46295e7dee8bcead624b4a0f94ab8ba1cb3f572b726977322293be2196","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"49a5a44f2e68241a1d2bd9ec894535797998841c09729e506a7cbfcaa40f2180","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"1ca84b44ad1d8e4576f24904d8b95dd23b94ea67e1575f89614ac90062fc67f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d586db0a09a9495ebb5dece28f54df9684bfbd6e1f568426ca153126dac4a40","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"567b7f607f400873151d7bc63a049514b53c3c00f5f56e9e95695d93b66a138e","affectsGlobalScope":true,"impliedFormat":1},{"version":"823f9c08700a30e2920a063891df4e357c64333fdba6889522acc5b7ae13fc08","impliedFormat":1},{"version":"84c1930e33d1bb12ad01bcbe11d656f9646bd21b2fb2afd96e8e10615a021aef","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4b87f767c7bc841511113c876a6b8bf1fd0cb0b718c888ad84478b372ec486b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d04e3640dd9eb67f7f1e5bd3d0bf96c784666f7aefc8ac1537af6f2d38d4c29","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"2bf469abae4cc9c0f340d4e05d9d26e37f936f9c8ca8f007a6534f109dcc77e4","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ada07543808f3b967624645a8e1ccd446f8b01ade47842acf1328aec899fed0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c21aaa8257d7950a5b75a251d9075b6a371208fc948c9c8402f6690ef3b5b55","impliedFormat":1},{"version":"b5895e6353a5d708f55d8685c38a235c3a6d8138e374dee8ceb8ffde5aa8002a","impliedFormat":1},{"version":"54c4f21f578864961efc94e8f42bc893a53509e886370ec7dd602e0151b9266c","impliedFormat":1},{"version":"de735eca2c51dd8b860254e9fdb6d9ec19fe402dfe597c23090841ce3937cfc5","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"5155da3047ef977944d791a2188ff6e6c225f6975cc1910ab7bb6838ab84cede","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"e16d218a30f6a6810b57f7e968124eaa08c7bb366133ea34bbf01e7cd6b8c0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb8692dea24c27821f77e397272d9ed2eda0b95e4a75beb0fdda31081d15a8ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"5b6844ad931dcc1d3aca53268f4bd671428421464b1286746027aede398094f2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"0225ecb9ed86bdb7a2c7fd01f1556906902929377b44483dc4b83e03b3ef227d","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"461e54289e6287e8494a0178ba18182acce51a02bca8dea219149bf2cf96f105","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"e31e51c55800014d926e3f74208af49cb7352803619855c89296074d1ecbb524","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"dfb96ba5177b68003deec9e773c47257da5c4c8a74053d8956389d832df72002","affectsGlobalScope":true,"impliedFormat":1},{"version":"92d3070580cf72b4bb80959b7f16ede9a3f39e6f4ef2ac87cfa4561844fdc69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3dffd70e6375b872f0b4e152de4ae682d762c61a24881ecc5eb9f04c5caf76f","impliedFormat":1},{"version":"613deebaec53731ff6b74fe1a89f094b708033db6396b601df3e6d5ab0ec0a47","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"e56eb632f0281c9f8210eb8c86cc4839a427a4ffffcfd2a5e40b956050b3e042","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1},{"version":"211440ce81e87b3491cdf07155881344b0a61566df6e749acff0be7e8b9d1a07","impliedFormat":1},{"version":"5d9a0b6e6be8dbb259f64037bce02f34692e8c1519f5cd5d467d7fa4490dced4","impliedFormat":1},{"version":"880da0e0f3ebca42f9bd1bc2d3e5e7df33f2619d85f18ee0ed4bd16d1800bc32","impliedFormat":1},"a51548f771046ac8862343fa675c48fc3e12324dd46800be976ac8c9a8ae9584",{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"844ab83672160ca57a2a2ea46da4c64200d8c18d4ebb2087819649cad099ff0e","impliedFormat":1},{"version":"088703b7810394a5af823ac753cca116931df81a97183725ae1e2c4e6038268d","impliedFormat":1},"4e3ce7b4c8920a1b77cd38fa72107515f4acd2e9c28b2c9b52552a2de3960efe",{"version":"073ca26c96184db9941b5ec0ddea6981c9b816156d9095747809e524fdd90e35","impliedFormat":1},{"version":"e41d17a2ec23306d953cda34e573ed62954ca6ea9b8c8b74e013d07a6886ce47","impliedFormat":1},{"version":"241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","impliedFormat":1},{"version":"2ae3787e1498b20aad1b9c2ee9ea517ec30e89b70d242d8e3e52d1e091039695","impliedFormat":1},{"version":"c7c72c4cffb1bc83617eefed71ed68cc89df73cab9e19507ccdecb3e72b4967e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","impliedFormat":1},{"version":"38b38db08e7121828294dec10957a7a9ff263e33e2a904b346516d4a4acca482","impliedFormat":1},{"version":"a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","impliedFormat":1},{"version":"8a2aaea564939c22be05d665cc955996721bad6d43148f8fa21ae8f64afecd37","impliedFormat":1},{"version":"e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","impliedFormat":1},{"version":"e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","impliedFormat":1},{"version":"95950a187596e206d32d5d9c7b932901088c65ed8f9040e614aa8e321e0225ef","impliedFormat":1},{"version":"89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","impliedFormat":1},{"version":"e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","impliedFormat":1},{"version":"71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","impliedFormat":1},{"version":"7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","impliedFormat":1},{"version":"78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","impliedFormat":1},{"version":"5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","impliedFormat":1},{"version":"f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","impliedFormat":1},{"version":"9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","impliedFormat":1},{"version":"3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","impliedFormat":1},{"version":"2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","impliedFormat":1},{"version":"4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","impliedFormat":1},{"version":"61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","impliedFormat":1},{"version":"64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","impliedFormat":1},{"version":"0521108c9f8ddb17654a0a54dae6ba9667c99eddccfd6af5748113e022d1c37a","impliedFormat":1},{"version":"c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","impliedFormat":1},{"version":"ee764e6e9a7f2b987cc1a2c0a9afd7a8f4d5ebc4fdb66ad557a7f14a8c2bd320","impliedFormat":1},{"version":"0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","impliedFormat":1},{"version":"5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","impliedFormat":1},{"version":"e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","impliedFormat":1},{"version":"b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","impliedFormat":1},{"version":"6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","impliedFormat":1},{"version":"d7058e75920120b142a9d57be25562a3cd9a936269fd52908505f530105f2ec4","impliedFormat":1},{"version":"6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","impliedFormat":1},{"version":"0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","impliedFormat":1},{"version":"91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","impliedFormat":1},{"version":"db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","impliedFormat":1},{"version":"758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","impliedFormat":1},{"version":"2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","impliedFormat":1},{"version":"6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","impliedFormat":1},{"version":"a472a1d3f25ce13a1d44911cd3983956ac040ce2018e155435ea34afb25f864c","impliedFormat":1},{"version":"b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","impliedFormat":1},{"version":"792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","impliedFormat":1},{"version":"a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","impliedFormat":1},{"version":"93181bac0d90db185bb730c95214f6118ae997fe836a98a49664147fbcaf1988","impliedFormat":1},{"version":"8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","impliedFormat":1},{"version":"b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","impliedFormat":1},{"version":"4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","impliedFormat":1},{"version":"cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","impliedFormat":1},{"version":"75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","impliedFormat":1},{"version":"b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","impliedFormat":1},{"version":"c54166a85bd60f86d1ebb90ce0117c0ecb850b8a33b366691629fdf26f1bbbd8","impliedFormat":1},{"version":"0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","impliedFormat":1},{"version":"80f23f1d60fbed356f726b3b26f9d348dddbb34027926d10d59fad961e70a730","impliedFormat":1},{"version":"cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","impliedFormat":1},{"version":"cc20bb2227dd5de0aab0c8d697d1572f8000550e62c7bf5c92f212f657dd88c5","impliedFormat":1},{"version":"06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","impliedFormat":1},{"version":"860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","impliedFormat":1},{"version":"f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","impliedFormat":1},{"version":"d0da80c845999a16c24d0783033fb5366ada98df17867c98ad433ede05cd87fd","impliedFormat":1},{"version":"bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","impliedFormat":1},{"version":"fd9a991b51870325e46ebb0e6e18722d313f60cd8e596e645ec5ac15b96dbf4e","impliedFormat":1},{"version":"c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","impliedFormat":1},{"version":"a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","impliedFormat":1},{"version":"d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","impliedFormat":1},{"version":"fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","impliedFormat":1},{"version":"063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","impliedFormat":1},{"version":"314e402cd481370d08f63051ae8b8c8e6370db5ee3b8820eeeaaf8d722a6dac6","impliedFormat":1},{"version":"9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","impliedFormat":1},{"version":"4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","impliedFormat":1},{"version":"656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","impliedFormat":1},{"version":"3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","impliedFormat":1},{"version":"1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","impliedFormat":1},{"version":"af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","impliedFormat":1},{"version":"70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","impliedFormat":1},{"version":"af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","impliedFormat":1},{"version":"cefc20054d20b85b534206dbcedd509bb74f87f3d8bc45c58c7be3a76caa45e1","impliedFormat":1},{"version":"ad6eee4877d0f7e5244d34bc5026fd6e9cf8e66c5c79416b73f9f6ebf132f924","impliedFormat":1},{"version":"4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","impliedFormat":1},{"version":"f4749c102ced952aa6f40f0b579865429c4869f6d83df91000e98005476bee87","impliedFormat":1},{"version":"56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","impliedFormat":1},{"version":"8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","impliedFormat":1},{"version":"05f56cd4b929977d18df8f3d08a4c929a2592ef5af083e79974b20a063f30940","impliedFormat":1},{"version":"547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","impliedFormat":1},{"version":"b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","impliedFormat":1},{"version":"3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","impliedFormat":1},{"version":"140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","impliedFormat":1},{"version":"0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","impliedFormat":1},{"version":"cb46b38d5e791acaa243bf342b8b5f8491639847463ac965b93896d4fb0af0d9","impliedFormat":1},{"version":"7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","impliedFormat":1},{"version":"af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","impliedFormat":1},{"version":"006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","impliedFormat":1},{"version":"7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","impliedFormat":1},{"version":"339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","impliedFormat":1},{"version":"34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","impliedFormat":1},{"version":"9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","impliedFormat":1},{"version":"18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","impliedFormat":1},{"version":"5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","impliedFormat":1},{"version":"5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","impliedFormat":1},{"version":"907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","impliedFormat":1},{"version":"ce60a562cd2a92f37a88f2ddd99a3abfbc5848d7baf38c48fb8d3243701fcb75","impliedFormat":1},{"version":"a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","impliedFormat":1},{"version":"f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","impliedFormat":1},{"version":"75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","impliedFormat":1},{"version":"9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","impliedFormat":1},{"version":"b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","impliedFormat":1},{"version":"b6e2b0448ced813b8c207810d96551a26e7d7bb73255eea4b9701698f78846d6","impliedFormat":1},{"version":"8ae10cd85c1bd94d2f2d17c4cbd25c068a4b2471c70c2d96434239f97040747a","impliedFormat":1},{"version":"9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","impliedFormat":1},{"version":"b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","impliedFormat":1},{"version":"e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","impliedFormat":1},{"version":"ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","impliedFormat":1},{"version":"8776a368617ce51129b74db7d55c3373dadcce5d0701e61d106e99998922a239","impliedFormat":1},{"version":"5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","impliedFormat":1},{"version":"9108ab5af05418f599ab48186193b1b07034c79a4a212a7f73535903ba4ca249","impliedFormat":1},{"version":"bb4e2cdcadf9c9e6ee2820af23cee6582d47c9c9c13b0dca1baaffe01fbbcb5f","impliedFormat":1},{"version":"6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","impliedFormat":1},{"version":"423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","impliedFormat":1},{"version":"fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","impliedFormat":1},{"version":"2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","impliedFormat":1},{"version":"c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","impliedFormat":1},{"version":"02ae43d5bae42efcd5a00d3923e764895ce056bca005a9f4e623aa6b4797c8af","impliedFormat":1},{"version":"db6e01f17012a9d7b610ae764f94a1af850f5d98c9c826ad61747dca0fb800bd","impliedFormat":1},{"version":"8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","impliedFormat":1},{"version":"24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","impliedFormat":1},{"version":"33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","impliedFormat":1},{"version":"0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","impliedFormat":1},{"version":"16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","impliedFormat":1},{"version":"8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","impliedFormat":1},{"version":"d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","impliedFormat":1},{"version":"97f9169882d393e6f303f570168ca86b5fe9aab556e9a43672dae7e6bb8e6495","impliedFormat":1},{"version":"7c9adb3fcd7851497818120b7e151465406e711d6a596a71b807f3a17853cb58","impliedFormat":1},{"version":"6752d402f9282dd6f6317c8c048aaaac27295739a166eed27e00391b358fed9a","impliedFormat":1},{"version":"9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","impliedFormat":1},{"version":"fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","impliedFormat":1},{"version":"85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","impliedFormat":1},{"version":"84794e3abd045880e0fadcf062b648faf982aa80cfc56d28d80120e298178626","impliedFormat":1},{"version":"053d8b827286a16a669a36ffc8ccc8acdf8cc154c096610aa12348b8c493c7b8","impliedFormat":1},{"version":"3cce4ce031710970fe12d4f7834375f5fd455aa129af4c11eb787935923ff551","impliedFormat":1},{"version":"8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","impliedFormat":1},{"version":"62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","impliedFormat":1},{"version":"c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","impliedFormat":1},{"version":"8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","impliedFormat":1},{"version":"132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","impliedFormat":1},{"version":"df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","impliedFormat":1},{"version":"33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","impliedFormat":1},{"version":"ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","impliedFormat":1},{"version":"a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","impliedFormat":1},{"version":"eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","impliedFormat":1},{"version":"0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","impliedFormat":1},{"version":"aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","impliedFormat":1},{"version":"0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","impliedFormat":1},{"version":"40f06693e2e3e58526b713c937895c02e113552dc8ba81ecd49cdd9596567ddb","impliedFormat":1},{"version":"4ed5e1992aedb174fb8f5aa8796aa6d4dcb8bd819b4af1b162a222b680a37fa0","impliedFormat":1},{"version":"d7f4bd46a8b97232ea6f8c28012b8d2b995e55e729d11405f159d3e00c51420a","impliedFormat":1},{"version":"d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","impliedFormat":1},{"version":"e4f4f9cf1e3ac9fd91ada072e4d428ecbf0aa6dc57138fb797b8a0ca3a1d521c","impliedFormat":1},{"version":"12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","impliedFormat":1},{"version":"340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","impliedFormat":1},{"version":"c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","impliedFormat":1},{"version":"7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","impliedFormat":1},{"version":"5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","impliedFormat":1},{"version":"9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","impliedFormat":1},{"version":"1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","impliedFormat":1},{"version":"8018dd2e95e7ce6e613ddd81672a54532614dc745520a2f9e3860ff7fb1be0ca","impliedFormat":1},{"version":"b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","impliedFormat":1},{"version":"0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","impliedFormat":1},{"version":"3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","impliedFormat":1},{"version":"032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","impliedFormat":1},{"version":"69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","impliedFormat":1},{"version":"0e704ee6e9fd8b6a5a7167886f4d8915f4bc22ed79f19cb7b32bd28458f50643","impliedFormat":1},{"version":"06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","impliedFormat":1},{"version":"904a96f84b1bcee9a7f0f258d17f8692e6652a0390566515fe6741a5c6db8c1c","impliedFormat":1},{"version":"11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","impliedFormat":1},{"version":"2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","impliedFormat":1},{"version":"1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","impliedFormat":1},{"version":"1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","impliedFormat":1},{"version":"07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","impliedFormat":1},{"version":"619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","impliedFormat":1},{"version":"f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","impliedFormat":1},{"version":"f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","impliedFormat":1},{"version":"350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","impliedFormat":1},{"version":"eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","impliedFormat":1},{"version":"45b74185005ed45bec3f07cac6e4d68eaf02ead9ff5a66721679fb28020e5e7c","impliedFormat":1},{"version":"0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","impliedFormat":1},{"version":"c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","impliedFormat":1},{"version":"5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","impliedFormat":1},{"version":"ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","impliedFormat":1},{"version":"08323a8971cb5b2632b532cba1636ad4ca0d76f9f7d0b8d1a0c706fdf5c77b45","impliedFormat":1},{"version":"06fc6fbc8eb2135401cf5adce87655790891ca22ad4f97dfccd73c8cf8d8e6b5","impliedFormat":99},{"version":"1cce0c01dd7e255961851cdb9aa3d5164ec5f0e7f0fefc61e28f29afedda374f","impliedFormat":99},{"version":"7778598dfac1b1f51b383105034e14a0e95bc7b2538e0c562d5d315e7d576b76","impliedFormat":99},{"version":"b14409570c33921eb797282bb7f9c614ccc6008bf3800ba184e950cdfc54ab5c","impliedFormat":99},{"version":"2f0357257a651cc1b14e77b57a63c7b9e4e10ec2bb57e5fdccf83be0efb35280","impliedFormat":99},{"version":"866e63a72a9e85ed1ec74eaebf977be1483f44aa941bcae2ba9b9e3b39ca4395","impliedFormat":99},{"version":"6865d0d503a5ad6775339f6b5dcfa021d72d2567027943b52679222411ad2501","impliedFormat":99},{"version":"dc2be4768bcf96e5d5540ed06fdfbddb2ee210227556ea7b8114ad09d06d35a5","impliedFormat":99},{"version":"e86813f0b7a1ada681045a56323df84077c577ef6351461d4fff4c4afdf79302","impliedFormat":99},{"version":"b3ace759b8242cc742efb6e54460ed9b8ceb9e56ce6a9f9d5f7debe73ed4e416","impliedFormat":99},{"version":"1c4d715c5b7545acecd99744477faa8265ca3772b82c3fa5d77bfc8a27549c7e","impliedFormat":99},{"version":"8f92dbdd3bbc8620e798d221cb7c954f8e24e2eed31749dfdb5654379b031c26","impliedFormat":99},{"version":"f30bfef33d69e4d0837e9e0bbf5ea14ca148d73086dc95a207337894fde45c6b","impliedFormat":99},{"version":"82230238479c48046653e40a6916e3c820b947cb9e28b58384bc4e4cea6a9e92","impliedFormat":99},{"version":"3a6941ff3ea7b78017f9a593d0fd416feb45defa577825751c01004620b507d3","impliedFormat":99},{"version":"481c38439b932ef9e87e68139f6d03b0712bc6fc2880e909886374452a4169b5","impliedFormat":99},{"version":"64054d6374f7b8734304272e837aa0edcf4cfa2949fa5810971f747a0f0d9e9e","impliedFormat":99},{"version":"267498893325497596ff0d99bfdb5030ab4217c43801221d2f2b5eb5734e8244","impliedFormat":99},{"version":"d2ec89fb0934a47f277d5c836b47c1f692767511e3f2c38d00213c8ec4723437","impliedFormat":99},{"version":"475e411f48f74c14b1f6e50cc244387a5cc8ce52340dddfae897c96e03f86527","impliedFormat":99},{"version":"c1022a2b86fadc3f994589c09331bdb3461966fb87ebb3e28c778159a300044e","impliedFormat":99},{"version":"753358353274d98b65428ccf8c6928c5f73d1c5e5f097000c17b255189faeca5","signature":"d206146890af54a63ad4a60602b3205cd076af95b2422d617324cc36a8337a50"},{"version":"b58c81d4cc365d3986aee6c2a86592edc50f141b796899079196ffb103047390","impliedFormat":1},{"version":"041597c12abeaa2ef07766775955fc87cfc65c43e0fe86c836071bea787e967c","impliedFormat":1},{"version":"0838507efff4f479c6f603ec812810ddfe14ab32abf8f4a8def140be970fe439","impliedFormat":1},{"version":"f67c92f5cb2bf5a9929ee73216f08749db4f22b04a18e5205ed6e75ca48e9feb","impliedFormat":1},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":1},{"version":"de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","impliedFormat":1},{"version":"1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","impliedFormat":1},{"version":"854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","impliedFormat":1},{"version":"dd9faff42b456b5f03b85d8fbd64838eb92f6f7b03b36322cbc59c005b7033d3","impliedFormat":1},{"version":"6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","impliedFormat":1},{"version":"9dce9fc12e9a79d1135699d525aa6b44b71a45e32e3fa0cf331060b980b16317","impliedFormat":1},{"version":"586b2fd8a7d582329658aaceec22f8a5399e05013deb49bcfde28f95f093c8ee","impliedFormat":1},{"version":"dedc0ab5f7babe4aef870618cd2d4bc43dc67d1584ee43b68fc6e05554ef8f34","impliedFormat":1},{"version":"ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","impliedFormat":1},{"version":"3d8885d13f76ff35b7860039e83c936ff37553849707c2fd1d580d193a52be5b","impliedFormat":1},{"version":"a27b308a31ca392c56a9fa2c52ff2d54643ee4428980598531738e49bd1b4e88","signature":"6f147373b9918187434a080accc2122e414eb4aa96649b9bc74bcc0fb66f55f9"},"f1000fcd9f9e6bb6cb20c4d13a4117f0a8bc3f30c39c5bb74abaff885e0f301f","6978c96e51ac0e8fe37bb98482d6dc87c48d6bafc6483833306a8977ec7efe80","31fb1aab9fffdb400fea690a6417e5918aee85e1e0f958334d88dd8e9ea175eb",{"version":"ee21544fc2bfaf23ad436536c2e09b2b5413d3665d263a1327145630f3205740","signature":"0eba11a1a1a3140a0ddcee58dc8787e3f27d76457a7df0afd09ed680042a5a1b"},"cc455745fa695edffa6b0c96c40bd4d56ea6a55b7de18e02034902cd42a51c9f","8e8b99d398b1a41f756564f78a2e25da53c4359e713d2477030d7cb541f47fba",{"version":"64af6d93b3185a4ba86f65aca21a575a8ae75df8bb53bcdc69b86437a920453d","signature":"e41c220f0ff31dca1beaf817da8b26964e3e1855f4407f9974ba5b1e5aa93d94"},{"version":"525ccbbaf43aab28eba422f663b77517f38a7bb0c34870c3fa5ef9715fdc123d","signature":"a7c42e21b2531a5dcd85666951ebde8307119e05b7b6ade68ad735e466af36b0"},"3e97d0e92887e2361d808f18aaf45eb9ec94d388a17c3ecfcac014bd5c230420","2448e1b55c7816b4137f7d538e89d0b6034b18348fc174babb222edeb1fee4f1","587a12972a3c7ff24012c41ba4b338396422644e803f8abf6b6a680c22ce7013","649c4c088b4b8ed5a50a932276de115abeb838a711620e0b8d34231cc5a042c9","64c74750947e3b3452fd64d44fc30de2db8bea73c7146fc8a6e8497477b96932","7356604f9cc5fad50fb0133378539311a1b5d41c9476e5f40ff9b5079423dde3",{"version":"d77c4ed52b3c2b9ce3b9bf70e40d9605d079c63a207dddc94d2027cba0656298","impliedFormat":1},{"version":"466a15bf7238ebd3900d136db38eec3af69d0761c0286ab59952870eedd6e319","impliedFormat":1},{"version":"54c9363ccd5c272f3104f893f40924d122c0ec3d9762e8d2516ec307c0394d1e","impliedFormat":1},{"version":"1f4df460bfe98e20fae494ade49e50c98ed1997143c7eae7a00a1cd93bfd4307","impliedFormat":1},{"version":"e179bf25417780781dc994f657e724419e6dcbe5a136dbfa55efefe36bdb4b63","impliedFormat":1},{"version":"4af3bb74fb82b8e5e2c5d67db1f07a8c4e56e4259eeb0d966faec9578b2e3387","impliedFormat":1},{"version":"a0abcb32b7a9291276879912c9a3205fbd1d6930ae4f29e91fe30227e2762893","impliedFormat":1},{"version":"b67fb584ca2449669c113e75866d339ee4e6bc74a441efd00c1beac460412584","impliedFormat":1},{"version":"28810dc1e3da65bd19de2fa2c466620e18563203f8dd10ab3dbdf7893175d480","impliedFormat":1},{"version":"0f79f9784797e5358bbed18b363b220eaed94de7c1ed2f193465ac232fe48eb1","impliedFormat":1},{"version":"3fda2c97086fbd803c585572068fa89c7d63fc31b5a8ffde7026598036e06f2f","impliedFormat":1},{"version":"6187d97d074e4a66a0179ff2cdd845e1809b70ff5d7b857e0c686f52a86f62f7","impliedFormat":1},{"version":"617e6127ecaab4c4033d261a50e72792a9312f0992ea6926effa080a2359c14b","impliedFormat":1},{"version":"1e73e8d1bbef5f4b2cd652df6eacf50cbb9a91cd41f974320541d2cfe08ee316","impliedFormat":1},"62476311ce482bfaf32dc041fe5d1733a15a51ba3d1c0b21d7e922bd89cf39e4",{"version":"93cc77c27f519006b0f58120c75eec36deffbe7feec3c68d3aa14051b0b998d8","impliedFormat":1},{"version":"a01035ec8ac796e720532f76a2f5ef957ec5ec6f022e5854e8522fa4fec3dd3a","impliedFormat":1},{"version":"a3628f430f8d502a5c026a0c932a5c41e6361d8e0248287872cd8999bc534399","impliedFormat":1},{"version":"ed774418ed7b67bf7c7c09afec04dc68aaf4b2ce34e83c8385ed32b836bfa1f5","impliedFormat":1},{"version":"b0c35bf00dd6fb25d84febff7590ac37528c99fcb452428b326fbed24dcb8d70","impliedFormat":1},{"version":"016eb46411ea55780ac3ccb57a10ae7d3de5f039a9b1c0889ebfe1bf4963c0af","impliedFormat":1},{"version":"f0e4a8414ebeccecd2eb57a7e4cf31e968e951126f45484d86fedc89dca61dec","impliedFormat":1},{"version":"ceb8fc6899a46dd58dd1f11077891ebf887a56e5fae8956c41d6dbac181bfe78","impliedFormat":1},{"version":"f1ab325fae2490d7933a0ec029a3e4df191d2022f5bf638acc9fb0bbc6a5792b","impliedFormat":1},{"version":"743ec4b877ee007e896a45ff5165100f793bef796938631051ad818039e238de","impliedFormat":1},{"version":"739ba5b048829e14de67e2fd9c067c28af878b65206a43ef0578552eedd8d8eb","impliedFormat":1},{"version":"509f00a10e4d37dd72e5d065054c430b3c1d4da788f4fe6a1fc15b91e60abf99","impliedFormat":1},{"version":"e2c737ecabdf5dde9d56d2675f5045d96c68383a5c019cb89b66b636185aa820","impliedFormat":1},{"version":"987c5db7454ad787d00334c97c761441f259ffab25495dc7d158cc8a7e9fd80a","impliedFormat":1},{"version":"c890847d746b7209ff5ec1d08c3ea02336f656f9190813e9ecb0d0ef938b4894","impliedFormat":1},{"version":"6d40ea659e699ad6f2298108d13b0fdc0d23f6c51b1dd6e650c7fadadb07392a","impliedFormat":1},{"version":"961605580f225b884dc512d4ae229a628bb1c50d134ccf462738a130d5855180","impliedFormat":1},{"version":"381b623c9ee962965cc3684ee45de6236f91cf24eb845dafc3a74a27d1eed070","impliedFormat":1},{"version":"1f84dff7964146377785aa684028ca62290e0639ac41fd0c5f391a5f5d414adc","impliedFormat":1},{"version":"4edf6371c3fd1f12c91cab0b0c42340ba0205e1a24f95757551ba46b6ab0e8a4","impliedFormat":1},{"version":"f4ae5546352701fd6932fdd86419438bb51253e4627a44808489742035bac644","impliedFormat":1},{"version":"bda1393387e320d7c151a72415d14f77134a99839a0c7b6b990345475cfdb2a7","impliedFormat":1},{"version":"84fccbf19c8cd506887a23cd8245539acb8e47b23f4e0e00b848161dde93e093","impliedFormat":1},{"version":"5c59911b7ce4516bc2070207db32a39d75fbcf99c309ccc46c3cc6ba42066722","impliedFormat":1},{"version":"8fcbd8080f97ec9de29ef3f605200f344e351b4ac23d26f3b11ce34c639a4582","impliedFormat":1},{"version":"e3c8181f9cf79e7c33c3c4da1a41092bd7ed9eaaec9f9998766b52331150edb6","impliedFormat":1},{"version":"ada30b760b3eced46fa6ff877d85d5fe92ce677537513e0461c5d11d015ba0c3","impliedFormat":1},{"version":"c815e7813ce2369b199531eef330d9efb38fe47ac30c3c978268a9212284cee3","impliedFormat":1},{"version":"44c262791e8f43c5184be8e0ceffd6c20f98bfe88d698acd032755b7f34c5ece","impliedFormat":1},{"version":"bc63795b58ff5cdbe4496c70d3313e5f90390bdb2ae1af97ac738366f3819416","impliedFormat":1},{"version":"8861847d6335fa45ade9ff5491902f6f9c5d9d0134ea495483a59de2483ac284","impliedFormat":1},{"version":"33899c60aea8188645a90bc029c0a98d18c5cb271de8a967c0a7e45698a28007","impliedFormat":1},{"version":"6b4cc716f171384a65f863080b6577fc1c45028490c5b0a35b3e31467e590b4d","impliedFormat":1},{"version":"54e425cf2edad78bbfb12e323d3328df6e5302d3c32f2844325930c0fe3e5683","impliedFormat":1},{"version":"a177fb901089551279eb7171277369d8ae39c62d0b2bc73b9c6b29bb43013a55","impliedFormat":1},{"version":"ed99f007a88f5ed08cc8b7f09bc90a6f7371fddad6e19c0f44ae4ab46b754871","impliedFormat":1},{"version":"dc18979157d4d0c265fa5284b7f600e6c1946b0a40f173a96217bd3d2bdd206a","impliedFormat":1},{"version":"ecf09b7dbe9c80785e547ca7139e420a7dc7590e8f02223056813776e8d04168","impliedFormat":1},{"version":"8bed0aaad83dcf899f7ad2ecab434246a70489cd586a4d0e600c94b7ba696522","impliedFormat":1},{"version":"3166f30388a646ecbdc5f122433cd4ddffb0518d492aceb83ab6bfdcf27b2fe8","impliedFormat":1},{"version":"4ae9b50481136302de9c77668621ed3a0b34998f3e091ca3701426f4fe369c8a","impliedFormat":1},{"version":"9ba9ecc57d2f52b3ed3ac229636ee9a36e92e18b80eeae11ffb546c12e56d5e5","impliedFormat":1},{"version":"a35e372b741b6aaf27163d79224fb2d553443bb388c24f84fdde42a450c6e761","impliedFormat":1},{"version":"d182d419bb30a1408784ed95fbabd973dde7517641e04525f0ce761df5d193a5","impliedFormat":1},{"version":"0b65ae01678fd1b52fc048a1bce48f260ef36daae47edc5c5bb3432bb8c40ee2","impliedFormat":1},{"version":"ec3e143e22d0b8828c2b99ef926af7ef05475421866ca9915444b383cd9e1db1","impliedFormat":1},{"version":"532b86cbf638c85ea08dc9aa137302952793c56bde8f495acbfb9415367efabe","impliedFormat":1},{"version":"2a23ef3132a5d05b7205c7af3cac333d183d90c6d09635e7ec213948a4ab6edd","impliedFormat":1},"3b1aef2fa2abd6c674d9ebb4a53daa154975747b88f9f3cd4fb3c88262c48271",{"version":"a28ac3e717907284b3910b8e9b3f9844a4e0b0a861bea7b923e5adf90f620330","impliedFormat":1},{"version":"b6d03c9cfe2cf0ba4c673c209fcd7c46c815b2619fd2aad59fc4229aaef2ed43","impliedFormat":1},{"version":"82e5a50e17833a10eb091923b7e429dc846d42f1c6161eb6beeb964288d98a15","impliedFormat":1},{"version":"670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","impliedFormat":1},{"version":"13b77ab19ef7aadd86a1e54f2f08ea23a6d74e102909e3c00d31f231ed040f62","impliedFormat":1},{"version":"069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","impliedFormat":1},{"version":"afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","impliedFormat":1},{"version":"035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","impliedFormat":1},{"version":"a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","impliedFormat":1},{"version":"5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"f8db4fea512ab759b2223b90ecbbe7dae919c02f8ce95ec03f7fb1cf757cfbeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","impliedFormat":1},{"version":"1ba59c8bbeed2cb75b239bb12041582fa3e8ef32f8d0bd0ec802e38442d3f317","impliedFormat":1},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"26a770cec4bd2e7dbba95c6e536390fffe83c6268b78974a93727903b515c4e7","impliedFormat":1}],"root":[48,51,154,196,408,[424,430],[432,438],453,502],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":1,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[505,1],[503,2],[447,3],[449,4],[443,5],[442,6],[440,7],[439,8],[441,9],[451,10],[446,11],[445,2],[444,2],[513,2],[515,12],[514,2],[494,13],[495,14],[491,15],[493,16],[497,17],[486,2],[487,18],[490,19],[492,19],[496,2],[488,2],[489,20],[455,21],[456,22],[454,2],[468,23],[462,24],[467,25],[457,2],[465,26],[466,27],[464,28],[459,29],[463,30],[458,31],[460,32],[461,33],[478,34],[470,2],[473,35],[471,2],[472,2],[469,2],[476,36],[477,37],[475,38],[485,39],[479,2],[481,40],[480,2],[483,41],[482,42],[484,43],[501,44],[499,45],[498,46],[500,47],[508,48],[504,1],[506,49],[507,1],[153,50],[509,51],[407,52],[387,53],[389,54],[388,53],[391,55],[393,56],[394,57],[395,58],[396,56],[397,57],[398,56],[399,59],[400,57],[401,56],[402,60],[403,53],[404,53],[405,61],[392,62],[406,63],[390,63],[510,2],[511,64],[512,65],[520,66],[151,67],[152,2],[409,2],[98,68],[99,68],[100,69],[58,70],[101,71],[102,72],[103,73],[53,2],[56,74],[54,2],[55,2],[104,75],[105,76],[106,77],[107,78],[108,79],[109,80],[110,80],[112,2],[111,81],[113,82],[114,83],[115,84],[97,85],[57,2],[116,86],[117,87],[118,88],[150,89],[119,90],[120,91],[121,92],[122,93],[123,94],[124,95],[125,96],[126,97],[127,98],[128,99],[129,99],[130,100],[131,2],[132,101],[134,102],[133,103],[135,104],[136,105],[137,106],[138,107],[139,108],[140,109],[141,110],[142,111],[143,112],[144,113],[145,114],[146,115],[147,116],[148,117],[149,118],[474,2],[179,119],[180,120],[155,121],[158,121],[177,119],[178,119],[168,119],[167,122],[165,119],[160,119],[173,119],[171,119],[175,119],[159,119],[172,119],[176,119],[161,119],[162,119],[174,119],[156,119],[163,119],[164,119],[166,119],[170,119],[181,123],[169,119],[157,119],[194,124],[193,2],[188,123],[190,125],[189,123],[182,123],[183,123],[185,123],[187,123],[191,125],[192,125],[184,125],[186,125],[521,2],[386,126],[52,2],[522,127],[523,2],[524,128],[59,2],[47,2],[49,2],[46,2],[195,129],[519,130],[448,131],[450,132],[452,133],[421,134],[422,135],[420,136],[423,137],[417,138],[418,139],[419,140],[517,141],[518,142],[413,138],[414,138],[416,143],[415,138],[410,144],[50,145],[412,146],[411,2],[516,147],[385,148],[358,2],[336,149],[334,149],[384,150],[349,151],[348,151],[249,152],[200,153],[356,152],[357,152],[359,154],[360,152],[361,155],[260,156],[362,152],[333,152],[363,152],[364,157],[365,152],[366,151],[367,158],[368,152],[369,152],[370,152],[371,152],[372,151],[373,152],[374,152],[375,152],[376,152],[377,159],[378,152],[379,152],[380,152],[381,152],[382,152],[199,150],[202,155],[203,155],[204,155],[205,155],[206,155],[207,155],[208,155],[209,152],[211,160],[212,155],[210,155],[213,155],[214,155],[215,155],[216,155],[217,155],[218,155],[219,152],[220,155],[221,155],[222,155],[223,155],[224,155],[225,152],[226,155],[227,155],[228,155],[229,155],[230,155],[231,155],[232,152],[234,161],[233,155],[235,155],[236,155],[237,155],[238,155],[239,159],[240,152],[241,152],[255,162],[243,163],[244,155],[245,155],[246,152],[247,155],[248,155],[250,164],[251,155],[252,155],[253,155],[254,155],[256,155],[257,155],[258,155],[259,155],[261,165],[262,155],[263,155],[264,155],[265,152],[266,155],[267,166],[268,166],[269,166],[270,152],[271,155],[272,155],[273,155],[278,155],[274,155],[275,152],[276,155],[277,152],[279,155],[280,155],[281,155],[282,155],[283,155],[284,155],[285,152],[286,155],[287,155],[288,155],[289,155],[290,155],[291,155],[292,155],[293,155],[294,155],[295,155],[296,155],[297,155],[298,155],[299,155],[300,155],[301,155],[302,167],[303,155],[304,155],[305,155],[306,155],[307,155],[308,155],[309,152],[310,152],[311,152],[312,152],[313,152],[314,155],[315,155],[316,155],[317,155],[335,168],[383,152],[320,169],[319,170],[343,171],[342,172],[338,173],[337,172],[339,174],[328,175],[326,176],[341,177],[340,174],[327,2],[329,178],[242,179],[198,180],[197,155],[332,2],[324,181],[325,182],[322,2],[323,183],[321,155],[330,184],[201,185],[350,2],[351,2],[344,2],[347,151],[346,2],[352,2],[353,2],[345,186],[354,2],[355,2],[318,187],[331,188],[44,2],[45,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[18,2],[19,2],[4,2],[20,2],[24,2],[21,2],[22,2],[23,2],[25,2],[26,2],[27,2],[5,2],[28,2],[29,2],[30,2],[31,2],[6,2],[35,2],[32,2],[33,2],[34,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[75,189],[85,190],[74,189],[95,191],[66,192],[65,193],[94,194],[88,195],[93,196],[68,197],[82,198],[67,199],[91,200],[63,201],[62,194],[92,202],[64,203],[69,204],[70,2],[73,204],[60,2],[96,205],[86,206],[77,207],[78,208],[80,209],[76,210],[79,211],[89,194],[71,212],[72,213],[81,214],[61,215],[84,206],[83,204],[87,2],[90,216],[431,2],[429,217],[428,218],[433,219],[430,220],[432,221],[434,222],[408,223],[427,224],[435,225],[48,226],[425,227],[51,228],[196,229],[436,230],[154,231],[437,232],[438,233],[426,234],[424,235],[453,236],[502,237]],"affectedFilesPendingEmit":[[429,51],[428,51],[433,51],[430,51],[432,51],[434,51],[408,51],[427,51],[435,51],[48,51],[425,51],[51,51],[196,51],[436,51],[154,51],[437,51],[438,51],[426,51],[424,51],[453,51],[502,51]],"version":"5.9.2"}
package/dist/index.js CHANGED
@@ -318,8 +318,8 @@ async function getProjectPrompts(initialConfig) {
318
318
  name: "auth",
319
319
  message: "Select authentication provider:",
320
320
  choices: [
321
- { name: "\u{1F525} Firebase - Google's platform", value: "firebase" },
322
- { name: "\u26A1 Supabase - Open source alternative", value: "supabase" }
321
+ { name: "\u26A1 Supabase - Open source alternative", value: "supabase" },
322
+ { name: "\u{1F525} Firebase - Google's platform", value: "firebase" }
323
323
  ],
324
324
  default: initialConfig.auth
325
325
  },
@@ -836,7 +836,7 @@ async function createProject(platform, template, name, options = {}) {
836
836
  platform,
837
837
  template: template || "base",
838
838
  name: name || "my-saas-app",
839
- auth: options.auth || "firebase",
839
+ auth: options.auth || "supabase",
840
840
  database: options.database || "supabase",
841
841
  theme: options.theme || "default",
842
842
  install: options.install !== false,
@@ -1007,7 +1007,7 @@ async function updateDependencies(options = {}) {
1007
1007
  // package.json
1008
1008
  var package_default = {
1009
1009
  name: "@digilogiclabs/create-saas-app",
1010
- version: "1.3.0",
1010
+ version: "1.4.0",
1011
1011
  description: "Create modern SaaS applications with Digi Logic Labs packages",
1012
1012
  main: "dist/index.js",
1013
1013
  bin: {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli/index.ts","../src/cli/commands/create.ts","../src/cli/utils/logger.ts","../src/cli/utils/spinner.ts","../src/cli/validators/project-name.ts","../src/cli/validators/dependencies.ts","../src/cli/prompts/project-setup.ts","../src/generators/template-generator.ts","../src/generators/package-installer.ts","../src/cli/utils/package-manager.ts","../src/cli/utils/git.ts","../src/cli/commands/add.ts","../src/cli/commands/update.ts","../package.json"],"sourcesContent":["import { Command } from 'commander';\nimport { createProject } from './commands/create';\nimport { addFeature } from './commands/add';\nimport { updateDependencies } from './commands/update';\nimport { logger } from './utils/logger';\nimport packageJson from '../../package.json';\n\nconst program = new Command();\n\nprogram\n .name('create-saas-app')\n .description('Create modern SaaS applications with Digi Logic Labs packages')\n .version(packageJson.version);\n\nprogram\n .command('create')\n .alias('c')\n .description('Create a new SaaS application')\n .argument('<platform>', 'Platform: web, mobile, or both')\n .argument('[template]', 'Template: base, dashboard, saas (web) | base, tabs, stack (mobile)')\n .argument('[name]', 'Project name')\n .option('-a, --auth <provider>', 'Auth provider: firebase, supabase')\n .option('-d, --database <provider>', 'Database provider: supabase, firebase')\n .option('-t, --theme <theme>', 'Theme: default, corporate, startup')\n .option('--no-install', 'Skip package installation')\n .option('--no-git', 'Skip git initialization')\n .option('-y, --yes', 'Skip interactive prompts')\n .action(createProject);\n\nprogram\n .command('add')\n .alias('a')\n .description('Add features to existing project')\n .argument('<feature>', 'Feature to add: auth, billing, analytics, etc.')\n .option('-p, --provider <provider>', 'Service provider')\n .action(addFeature);\n\nprogram\n .command('update')\n .alias('u')\n .description('Update Digi Logic Labs dependencies')\n .option('--check', 'Check for updates without installing')\n .action(updateDependencies);\n\n// Handle unknown commands\nprogram.on('command:*', () => {\n logger.error(`Unknown command: ${program.args.join(' ')}`);\n logger.info('Run \"create-saas-app --help\" for available commands');\n process.exit(1);\n});\n\n// Show help if no arguments provided\nif (!process.argv.slice(2).length) {\n program.outputHelp();\n process.exit(0);\n}\n\nprogram.parse();\n\nexport default program;\n","import path from 'path';\nimport { logger } from '../utils/logger';\nimport { spinner } from '../utils/spinner';\nimport { validateProjectName, validateProjectPath } from '../validators/project-name';\nimport { validateNodeVersion } from '../validators/dependencies';\nimport { getProjectPrompts } from '../prompts/project-setup';\nimport { TemplateGenerator } from '../../generators/template-generator';\nimport { PackageInstaller } from '../../generators/package-installer';\nimport { initializeGit } from '../utils/git';\n\ninterface CreateOptions {\n auth?: string;\n database?: string;\n theme?: string;\n install?: boolean;\n git?: boolean;\n yes?: boolean;\n}\n\nexport interface ProjectConfig {\n platform: 'web' | 'mobile' | 'both';\n template: string;\n name: string;\n auth: 'firebase' | 'supabase';\n database: 'supabase' | 'firebase';\n theme: 'default' | 'corporate' | 'startup';\n install: boolean;\n git: boolean;\n}\n\nexport async function createProject(\n platform: string,\n template?: string,\n name?: string,\n options: CreateOptions = {}\n) {\n try {\n // Validate Node.js version\n if (!(await validateNodeVersion())) {\n process.exit(1);\n }\n\n // Validate platform\n const validPlatforms = ['web', 'mobile', 'both'];\n if (!validPlatforms.includes(platform)) {\n logger.error(`Invalid platform: ${platform}. Must be one of: ${validPlatforms.join(', ')}`);\n process.exit(1);\n }\n\n // Set up initial configuration\n let config: ProjectConfig = {\n platform: platform as 'web' | 'mobile' | 'both',\n template: template || 'base',\n name: name || 'my-saas-app',\n auth: (options.auth as 'firebase' | 'supabase') || 'firebase',\n database: (options.database as 'supabase' | 'firebase') || 'supabase',\n theme: (options.theme as 'default' | 'corporate' | 'startup') || 'default',\n install: options.install !== false,\n git: options.git !== false,\n };\n\n // Interactive prompts if not in yes mode\n if (!options.yes) {\n config = await getProjectPrompts(config);\n }\n\n // Validate project name\n if (!validateProjectName(config.name)) {\n process.exit(1);\n }\n\n const projectPath = path.resolve(process.cwd(), config.name);\n\n // Validate project path\n if (!(await validateProjectPath(projectPath))) {\n process.exit(1);\n }\n\n // Display configuration\n logger.title('🚀 Creating your SaaS application');\n logger.info(`Platform: ${config.platform}`);\n logger.info(`Template: ${config.template}`);\n logger.info(`Project: ${config.name}`);\n logger.info(`Auth: ${config.auth}`);\n logger.info(`Database: ${config.database}`);\n logger.info(`Theme: ${config.theme}`);\n logger.newLine();\n\n // Generate project structure\n const templateSpinner = spinner('Generating project structure...');\n try {\n const generator = new TemplateGenerator(config);\n await generator.generate(projectPath);\n templateSpinner.succeed('Project structure created');\n } catch (_error) {\n templateSpinner.fail('Failed to generate project structure');\n throw _error;\n }\n\n // Install dependencies\n if (config.install) {\n const installSpinner = spinner('Installing dependencies...');\n try {\n const installer = new PackageInstaller(projectPath);\n await installer.install();\n installSpinner.succeed('Dependencies installed');\n } catch (_error) {\n installSpinner.fail('Failed to install dependencies');\n logger.warn('You can install dependencies manually by running:');\n logger.code(`cd ${config.name} && npm install`);\n }\n }\n\n // Initialize git repository\n if (config.git) {\n const gitSpinner = spinner('Initializing git repository...');\n try {\n await initializeGit(projectPath);\n gitSpinner.succeed('Git repository initialized');\n } catch (_error) {\n gitSpinner.fail('Failed to initialize git repository');\n logger.warn('You can initialize git manually by running:');\n logger.code(`cd ${config.name} && git init`);\n }\n }\n\n // Success message with next steps\n logger.newLine();\n logger.success('🎉 Project created successfully!');\n logger.newLine();\n\n logger.title('Next steps:');\n logger.code(`cd ${config.name}`);\n\n if (!config.install) {\n logger.code('npm install');\n }\n\n if (config.platform === 'web' || config.platform === 'both') {\n logger.code('npm run dev');\n logger.info('Open http://localhost:3000 in your browser');\n }\n\n if (config.platform === 'mobile' || config.platform === 'both') {\n logger.code('npx expo start');\n logger.info('Scan QR code with Expo Go app');\n }\n\n logger.newLine();\n logger.info('📚 Documentation: https://docs.digilogiclabs.com');\n logger.info('💬 Support: https://discord.gg/digilogiclabs');\n } catch (error) {\n logger.error('Failed to create project:');\n logger.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n","import chalk from 'chalk';\n\nexport const logger = {\n info: (message: string, ...args: any[]) => {\n console.log(chalk.blue('ℹ'), message, ...args);\n },\n\n success: (message: string, ...args: any[]) => {\n console.log(chalk.green('✓'), message, ...args);\n },\n\n warn: (message: string, ...args: any[]) => {\n console.log(chalk.yellow('⚠'), message, ...args);\n },\n\n error: (message: string, ...args: any[]) => {\n console.log(chalk.red('✗'), message, ...args);\n },\n\n debug: (message: string, ...args: any[]) => {\n if (process.env.DEBUG) {\n console.log(chalk.gray('🐛'), message, ...args);\n }\n },\n\n log: (message: string, ...args: any[]) => {\n console.log(message, ...args);\n },\n\n newLine: () => {\n console.log();\n },\n\n divider: () => {\n console.log(chalk.gray('─'.repeat(50)));\n },\n\n title: (message: string) => {\n console.log();\n console.log(chalk.bold.cyan(message));\n console.log(chalk.gray('─'.repeat(message.length)));\n },\n\n step: (step: number, total: number, message: string) => {\n console.log(chalk.cyan(`[${step}/${total}]`), message);\n },\n\n highlight: (message: string) => {\n console.log(chalk.bold.magenta(message));\n },\n\n code: (code: string) => {\n console.log(chalk.gray(' ' + code));\n },\n\n list: (items: string[]) => {\n items.forEach((item) => {\n console.log(chalk.gray(' •'), item);\n });\n },\n};\n","import ora, { Ora } from 'ora';\nimport chalk from 'chalk';\n\nexport function spinner(text: string): Ora {\n return ora({\n text: chalk.gray(text),\n spinner: 'dots',\n color: 'cyan',\n }).start();\n}\n\nexport function createSpinner(text: string): Ora {\n return ora({\n text: chalk.gray(text),\n spinner: 'dots',\n color: 'cyan',\n });\n}\n\nexport function successSpinner(text: string): Ora {\n return ora({\n text: chalk.green(text),\n spinner: 'dots',\n color: 'green',\n });\n}\n\nexport function errorSpinner(text: string): Ora {\n return ora({\n text: chalk.red(text),\n spinner: 'dots',\n color: 'red',\n });\n}\n\nexport function warnSpinner(text: string): Ora {\n return ora({\n text: chalk.yellow(text),\n spinner: 'dots',\n color: 'yellow',\n });\n}\n","import validateNpmPackageName from 'validate-npm-package-name';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport { logger } from '../utils/logger';\n\nexport function validateProjectName(name: string): boolean {\n // Check if name is empty\n if (!name || name.trim().length === 0) {\n logger.error('Project name cannot be empty');\n return false;\n }\n\n // Check npm package name validity\n const validation = validateNpmPackageName(name);\n\n if (!validation.validForNewPackages) {\n logger.error('Invalid project name:');\n\n if (validation.errors) {\n validation.errors.forEach((error) => logger.error(` • ${error}`));\n }\n\n if (validation.warnings) {\n validation.warnings.forEach((warning) => logger.warn(` • ${warning}`));\n }\n\n return false;\n }\n\n // Check for reserved names\n const reservedNames = [\n 'node_modules',\n 'package.json',\n 'package-lock.json',\n 'yarn.lock',\n 'pnpm-lock.yaml',\n '.git',\n '.gitignore',\n 'README.md',\n 'LICENSE',\n 'src',\n 'dist',\n 'build',\n 'public',\n 'static',\n 'assets',\n 'components',\n 'pages',\n 'app',\n 'lib',\n 'utils',\n 'hooks',\n 'types',\n 'styles',\n 'config',\n 'test',\n 'tests',\n '__tests__',\n 'spec',\n 'specs',\n 'docs',\n 'documentation',\n ];\n\n if (reservedNames.includes(name.toLowerCase())) {\n logger.error(`Project name \"${name}\" is reserved. Please choose a different name.`);\n return false;\n }\n\n // Check for common problematic patterns\n if (name.startsWith('.')) {\n logger.error('Project name cannot start with a dot');\n return false;\n }\n\n if (name.startsWith('-')) {\n logger.error('Project name cannot start with a hyphen');\n return false;\n }\n\n if (name.endsWith('-')) {\n logger.error('Project name cannot end with a hyphen');\n return false;\n }\n\n if (name.includes('..')) {\n logger.error('Project name cannot contain consecutive dots');\n return false;\n }\n\n if (name.includes('//')) {\n logger.error('Project name cannot contain consecutive slashes');\n return false;\n }\n\n // Check length\n if (name.length > 214) {\n logger.error('Project name is too long (max 214 characters)');\n return false;\n }\n\n return true;\n}\n\nexport async function validateProjectPath(projectPath: string): Promise<boolean> {\n try {\n // Check if directory already exists\n if (await fs.pathExists(projectPath)) {\n const stats = await fs.stat(projectPath);\n\n if (stats.isDirectory()) {\n const files = await fs.readdir(projectPath);\n\n if (files.length > 0) {\n logger.error(`Directory \"${path.basename(projectPath)}\" already exists and is not empty`);\n return false;\n }\n } else {\n logger.error(`A file with the name \"${path.basename(projectPath)}\" already exists`);\n return false;\n }\n }\n\n // Check if parent directory is writable\n const parentDir = path.dirname(projectPath);\n\n try {\n await fs.access(parentDir, fs.constants.W_OK);\n } catch {\n logger.error(`Cannot write to directory \"${parentDir}\"`);\n return false;\n }\n\n return true;\n } catch (error) {\n logger.error('Failed to validate project path:', error);\n return false;\n }\n}\n\nexport function sanitizeProjectName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^a-z0-9-]/g, '-')\n .replace(/^-+|-+$/g, '')\n .replace(/-+/g, '-');\n}\n\nexport function suggestProjectName(name: string): string {\n const sanitized = sanitizeProjectName(name);\n\n if (validateProjectName(sanitized)) {\n return sanitized;\n }\n\n // If still invalid, add a prefix\n const suggested = `my-${sanitized}`;\n\n if (validateProjectName(suggested)) {\n return suggested;\n }\n\n // Last resort\n return 'my-saas-app';\n}\n","import semver from 'semver';\nimport execa from 'execa';\nimport { logger } from '../utils/logger';\n\nexport interface DependencyInfo {\n name: string;\n version: string;\n latest?: string;\n outdated?: boolean;\n}\n\nexport async function validateNodeVersion(): Promise<boolean> {\n const nodeVersion = process.version;\n const minVersion = '16.0.0';\n\n if (!semver.gte(nodeVersion, minVersion)) {\n logger.error(\n `Node.js version ${minVersion} or higher is required. Current version: ${nodeVersion}`\n );\n return false;\n }\n\n return true;\n}\n\nexport async function checkPackageExists(packageName: string): Promise<boolean> {\n try {\n await execa('npm', ['view', packageName, 'version']);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function getLatestVersion(packageName: string): Promise<string | null> {\n try {\n const result = await execa('npm', ['view', packageName, 'version']);\n return result.stdout.trim();\n } catch {\n return null;\n }\n}\n\nexport async function validateDependencies(dependencies: string[]): Promise<DependencyInfo[]> {\n const results: DependencyInfo[] = [];\n\n for (const dep of dependencies) {\n const [name, version] =\n dep.includes('@') && !dep.startsWith('@') ? dep.split('@') : [dep, 'latest'];\n\n try {\n const latest = await getLatestVersion(name);\n\n if (!latest) {\n logger.warn(`Package \"${name}\" not found in npm registry`);\n continue;\n }\n\n const resolvedVersion = version === 'latest' ? latest : version;\n const outdated = version !== 'latest' && semver.lt(resolvedVersion, latest);\n\n results.push({\n name,\n version: resolvedVersion,\n latest,\n outdated,\n });\n } catch (error) {\n logger.warn(`Failed to validate package \"${name}\":`, error);\n }\n }\n\n return results;\n}\n\nexport function validateVersionRange(version: string): boolean {\n try {\n return semver.validRange(version) !== null;\n } catch {\n return false;\n }\n}\n\nexport function isValidSemver(version: string): boolean {\n return semver.valid(version) !== null;\n}\n\nexport function compareVersions(version1: string, version2: string): number {\n try {\n return semver.compare(version1, version2);\n } catch {\n return 0;\n }\n}\n\nexport function getVersionSuggestion(currentVersion: string, latestVersion: string): string {\n if (!isValidSemver(currentVersion) || !isValidSemver(latestVersion)) {\n return latestVersion;\n }\n\n const current = semver.parse(currentVersion);\n const latest = semver.parse(latestVersion);\n\n if (!current || !latest) {\n return latestVersion;\n }\n\n // If major version is different, suggest latest\n if (current.major !== latest.major) {\n return `^${latestVersion}`;\n }\n\n // If minor version is different, suggest latest minor\n if (current.minor !== latest.minor) {\n return `~${latestVersion}`;\n }\n\n // If only patch is different, suggest exact latest\n return latestVersion;\n}\n","import inquirer from 'inquirer';\nimport { ProjectConfig } from '../commands/create';\nimport { validateProjectName, suggestProjectName } from '../validators/project-name';\nimport { logger } from '../utils/logger';\n\nexport async function getProjectPrompts(initialConfig: ProjectConfig): Promise<ProjectConfig> {\n logger.title('🛠️ Project Configuration');\n\n const questions = [\n {\n type: 'input',\n name: 'name',\n message: 'Project name:',\n default: initialConfig.name,\n validate: (input: string) => {\n if (!validateProjectName(input)) {\n const suggestion = suggestProjectName(input);\n return `Invalid project name. Try: ${suggestion}`;\n }\n return true;\n },\n filter: (input: string) => input.trim(),\n },\n {\n type: 'list',\n name: 'platform',\n message: 'Select platform:',\n choices: [\n { name: '🌐 Web (Next.js)', value: 'web' },\n { name: '📱 Mobile (Expo)', value: 'mobile' },\n { name: '🚀 Both (Full-stack)', value: 'both' },\n ],\n default: initialConfig.platform,\n },\n {\n type: 'list',\n name: 'template',\n message: 'Select template:',\n choices: (answers: any) => {\n if (answers.platform === 'web') {\n return [\n { name: '📄 Base - Clean starter template', value: 'base' },\n {\n name: '📦 UI Only - With @digilogiclabs/saas-factory-ui (no auth)',\n value: 'ui-only',\n },\n {\n name: '🔐 UI + Auth - With UI components and authentication',\n value: 'ui-auth',\n },\n {\n name: '💳 UI + Auth + Payments - Full SaaS with payments integration',\n value: 'ui-auth-payments',\n },\n {\n name: '🎵 Audio Player App - Full SaaS with audio streaming features',\n value: 'ui-auth-payments-audio',\n },\n {\n name: '🎬 Video Player App - Full SaaS with video streaming features',\n value: 'ui-auth-payments-video',\n },\n { name: '📊 Dashboard - Admin dashboard with analytics', value: 'dashboard' },\n { name: '💼 SaaS - Multi-tenant SaaS application', value: 'saas' },\n ];\n } else if (answers.platform === 'mobile') {\n return [\n { name: '📱 Base - Simple mobile app', value: 'base' },\n { name: '📑 Tabs - Tab navigation', value: 'tabs' },\n { name: '📚 Stack - Stack navigation', value: 'stack' },\n ];\n } else {\n return [{ name: '🚀 Base - Web + Mobile starter', value: 'base' }];\n }\n },\n default: initialConfig.template,\n },\n {\n type: 'list',\n name: 'auth',\n message: 'Select authentication provider:',\n choices: [\n { name: \"🔥 Firebase - Google's platform\", value: 'firebase' },\n { name: '⚡ Supabase - Open source alternative', value: 'supabase' },\n ],\n default: initialConfig.auth,\n },\n {\n type: 'list',\n name: 'database',\n message: 'Select database provider:',\n choices: (answers: any) => {\n // Smart defaults based on auth choice\n const choices = [\n { name: '⚡ Supabase - PostgreSQL with real-time', value: 'supabase' },\n { name: '🔥 Firebase - NoSQL with real-time', value: 'firebase' },\n ];\n\n // Suggest matching auth provider\n if (answers.auth === 'firebase') {\n return choices.reverse();\n }\n\n return choices;\n },\n default: (answers: any) => {\n // Auto-match auth provider if possible\n return answers.auth === 'firebase' ? 'firebase' : 'supabase';\n },\n },\n {\n type: 'list',\n name: 'theme',\n message: 'Select theme:',\n choices: [\n { name: '🎨 Default - Clean and modern', value: 'default' },\n { name: '🏢 Corporate - Professional business theme', value: 'corporate' },\n { name: '🚀 Startup - Bold and innovative', value: 'startup' },\n ],\n default: initialConfig.theme,\n },\n {\n type: 'confirm',\n name: 'install',\n message: 'Install dependencies?',\n default: initialConfig.install,\n },\n {\n type: 'confirm',\n name: 'git',\n message: 'Initialize git repository?',\n default: initialConfig.git,\n },\n ];\n\n const answers = await inquirer.prompt(questions);\n\n return {\n ...initialConfig,\n ...answers,\n };\n}\n\nexport async function getAuthSetupPrompts(authProvider: string) {\n logger.title(`🔐 ${authProvider} Configuration`);\n\n if (authProvider === 'firebase') {\n const questions = [\n {\n type: 'input',\n name: 'projectId',\n message: 'Firebase Project ID:',\n validate: (input: string) => input.length > 0 || 'Project ID is required',\n },\n {\n type: 'input',\n name: 'apiKey',\n message: 'Firebase API Key:',\n validate: (input: string) => input.length > 0 || 'API Key is required',\n },\n {\n type: 'input',\n name: 'authDomain',\n message: 'Firebase Auth Domain:',\n validate: (input: string) => input.length > 0 || 'Auth Domain is required',\n },\n ];\n\n return await inquirer.prompt(questions);\n } else if (authProvider === 'supabase') {\n const questions = [\n {\n type: 'input',\n name: 'url',\n message: 'Supabase URL:',\n validate: (input: string) => {\n if (!input.length) return 'URL is required';\n if (!input.startsWith('https://')) return 'URL must start with https://';\n return true;\n },\n },\n {\n type: 'input',\n name: 'anonKey',\n message: 'Supabase Anon Key:',\n validate: (input: string) => input.length > 0 || 'Anon Key is required',\n },\n ];\n\n return await inquirer.prompt(questions);\n }\n\n return {};\n}\n\nexport async function getThemeCustomizationPrompts(theme: string) {\n logger.title(`🎨 ${theme} Theme Customization`);\n\n const questions = [\n {\n type: 'input',\n name: 'primaryColor',\n message: 'Primary color (hex):',\n default: theme === 'corporate' ? '#1e40af' : theme === 'startup' ? '#7c3aed' : '#3b82f6',\n validate: (input: string) => {\n if (!/^#[0-9A-F]{6}$/i.test(input)) {\n return 'Please enter a valid hex color (e.g., #3b82f6)';\n }\n return true;\n },\n },\n {\n type: 'input',\n name: 'fontFamily',\n message: 'Font family:',\n default: theme === 'corporate' ? 'Inter' : theme === 'startup' ? 'Poppins' : 'System UI',\n },\n {\n type: 'confirm',\n name: 'darkMode',\n message: 'Enable dark mode support?',\n default: true,\n },\n ];\n\n return await inquirer.prompt(questions);\n}\n","import path from 'path';\nimport fs from 'fs-extra';\nimport mustache from 'mustache';\nimport { glob } from 'glob';\nimport { ProjectConfig } from '../cli/commands/create';\nimport { logger } from '../cli/utils/logger';\n\nexport interface TemplateContext {\n projectName: string;\n platform: string;\n template: string;\n auth: string;\n database: string;\n theme: string;\n packageName: string;\n className: string;\n camelCaseName: string;\n kebabCaseName: string;\n titleCaseName: string;\n description: string;\n author: string;\n year: number;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n scripts: Record<string, string>;\n}\n\nexport class TemplateGenerator {\n private config: ProjectConfig;\n private context: TemplateContext;\n private templatesDir: string;\n\n constructor(config: ProjectConfig) {\n this.config = config;\n // Check if we're in development (src) or production (dist)\n const isDev = __dirname.includes('/src/');\n this.templatesDir = isDev\n ? path.join(__dirname, '..', 'templates')\n : path.join(__dirname, 'templates');\n this.context = this.createTemplateContext();\n }\n\n private createTemplateContext(): TemplateContext {\n const projectName = this.config.name;\n const packageName = projectName.toLowerCase().replace(/[^a-z0-9-]/g, '-');\n const className = this.toPascalCase(projectName);\n const camelCaseName = this.toCamelCase(projectName);\n const kebabCaseName = packageName;\n const titleCaseName = this.toTitleCase(projectName);\n\n return {\n projectName,\n platform: this.config.platform,\n template: this.config.template,\n auth: this.config.auth,\n database: this.config.database,\n theme: this.config.theme,\n packageName,\n className,\n camelCaseName,\n kebabCaseName,\n titleCaseName,\n description: `A modern SaaS application built with Digi Logic Labs`,\n author: 'Digi Logic Labs',\n year: new Date().getFullYear(),\n dependencies: this.getDependencies(),\n devDependencies: this.getDevDependencies(),\n scripts: this.getScripts(),\n };\n }\n\n private getDependencies(): Record<string, string> {\n const baseDeps: Record<string, string> = {};\n\n // Add UI package for ui-only, ui-auth, ui-auth-payments, and media player templates\n if (\n [\n 'ui-only',\n 'ui-auth',\n 'ui-auth-payments',\n 'ui-auth-payments-audio',\n 'ui-auth-payments-video',\n ].includes(this.config.template)\n ) {\n baseDeps['@digilogiclabs/saas-factory-ui'] = '^0.11.1';\n }\n\n // Add auth package for auth-enabled templates\n if (\n ['ui-auth', 'ui-auth-payments', 'ui-auth-payments-audio', 'ui-auth-payments-video'].includes(\n this.config.template\n )\n ) {\n baseDeps['@digilogiclabs/saas-factory-auth'] = '^1.0.0';\n }\n\n // Add payments package for payment-enabled templates\n if (\n ['ui-auth-payments', 'ui-auth-payments-audio', 'ui-auth-payments-video'].includes(\n this.config.template\n )\n ) {\n baseDeps['@digilogiclabs/saas-factory-payments'] = '^1.0.0';\n }\n\n if (this.config.platform === 'web' || this.config.platform === 'both') {\n Object.assign(baseDeps, {\n next: '^15.0.0',\n react: '^19.0.0',\n 'react-dom': '^19.0.0',\n tailwindcss: '^3.3.0',\n typescript: '^5.0.0',\n clsx: '^2.0.0',\n 'class-variance-authority': '^0.7.0',\n 'tailwind-merge': '^2.0.0',\n 'next-themes': '^0.2.1',\n 'lucide-react': '^0.292.0',\n autoprefixer: '^10.4.16',\n postcss: '^8.4.31',\n });\n }\n\n if (this.config.platform === 'mobile' || this.config.platform === 'both') {\n Object.assign(baseDeps, {\n expo: '~49.0.0',\n 'react-native': '0.72.0',\n '@expo/vector-icons': '^13.0.0',\n });\n }\n\n if (this.config.auth === 'firebase') {\n baseDeps['firebase'] = '^10.0.0';\n } else if (this.config.auth === 'supabase') {\n baseDeps['@supabase/supabase-js'] = '^2.0.0';\n }\n\n return baseDeps;\n }\n\n private getDevDependencies(): Record<string, string> {\n const baseDeps = {\n '@types/node': '^20.0.0',\n eslint: '^8.0.0',\n prettier: '^3.0.0',\n };\n\n if (this.config.platform === 'web' || this.config.platform === 'both') {\n Object.assign(baseDeps, {\n '@types/react': '^18.0.0',\n '@types/react-dom': '^18.0.0',\n autoprefixer: '^10.0.0',\n postcss: '^8.0.0',\n });\n }\n\n return baseDeps;\n }\n\n private getScripts(): Record<string, string> {\n const scripts: Record<string, string> = {};\n\n if (this.config.platform === 'web' || this.config.platform === 'both') {\n Object.assign(scripts, {\n dev: 'next dev',\n build: 'next build',\n start: 'next start',\n lint: 'next lint',\n });\n }\n\n if (this.config.platform === 'mobile' || this.config.platform === 'both') {\n Object.assign(scripts, {\n start: 'expo start',\n android: 'expo start --android',\n ios: 'expo start --ios',\n web: 'expo start --web',\n });\n }\n\n return scripts;\n }\n\n public async generate(outputPath: string): Promise<void> {\n try {\n // Ensure output directory exists\n await fs.ensureDir(outputPath);\n\n // Generate based on platform\n if (this.config.platform === 'web') {\n await this.generateWebProject(outputPath);\n } else if (this.config.platform === 'mobile') {\n await this.generateMobileProject(outputPath);\n } else if (this.config.platform === 'both') {\n await this.generateWebProject(outputPath);\n await this.generateMobileProject(path.join(outputPath, 'mobile'));\n }\n\n // Copy shared resources\n await this.copySharedResources(outputPath);\n\n logger.debug('Template generation completed');\n } catch (error) {\n logger.error('Template generation failed:', error);\n throw error;\n }\n }\n\n private async generateWebProject(outputPath: string): Promise<void> {\n const templatePath = path.join(this.templatesDir, 'web', this.config.template);\n await this.copyTemplate(templatePath, outputPath);\n }\n\n private async generateMobileProject(outputPath: string): Promise<void> {\n const templatePath = path.join(this.templatesDir, 'mobile', this.config.template);\n await this.copyTemplate(templatePath, outputPath);\n }\n\n private async copyTemplate(templatePath: string, outputPath: string): Promise<void> {\n const templateDir = path.join(templatePath, 'template');\n\n if (!(await fs.pathExists(templateDir))) {\n throw new Error(`Template not found: ${templateDir}`);\n }\n await this.copyAndProcessFiles(templateDir, outputPath);\n }\n\n private async copyAndProcessFiles(sourceDir: string, targetDir: string): Promise<void> {\n if (!(await fs.pathExists(sourceDir))) {\n logger.debug(`Template source directory not found: ${sourceDir}`);\n return;\n }\n\n const files = await glob('**/*', {\n cwd: sourceDir,\n dot: true,\n nodir: true,\n });\n\n for (const file of files) {\n const sourcePath = path.join(sourceDir, file);\n const targetPath = path.join(targetDir, file);\n\n await fs.ensureDir(path.dirname(targetPath));\n\n const content = await fs.readFile(sourcePath, 'utf-8');\n\n if (this.isTextFile(file)) {\n const processedContent = mustache.render(content, this.context);\n await fs.writeFile(targetPath, processedContent);\n } else {\n await fs.copy(sourcePath, targetPath);\n }\n }\n }\n\n private async copySharedResources(outputPath: string): Promise<void> {\n // Skip copying shared resources for UI-only templates\n if (this.config.template === 'ui-only') {\n logger.debug('Skipping shared resources for UI-only template');\n return;\n }\n\n const sharedPath = path.join(this.templatesDir, 'shared');\n\n // Copy auth configuration\n const authPath = path.join(sharedPath, 'auth', this.config.auth);\n await this.copyAndProcessFiles(authPath, outputPath);\n\n // Copy theme configuration\n const themePath = path.join(sharedPath, 'themes', this.config.theme);\n await this.copyAndProcessFiles(themePath, outputPath);\n\n // Copy database configuration\n const dbPath = path.join(sharedPath, 'database', this.config.database);\n await this.copyAndProcessFiles(dbPath, outputPath);\n }\n\n private isTextFile(filename: string): boolean {\n const textExtensions = [\n '.js',\n '.jsx',\n '.ts',\n '.tsx',\n '.json',\n '.md',\n '.txt',\n '.yml',\n '.yaml',\n '.xml',\n '.html',\n '.css',\n '.scss',\n '.sass',\n '.less',\n '.env',\n '.gitignore',\n '.eslintrc',\n '.prettierrc',\n '.editorconfig',\n '.nvmrc',\n ];\n\n const ext = path.extname(filename).toLowerCase();\n return textExtensions.includes(ext) || !ext;\n }\n\n private toPascalCase(str: string): string {\n return str\n .replace(/[^a-zA-Z0-9]/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('');\n }\n\n private toCamelCase(str: string): string {\n const pascal = this.toPascalCase(str);\n return pascal.charAt(0).toLowerCase() + pascal.slice(1);\n }\n\n private toTitleCase(str: string): string {\n return str\n .replace(/[^a-zA-Z0-9]/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n }\n}\n","import path from 'path';\nimport fs from 'fs-extra';\nimport execa from 'execa';\nimport {\n detectPackageManager,\n getInstallCommand,\n isPackageManagerAvailable,\n} from '../cli/utils/package-manager';\nimport { logger } from '../cli/utils/logger';\n\nexport class PackageInstaller {\n private projectPath: string;\n\n constructor(projectPath: string) {\n this.projectPath = projectPath;\n }\n\n public async install(): Promise<void> {\n try {\n // Check if package.json exists\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n if (!(await fs.pathExists(packageJsonPath))) {\n throw new Error('package.json not found in project directory');\n }\n\n // Detect package manager\n const packageManager = await detectPackageManager(this.projectPath);\n\n // Verify package manager is available\n if (!(await isPackageManagerAvailable(packageManager))) {\n throw new Error(`Package manager \"${packageManager}\" is not available`);\n }\n\n logger.debug(`Installing dependencies with ${packageManager}...`);\n\n // Get install command\n const command = await getInstallCommand(packageManager);\n\n // Run installation\n await execa(command[0], command.slice(1), {\n cwd: this.projectPath,\n stdio: 'pipe',\n });\n\n logger.debug('Dependencies installed successfully');\n } catch (error) {\n logger.error('Package installation failed:', error);\n throw error;\n }\n }\n\n public async installDependencies(dependencies: string[], dev = false): Promise<void> {\n try {\n if (dependencies.length === 0) {\n return;\n }\n\n const packageManager = await detectPackageManager(this.projectPath);\n\n if (!(await isPackageManagerAvailable(packageManager))) {\n throw new Error(`Package manager \"${packageManager}\" is not available`);\n }\n\n logger.debug(`Installing ${dev ? 'dev ' : ''}dependencies: ${dependencies.join(', ')}`);\n\n // Get add command\n const command =\n packageManager === 'yarn'\n ? ['yarn', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n : packageManager === 'pnpm'\n ? ['pnpm', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n : ['npm', 'install', ...(dev ? ['--save-dev'] : []), ...dependencies];\n\n // Run installation\n await execa(command[0], command.slice(1), {\n cwd: this.projectPath,\n stdio: 'pipe',\n });\n\n logger.debug(`${dev ? 'Dev d' : 'D'}ependencies installed successfully`);\n } catch (error) {\n logger.error(`Failed to install ${dev ? 'dev ' : ''}dependencies:`, error);\n throw error;\n }\n }\n\n public async updatePackageJson(\n updates: Partial<{\n name: string;\n version: string;\n description: string;\n author: string;\n license: string;\n scripts: Record<string, string>;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n keywords: string[];\n repository: any;\n bugs: any;\n homepage: string;\n }>\n ): Promise<void> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n\n if (!(await fs.pathExists(packageJsonPath))) {\n throw new Error('package.json not found');\n }\n\n const packageJson = await fs.readJson(packageJsonPath);\n const updatedPackageJson = { ...packageJson, ...updates };\n\n await fs.writeJson(packageJsonPath, updatedPackageJson, { spaces: 2 });\n\n logger.debug('package.json updated successfully');\n } catch (error) {\n logger.error('Failed to update package.json:', error);\n throw error;\n }\n }\n\n public async addScript(name: string, command: string): Promise<void> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n if (!packageJson.scripts) {\n packageJson.scripts = {};\n }\n\n packageJson.scripts[name] = command;\n\n await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });\n\n logger.debug(`Script \"${name}\" added to package.json`);\n } catch (error) {\n logger.error(`Failed to add script \"${name}\":`, error);\n throw error;\n }\n }\n\n public async removeScript(name: string): Promise<void> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n if (packageJson.scripts && packageJson.scripts[name]) {\n delete packageJson.scripts[name];\n await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });\n logger.debug(`Script \"${name}\" removed from package.json`);\n }\n } catch (error) {\n logger.error(`Failed to remove script \"${name}\":`, error);\n throw error;\n }\n }\n\n public async getDependencies(): Promise<{\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n }> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n return {\n dependencies: packageJson.dependencies || {},\n devDependencies: packageJson.devDependencies || {},\n };\n } catch (error) {\n logger.error('Failed to read dependencies:', error);\n return { dependencies: {}, devDependencies: {} };\n }\n }\n\n public async hasLockFile(): Promise<boolean> {\n const lockFiles = ['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'];\n\n for (const lockFile of lockFiles) {\n if (await fs.pathExists(path.join(this.projectPath, lockFile))) {\n return true;\n }\n }\n\n return false;\n }\n\n public async cleanInstall(): Promise<void> {\n try {\n // Remove node_modules and lock files\n const nodeModulesPath = path.join(this.projectPath, 'node_modules');\n const lockFiles = ['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'];\n\n if (await fs.pathExists(nodeModulesPath)) {\n await fs.remove(nodeModulesPath);\n }\n\n for (const lockFile of lockFiles) {\n const lockPath = path.join(this.projectPath, lockFile);\n if (await fs.pathExists(lockPath)) {\n await fs.remove(lockPath);\n }\n }\n\n // Fresh install\n await this.install();\n\n logger.debug('Clean install completed');\n } catch (error) {\n logger.error('Clean install failed:', error);\n throw error;\n }\n }\n}\n","import execa from 'execa';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nexport type PackageManager = 'npm' | 'yarn' | 'pnpm';\n\nexport async function detectPackageManager(projectPath?: string): Promise<PackageManager> {\n const cwd = projectPath || process.cwd();\n\n // Check for lock files\n const lockFiles = [\n { file: 'pnpm-lock.yaml', manager: 'pnpm' as PackageManager },\n { file: 'yarn.lock', manager: 'yarn' as PackageManager },\n { file: 'package-lock.json', manager: 'npm' as PackageManager },\n ];\n\n for (const { file, manager } of lockFiles) {\n if (await fs.pathExists(path.join(cwd, file))) {\n return manager;\n }\n }\n\n // Check for package manager availability\n const managers: PackageManager[] = ['pnpm', 'yarn', 'npm'];\n\n for (const manager of managers) {\n try {\n await execa(manager, ['--version']);\n return manager;\n } catch {\n // Continue to next manager\n }\n }\n\n // Default to npm\n return 'npm';\n}\n\nexport async function getInstallCommand(packageManager: PackageManager): Promise<string[]> {\n switch (packageManager) {\n case 'yarn':\n return ['yarn', 'install'];\n case 'pnpm':\n return ['pnpm', 'install'];\n default:\n return ['npm', 'install'];\n }\n}\n\nexport async function getAddCommand(\n packageManager: PackageManager,\n packages: string[],\n dev = false\n): Promise<string[]> {\n const devFlag = dev ? (packageManager === 'npm' ? '--save-dev' : '-D') : '';\n\n switch (packageManager) {\n case 'yarn':\n return ['yarn', 'add', ...(dev ? ['-D'] : []), ...packages];\n case 'pnpm':\n return ['pnpm', 'add', ...(dev ? ['-D'] : []), ...packages];\n default:\n return ['npm', 'install', ...(devFlag ? [devFlag] : []), ...packages];\n }\n}\n\nexport async function getRunCommand(\n packageManager: PackageManager,\n script: string\n): Promise<string[]> {\n switch (packageManager) {\n case 'yarn':\n return ['yarn', script];\n case 'pnpm':\n return ['pnpm', script];\n default:\n return ['npm', 'run', script];\n }\n}\n\nexport async function isPackageManagerAvailable(packageManager: PackageManager): Promise<boolean> {\n try {\n await execa(packageManager, ['--version']);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function getPackageManagerDisplayName(packageManager: PackageManager): string {\n switch (packageManager) {\n case 'yarn':\n return 'Yarn';\n case 'pnpm':\n return 'pnpm';\n default:\n return 'npm';\n }\n}\n","import execa from 'execa';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport { logger } from './logger';\n\nexport async function initializeGit(projectPath: string): Promise<void> {\n try {\n // Check if git is available\n await execa('git', ['--version']);\n\n // Initialize git repository\n await execa('git', ['init'], { cwd: projectPath });\n\n // Add all files\n await execa('git', ['add', '.'], { cwd: projectPath });\n\n // Create initial commit\n await execa('git', ['commit', '-m', 'Initial commit from @digilogiclabs/create-saas-app'], {\n cwd: projectPath,\n });\n\n logger.debug('Git repository initialized successfully');\n } catch (error) {\n logger.warn('Git initialization failed. You can initialize it manually later.');\n logger.debug('Git error:', error);\n }\n}\n\nexport async function isGitRepository(projectPath: string): Promise<boolean> {\n try {\n const gitDir = path.join(projectPath, '.git');\n return await fs.pathExists(gitDir);\n } catch {\n return false;\n }\n}\n\nexport async function getGitUserInfo(): Promise<{ name?: string; email?: string }> {\n try {\n const [nameResult, emailResult] = await Promise.allSettled([\n execa('git', ['config', '--global', 'user.name']),\n execa('git', ['config', '--global', 'user.email']),\n ]);\n\n return {\n name: nameResult.status === 'fulfilled' ? nameResult.value.stdout : undefined,\n email: emailResult.status === 'fulfilled' ? emailResult.value.stdout : undefined,\n };\n } catch {\n return {};\n }\n}\n\nexport async function hasGitChanges(projectPath: string): Promise<boolean> {\n try {\n const result = await execa('git', ['status', '--porcelain'], { cwd: projectPath });\n return result.stdout.trim().length > 0;\n } catch {\n return false;\n }\n}\n\nexport async function commitChanges(projectPath: string, message: string): Promise<void> {\n try {\n await execa('git', ['add', '.'], { cwd: projectPath });\n await execa('git', ['commit', '-m', message], { cwd: projectPath });\n } catch (error) {\n logger.warn('Failed to commit changes');\n logger.debug('Git commit error:', error);\n }\n}\n","import { logger } from '../utils/logger';\nimport { spinner } from '../utils/spinner';\n\ninterface AddOptions {\n provider?: string;\n}\n\nexport async function addFeature(feature: string, _options: AddOptions = {}) {\n try {\n logger.title(`Adding ${feature} feature`);\n\n const validFeatures = [\n 'auth',\n 'billing',\n 'analytics',\n 'teams',\n 'notifications',\n 'admin',\n 'api',\n 'docs',\n ];\n\n if (!validFeatures.includes(feature)) {\n logger.error(`Invalid feature: ${feature}`);\n logger.info('Available features:');\n logger.list(validFeatures);\n process.exit(1);\n }\n\n const addSpinner = spinner(`Adding ${feature} feature...`);\n\n // Simulate feature addition (placeholder for now)\n await new Promise((resolve) => setTimeout(resolve, 2000));\n\n addSpinner.succeed(`${feature} feature added successfully`);\n\n logger.newLine();\n logger.success('Feature added successfully!');\n logger.info(\"Don't forget to update your environment variables if needed.\");\n } catch (error) {\n logger.error('Failed to add feature:');\n logger.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n","import { logger } from '../utils/logger';\nimport { spinner } from '../utils/spinner';\nimport { detectPackageManager, getAddCommand } from '../utils/package-manager';\nimport execa from 'execa';\n\ninterface UpdateOptions {\n check?: boolean;\n}\n\nconst DIGILOGIC_PACKAGES = [\n '@digilogiclabs/saas-factory-ui',\n '@digilogiclabs/saas-factory-auth',\n '@digilogiclabs/saas-factory-billing',\n '@digilogiclabs/saas-factory-analytics',\n];\n\nexport async function updateDependencies(options: UpdateOptions = {}) {\n try {\n logger.title('Updating Digi Logic Labs dependencies');\n\n const packageManager = await detectPackageManager();\n logger.info(`Using package manager: ${packageManager}`);\n\n if (options.check) {\n const checkSpinner = spinner('Checking for updates...');\n\n // Check for outdated packages\n try {\n const result = await execa(packageManager, ['outdated', ...DIGILOGIC_PACKAGES], {\n reject: false,\n });\n\n checkSpinner.succeed('Update check completed');\n\n if (result.stdout) {\n logger.info('Available updates:');\n logger.log(result.stdout);\n } else {\n logger.success('All Digi Logic Labs packages are up to date!');\n }\n } catch (error) {\n checkSpinner.fail('Failed to check for updates');\n throw error;\n }\n } else {\n const updateSpinner = spinner('Updating packages...');\n\n try {\n // Update packages\n const command = await getAddCommand(packageManager, DIGILOGIC_PACKAGES);\n await execa(command[0], command.slice(1), {\n stdio: 'inherit',\n });\n\n updateSpinner.succeed('Packages updated successfully');\n\n logger.newLine();\n logger.success('All Digi Logic Labs packages have been updated!');\n logger.info(\"Don't forget to test your application after updating.\");\n } catch (error) {\n updateSpinner.fail('Failed to update packages');\n throw error;\n }\n }\n } catch (error) {\n logger.error('Failed to update dependencies:');\n logger.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n","{\r\n \"name\": \"@digilogiclabs/create-saas-app\",\r\n \"version\": \"1.3.0\",\r\n \"description\": \"Create modern SaaS applications with Digi Logic Labs packages\",\r\n \"main\": \"dist/index.js\",\r\n \"bin\": {\r\n \"create-saas-app\": \"bin/index.js\"\r\n },\r\n \"scripts\": {\r\n \"build\": \"tsup\",\r\n \"dev\": \"tsup --watch\",\r\n \"test\": \"jest\",\r\n \"test:templates\": \"tsx scripts/test-all-templates.ts\",\r\n \"lint\": \"eslint src\",\r\n \"lint:fix\": \"eslint src --fix\",\r\n \"type-check\": \"tsc --noEmit\",\r\n \"validate\": \"tsx scripts/validate-templates.ts\",\r\n \"changeset\": \"changeset\",\r\n \"version\": \"changeset version\",\r\n \"release\": \"npm run build && changeset publish\",\r\n \"prepublishOnly\": \"npm run build && npm run lint && npm run type-check\"\r\n },\r\n \"keywords\": [\r\n \"cli\",\r\n \"saas\",\r\n \"template\",\r\n \"nextjs\",\r\n \"react-native\",\r\n \"expo\",\r\n \"typescript\",\r\n \"tailwind\",\r\n \"firebase\",\r\n \"supabase\",\r\n \"digilogiclabs\"\r\n ],\r\n \"author\": \"Digi Logic Labs\",\r\n \"license\": \"MIT\",\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"git+https://github.com/DigiLogicLabs/create-saas-app.git\"\r\n },\r\n \"bugs\": {\r\n \"url\": \"https://github.com/DigiLogicLabs/create-saas-app/issues\"\r\n },\r\n \"homepage\": \"https://github.com/DigiLogicLabs/create-saas-app#readme\",\r\n \"files\": [\r\n \"dist\",\r\n \"bin\",\r\n \"src/templates\",\r\n \"README.md\",\r\n \"CHANGELOG.md\",\r\n \"LICENSE\"\r\n ],\r\n \"engines\": {\r\n \"node\": \">=18.0.0\"\r\n },\r\n \"dependencies\": {\r\n \"chalk\": \"^4.1.2\",\r\n \"commander\": \"^11.1.0\",\r\n \"cosmiconfig\": \"^8.3.6\",\r\n \"execa\": \"^5.1.1\",\r\n \"fs-extra\": \"^11.1.1\",\r\n \"glob\": \"^10.3.10\",\r\n \"inquirer\": \"^9.2.12\",\r\n \"listr2\": \"^7.0.2\",\r\n \"mustache\": \"^4.2.0\",\r\n \"ora\": \"^5.4.1\",\r\n \"semver\": \"^7.5.4\",\r\n \"validate-npm-package-name\": \"^5.0.0\",\r\n \"zod\": \"^3.22.4\"\r\n },\r\n \"devDependencies\": {\r\n \"@changesets/cli\": \"^2.26.2\",\r\n \"@supabase/supabase-js\": \"^2.39.2\",\r\n \"@types/fs-extra\": \"^11.0.4\",\r\n \"@types/inquirer\": \"^9.0.7\",\r\n \"@types/jest\": \"^29.5.6\",\r\n \"@types/mustache\": \"^4.2.5\",\r\n \"@types/node\": \"^20.8.7\",\r\n \"@types/semver\": \"^7.5.4\",\r\n \"@types/validate-npm-package-name\": \"^4.0.2\",\r\n \"eslint\": \"^8.57.1\",\r\n \"eslint-config-prettier\": \"^9.1.2\",\r\n \"eslint-plugin-prettier\": \"^5.5.4\",\r\n \"firebase\": \"^10.7.1\",\r\n \"globals\": \"^16.3.0\",\r\n \"jest\": \"^29.7.0\",\r\n \"prettier\": \"^3.0.3\",\r\n \"ts-jest\": \"^29.1.1\",\r\n \"tsup\": \"^7.2.0\",\r\n \"tsx\": \"^3.14.0\",\r\n \"typescript\": \"^5.2.2\",\r\n \"typescript-eslint\": \"^8.40.0\"\r\n },\r\n \"peerDependencies\": {\r\n \"typescript\": \">=4.9.0\"\r\n },\r\n \"publishConfig\": {\r\n \"access\": \"public\"\r\n },\r\n \"directories\": {\r\n \"doc\": \"docs\",\r\n \"test\": \"tests\"\r\n }\r\n}\r\n"],"mappings":"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","names":["import_path","chalk","import_chalk","ora","chalk","validateNpmPackageName","fs","path","semver","answers","inquirer","import_path","import_fs_extra","path","fs","mustache","import_path","import_fs_extra","import_execa","import_execa","import_fs_extra","import_path","fs","path","execa","execa","path","fs","execa","import_execa","import_fs_extra","execa","path","import_execa","execa"]}
1
+ {"version":3,"sources":["../src/cli/index.ts","../src/cli/commands/create.ts","../src/cli/utils/logger.ts","../src/cli/utils/spinner.ts","../src/cli/validators/project-name.ts","../src/cli/validators/dependencies.ts","../src/cli/prompts/project-setup.ts","../src/generators/template-generator.ts","../src/generators/package-installer.ts","../src/cli/utils/package-manager.ts","../src/cli/utils/git.ts","../src/cli/commands/add.ts","../src/cli/commands/update.ts","../package.json"],"sourcesContent":["import { Command } from 'commander';\nimport { createProject } from './commands/create';\nimport { addFeature } from './commands/add';\nimport { updateDependencies } from './commands/update';\nimport { logger } from './utils/logger';\nimport packageJson from '../../package.json';\n\nconst program = new Command();\n\nprogram\n .name('create-saas-app')\n .description('Create modern SaaS applications with Digi Logic Labs packages')\n .version(packageJson.version);\n\nprogram\n .command('create')\n .alias('c')\n .description('Create a new SaaS application')\n .argument('<platform>', 'Platform: web, mobile, or both')\n .argument('[template]', 'Template: base, dashboard, saas (web) | base, tabs, stack (mobile)')\n .argument('[name]', 'Project name')\n .option('-a, --auth <provider>', 'Auth provider: firebase, supabase')\n .option('-d, --database <provider>', 'Database provider: supabase, firebase')\n .option('-t, --theme <theme>', 'Theme: default, corporate, startup')\n .option('--no-install', 'Skip package installation')\n .option('--no-git', 'Skip git initialization')\n .option('-y, --yes', 'Skip interactive prompts')\n .action(createProject);\n\nprogram\n .command('add')\n .alias('a')\n .description('Add features to existing project')\n .argument('<feature>', 'Feature to add: auth, billing, analytics, etc.')\n .option('-p, --provider <provider>', 'Service provider')\n .action(addFeature);\n\nprogram\n .command('update')\n .alias('u')\n .description('Update Digi Logic Labs dependencies')\n .option('--check', 'Check for updates without installing')\n .action(updateDependencies);\n\n// Handle unknown commands\nprogram.on('command:*', () => {\n logger.error(`Unknown command: ${program.args.join(' ')}`);\n logger.info('Run \"create-saas-app --help\" for available commands');\n process.exit(1);\n});\n\n// Show help if no arguments provided\nif (!process.argv.slice(2).length) {\n program.outputHelp();\n process.exit(0);\n}\n\nprogram.parse();\n\nexport default program;\n","import path from 'path';\nimport { logger } from '../utils/logger';\nimport { spinner } from '../utils/spinner';\nimport { validateProjectName, validateProjectPath } from '../validators/project-name';\nimport { validateNodeVersion } from '../validators/dependencies';\nimport { getProjectPrompts } from '../prompts/project-setup';\nimport { TemplateGenerator } from '../../generators/template-generator';\nimport { PackageInstaller } from '../../generators/package-installer';\nimport { initializeGit } from '../utils/git';\n\ninterface CreateOptions {\n auth?: string;\n database?: string;\n theme?: string;\n install?: boolean;\n git?: boolean;\n yes?: boolean;\n}\n\nexport interface ProjectConfig {\n platform: 'web' | 'mobile' | 'both';\n template: string;\n name: string;\n auth: 'firebase' | 'supabase';\n database: 'supabase' | 'firebase';\n theme: 'default' | 'corporate' | 'startup';\n install: boolean;\n git: boolean;\n}\n\nexport async function createProject(\n platform: string,\n template?: string,\n name?: string,\n options: CreateOptions = {}\n) {\n try {\n // Validate Node.js version\n if (!(await validateNodeVersion())) {\n process.exit(1);\n }\n\n // Validate platform\n const validPlatforms = ['web', 'mobile', 'both'];\n if (!validPlatforms.includes(platform)) {\n logger.error(`Invalid platform: ${platform}. Must be one of: ${validPlatforms.join(', ')}`);\n process.exit(1);\n }\n\n // Set up initial configuration\n let config: ProjectConfig = {\n platform: platform as 'web' | 'mobile' | 'both',\n template: template || 'base',\n name: name || 'my-saas-app',\n auth: (options.auth as 'firebase' | 'supabase') || 'supabase',\n database: (options.database as 'supabase' | 'firebase') || 'supabase',\n theme: (options.theme as 'default' | 'corporate' | 'startup') || 'default',\n install: options.install !== false,\n git: options.git !== false,\n };\n\n // Interactive prompts if not in yes mode\n if (!options.yes) {\n config = await getProjectPrompts(config);\n }\n\n // Validate project name\n if (!validateProjectName(config.name)) {\n process.exit(1);\n }\n\n const projectPath = path.resolve(process.cwd(), config.name);\n\n // Validate project path\n if (!(await validateProjectPath(projectPath))) {\n process.exit(1);\n }\n\n // Display configuration\n logger.title('🚀 Creating your SaaS application');\n logger.info(`Platform: ${config.platform}`);\n logger.info(`Template: ${config.template}`);\n logger.info(`Project: ${config.name}`);\n logger.info(`Auth: ${config.auth}`);\n logger.info(`Database: ${config.database}`);\n logger.info(`Theme: ${config.theme}`);\n logger.newLine();\n\n // Generate project structure\n const templateSpinner = spinner('Generating project structure...');\n try {\n const generator = new TemplateGenerator(config);\n await generator.generate(projectPath);\n templateSpinner.succeed('Project structure created');\n } catch (_error) {\n templateSpinner.fail('Failed to generate project structure');\n throw _error;\n }\n\n // Install dependencies\n if (config.install) {\n const installSpinner = spinner('Installing dependencies...');\n try {\n const installer = new PackageInstaller(projectPath);\n await installer.install();\n installSpinner.succeed('Dependencies installed');\n } catch (_error) {\n installSpinner.fail('Failed to install dependencies');\n logger.warn('You can install dependencies manually by running:');\n logger.code(`cd ${config.name} && npm install`);\n }\n }\n\n // Initialize git repository\n if (config.git) {\n const gitSpinner = spinner('Initializing git repository...');\n try {\n await initializeGit(projectPath);\n gitSpinner.succeed('Git repository initialized');\n } catch (_error) {\n gitSpinner.fail('Failed to initialize git repository');\n logger.warn('You can initialize git manually by running:');\n logger.code(`cd ${config.name} && git init`);\n }\n }\n\n // Success message with next steps\n logger.newLine();\n logger.success('🎉 Project created successfully!');\n logger.newLine();\n\n logger.title('Next steps:');\n logger.code(`cd ${config.name}`);\n\n if (!config.install) {\n logger.code('npm install');\n }\n\n if (config.platform === 'web' || config.platform === 'both') {\n logger.code('npm run dev');\n logger.info('Open http://localhost:3000 in your browser');\n }\n\n if (config.platform === 'mobile' || config.platform === 'both') {\n logger.code('npx expo start');\n logger.info('Scan QR code with Expo Go app');\n }\n\n logger.newLine();\n logger.info('📚 Documentation: https://docs.digilogiclabs.com');\n logger.info('💬 Support: https://discord.gg/digilogiclabs');\n } catch (error) {\n logger.error('Failed to create project:');\n logger.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n","import chalk from 'chalk';\n\nexport const logger = {\n info: (message: string, ...args: any[]) => {\n console.log(chalk.blue('ℹ'), message, ...args);\n },\n\n success: (message: string, ...args: any[]) => {\n console.log(chalk.green('✓'), message, ...args);\n },\n\n warn: (message: string, ...args: any[]) => {\n console.log(chalk.yellow('⚠'), message, ...args);\n },\n\n error: (message: string, ...args: any[]) => {\n console.log(chalk.red('✗'), message, ...args);\n },\n\n debug: (message: string, ...args: any[]) => {\n if (process.env.DEBUG) {\n console.log(chalk.gray('🐛'), message, ...args);\n }\n },\n\n log: (message: string, ...args: any[]) => {\n console.log(message, ...args);\n },\n\n newLine: () => {\n console.log();\n },\n\n divider: () => {\n console.log(chalk.gray('─'.repeat(50)));\n },\n\n title: (message: string) => {\n console.log();\n console.log(chalk.bold.cyan(message));\n console.log(chalk.gray('─'.repeat(message.length)));\n },\n\n step: (step: number, total: number, message: string) => {\n console.log(chalk.cyan(`[${step}/${total}]`), message);\n },\n\n highlight: (message: string) => {\n console.log(chalk.bold.magenta(message));\n },\n\n code: (code: string) => {\n console.log(chalk.gray(' ' + code));\n },\n\n list: (items: string[]) => {\n items.forEach((item) => {\n console.log(chalk.gray(' •'), item);\n });\n },\n};\n","import ora, { Ora } from 'ora';\nimport chalk from 'chalk';\n\nexport function spinner(text: string): Ora {\n return ora({\n text: chalk.gray(text),\n spinner: 'dots',\n color: 'cyan',\n }).start();\n}\n\nexport function createSpinner(text: string): Ora {\n return ora({\n text: chalk.gray(text),\n spinner: 'dots',\n color: 'cyan',\n });\n}\n\nexport function successSpinner(text: string): Ora {\n return ora({\n text: chalk.green(text),\n spinner: 'dots',\n color: 'green',\n });\n}\n\nexport function errorSpinner(text: string): Ora {\n return ora({\n text: chalk.red(text),\n spinner: 'dots',\n color: 'red',\n });\n}\n\nexport function warnSpinner(text: string): Ora {\n return ora({\n text: chalk.yellow(text),\n spinner: 'dots',\n color: 'yellow',\n });\n}\n","import validateNpmPackageName from 'validate-npm-package-name';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport { logger } from '../utils/logger';\n\nexport function validateProjectName(name: string): boolean {\n // Check if name is empty\n if (!name || name.trim().length === 0) {\n logger.error('Project name cannot be empty');\n return false;\n }\n\n // Check npm package name validity\n const validation = validateNpmPackageName(name);\n\n if (!validation.validForNewPackages) {\n logger.error('Invalid project name:');\n\n if (validation.errors) {\n validation.errors.forEach((error) => logger.error(` • ${error}`));\n }\n\n if (validation.warnings) {\n validation.warnings.forEach((warning) => logger.warn(` • ${warning}`));\n }\n\n return false;\n }\n\n // Check for reserved names\n const reservedNames = [\n 'node_modules',\n 'package.json',\n 'package-lock.json',\n 'yarn.lock',\n 'pnpm-lock.yaml',\n '.git',\n '.gitignore',\n 'README.md',\n 'LICENSE',\n 'src',\n 'dist',\n 'build',\n 'public',\n 'static',\n 'assets',\n 'components',\n 'pages',\n 'app',\n 'lib',\n 'utils',\n 'hooks',\n 'types',\n 'styles',\n 'config',\n 'test',\n 'tests',\n '__tests__',\n 'spec',\n 'specs',\n 'docs',\n 'documentation',\n ];\n\n if (reservedNames.includes(name.toLowerCase())) {\n logger.error(`Project name \"${name}\" is reserved. Please choose a different name.`);\n return false;\n }\n\n // Check for common problematic patterns\n if (name.startsWith('.')) {\n logger.error('Project name cannot start with a dot');\n return false;\n }\n\n if (name.startsWith('-')) {\n logger.error('Project name cannot start with a hyphen');\n return false;\n }\n\n if (name.endsWith('-')) {\n logger.error('Project name cannot end with a hyphen');\n return false;\n }\n\n if (name.includes('..')) {\n logger.error('Project name cannot contain consecutive dots');\n return false;\n }\n\n if (name.includes('//')) {\n logger.error('Project name cannot contain consecutive slashes');\n return false;\n }\n\n // Check length\n if (name.length > 214) {\n logger.error('Project name is too long (max 214 characters)');\n return false;\n }\n\n return true;\n}\n\nexport async function validateProjectPath(projectPath: string): Promise<boolean> {\n try {\n // Check if directory already exists\n if (await fs.pathExists(projectPath)) {\n const stats = await fs.stat(projectPath);\n\n if (stats.isDirectory()) {\n const files = await fs.readdir(projectPath);\n\n if (files.length > 0) {\n logger.error(`Directory \"${path.basename(projectPath)}\" already exists and is not empty`);\n return false;\n }\n } else {\n logger.error(`A file with the name \"${path.basename(projectPath)}\" already exists`);\n return false;\n }\n }\n\n // Check if parent directory is writable\n const parentDir = path.dirname(projectPath);\n\n try {\n await fs.access(parentDir, fs.constants.W_OK);\n } catch {\n logger.error(`Cannot write to directory \"${parentDir}\"`);\n return false;\n }\n\n return true;\n } catch (error) {\n logger.error('Failed to validate project path:', error);\n return false;\n }\n}\n\nexport function sanitizeProjectName(name: string): string {\n return name\n .toLowerCase()\n .replace(/[^a-z0-9-]/g, '-')\n .replace(/^-+|-+$/g, '')\n .replace(/-+/g, '-');\n}\n\nexport function suggestProjectName(name: string): string {\n const sanitized = sanitizeProjectName(name);\n\n if (validateProjectName(sanitized)) {\n return sanitized;\n }\n\n // If still invalid, add a prefix\n const suggested = `my-${sanitized}`;\n\n if (validateProjectName(suggested)) {\n return suggested;\n }\n\n // Last resort\n return 'my-saas-app';\n}\n","import semver from 'semver';\nimport execa from 'execa';\nimport { logger } from '../utils/logger';\n\nexport interface DependencyInfo {\n name: string;\n version: string;\n latest?: string;\n outdated?: boolean;\n}\n\nexport async function validateNodeVersion(): Promise<boolean> {\n const nodeVersion = process.version;\n const minVersion = '16.0.0';\n\n if (!semver.gte(nodeVersion, minVersion)) {\n logger.error(\n `Node.js version ${minVersion} or higher is required. Current version: ${nodeVersion}`\n );\n return false;\n }\n\n return true;\n}\n\nexport async function checkPackageExists(packageName: string): Promise<boolean> {\n try {\n await execa('npm', ['view', packageName, 'version']);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function getLatestVersion(packageName: string): Promise<string | null> {\n try {\n const result = await execa('npm', ['view', packageName, 'version']);\n return result.stdout.trim();\n } catch {\n return null;\n }\n}\n\nexport async function validateDependencies(dependencies: string[]): Promise<DependencyInfo[]> {\n const results: DependencyInfo[] = [];\n\n for (const dep of dependencies) {\n const [name, version] =\n dep.includes('@') && !dep.startsWith('@') ? dep.split('@') : [dep, 'latest'];\n\n try {\n const latest = await getLatestVersion(name);\n\n if (!latest) {\n logger.warn(`Package \"${name}\" not found in npm registry`);\n continue;\n }\n\n const resolvedVersion = version === 'latest' ? latest : version;\n const outdated = version !== 'latest' && semver.lt(resolvedVersion, latest);\n\n results.push({\n name,\n version: resolvedVersion,\n latest,\n outdated,\n });\n } catch (error) {\n logger.warn(`Failed to validate package \"${name}\":`, error);\n }\n }\n\n return results;\n}\n\nexport function validateVersionRange(version: string): boolean {\n try {\n return semver.validRange(version) !== null;\n } catch {\n return false;\n }\n}\n\nexport function isValidSemver(version: string): boolean {\n return semver.valid(version) !== null;\n}\n\nexport function compareVersions(version1: string, version2: string): number {\n try {\n return semver.compare(version1, version2);\n } catch {\n return 0;\n }\n}\n\nexport function getVersionSuggestion(currentVersion: string, latestVersion: string): string {\n if (!isValidSemver(currentVersion) || !isValidSemver(latestVersion)) {\n return latestVersion;\n }\n\n const current = semver.parse(currentVersion);\n const latest = semver.parse(latestVersion);\n\n if (!current || !latest) {\n return latestVersion;\n }\n\n // If major version is different, suggest latest\n if (current.major !== latest.major) {\n return `^${latestVersion}`;\n }\n\n // If minor version is different, suggest latest minor\n if (current.minor !== latest.minor) {\n return `~${latestVersion}`;\n }\n\n // If only patch is different, suggest exact latest\n return latestVersion;\n}\n","import inquirer from 'inquirer';\nimport { ProjectConfig } from '../commands/create';\nimport { validateProjectName, suggestProjectName } from '../validators/project-name';\nimport { logger } from '../utils/logger';\n\nexport async function getProjectPrompts(initialConfig: ProjectConfig): Promise<ProjectConfig> {\n logger.title('🛠️ Project Configuration');\n\n const questions = [\n {\n type: 'input',\n name: 'name',\n message: 'Project name:',\n default: initialConfig.name,\n validate: (input: string) => {\n if (!validateProjectName(input)) {\n const suggestion = suggestProjectName(input);\n return `Invalid project name. Try: ${suggestion}`;\n }\n return true;\n },\n filter: (input: string) => input.trim(),\n },\n {\n type: 'list',\n name: 'platform',\n message: 'Select platform:',\n choices: [\n { name: '🌐 Web (Next.js)', value: 'web' },\n { name: '📱 Mobile (Expo)', value: 'mobile' },\n { name: '🚀 Both (Full-stack)', value: 'both' },\n ],\n default: initialConfig.platform,\n },\n {\n type: 'list',\n name: 'template',\n message: 'Select template:',\n choices: (answers: any) => {\n if (answers.platform === 'web') {\n return [\n { name: '📄 Base - Clean starter template', value: 'base' },\n {\n name: '📦 UI Only - With @digilogiclabs/saas-factory-ui (no auth)',\n value: 'ui-only',\n },\n {\n name: '🔐 UI + Auth - With UI components and authentication',\n value: 'ui-auth',\n },\n {\n name: '💳 UI + Auth + Payments - Full SaaS with payments integration',\n value: 'ui-auth-payments',\n },\n {\n name: '🎵 Audio Player App - Full SaaS with audio streaming features',\n value: 'ui-auth-payments-audio',\n },\n {\n name: '🎬 Video Player App - Full SaaS with video streaming features',\n value: 'ui-auth-payments-video',\n },\n { name: '📊 Dashboard - Admin dashboard with analytics', value: 'dashboard' },\n { name: '💼 SaaS - Multi-tenant SaaS application', value: 'saas' },\n ];\n } else if (answers.platform === 'mobile') {\n return [\n { name: '📱 Base - Simple mobile app', value: 'base' },\n { name: '📑 Tabs - Tab navigation', value: 'tabs' },\n { name: '📚 Stack - Stack navigation', value: 'stack' },\n ];\n } else {\n return [{ name: '🚀 Base - Web + Mobile starter', value: 'base' }];\n }\n },\n default: initialConfig.template,\n },\n {\n type: 'list',\n name: 'auth',\n message: 'Select authentication provider:',\n choices: [\n { name: '⚡ Supabase - Open source alternative', value: 'supabase' },\n { name: \"🔥 Firebase - Google's platform\", value: 'firebase' },\n ],\n default: initialConfig.auth,\n },\n {\n type: 'list',\n name: 'database',\n message: 'Select database provider:',\n choices: (answers: any) => {\n // Smart defaults based on auth choice\n const choices = [\n { name: '⚡ Supabase - PostgreSQL with real-time', value: 'supabase' },\n { name: '🔥 Firebase - NoSQL with real-time', value: 'firebase' },\n ];\n\n // Suggest matching auth provider\n if (answers.auth === 'firebase') {\n return choices.reverse();\n }\n\n return choices;\n },\n default: (answers: any) => {\n // Auto-match auth provider if possible, but prefer Supabase\n return answers.auth === 'firebase' ? 'firebase' : 'supabase';\n },\n },\n {\n type: 'list',\n name: 'theme',\n message: 'Select theme:',\n choices: [\n { name: '🎨 Default - Clean and modern', value: 'default' },\n { name: '🏢 Corporate - Professional business theme', value: 'corporate' },\n { name: '🚀 Startup - Bold and innovative', value: 'startup' },\n ],\n default: initialConfig.theme,\n },\n {\n type: 'confirm',\n name: 'install',\n message: 'Install dependencies?',\n default: initialConfig.install,\n },\n {\n type: 'confirm',\n name: 'git',\n message: 'Initialize git repository?',\n default: initialConfig.git,\n },\n ];\n\n const answers = await inquirer.prompt(questions);\n\n return {\n ...initialConfig,\n ...answers,\n };\n}\n\nexport async function getAuthSetupPrompts(authProvider: string) {\n logger.title(`🔐 ${authProvider} Configuration`);\n\n if (authProvider === 'firebase') {\n const questions = [\n {\n type: 'input',\n name: 'projectId',\n message: 'Firebase Project ID:',\n validate: (input: string) => input.length > 0 || 'Project ID is required',\n },\n {\n type: 'input',\n name: 'apiKey',\n message: 'Firebase API Key:',\n validate: (input: string) => input.length > 0 || 'API Key is required',\n },\n {\n type: 'input',\n name: 'authDomain',\n message: 'Firebase Auth Domain:',\n validate: (input: string) => input.length > 0 || 'Auth Domain is required',\n },\n ];\n\n return await inquirer.prompt(questions);\n } else if (authProvider === 'supabase') {\n const questions = [\n {\n type: 'input',\n name: 'url',\n message: 'Supabase URL:',\n validate: (input: string) => {\n if (!input.length) return 'URL is required';\n if (!input.startsWith('https://')) return 'URL must start with https://';\n return true;\n },\n },\n {\n type: 'input',\n name: 'anonKey',\n message: 'Supabase Anon Key:',\n validate: (input: string) => input.length > 0 || 'Anon Key is required',\n },\n ];\n\n return await inquirer.prompt(questions);\n }\n\n return {};\n}\n\nexport async function getThemeCustomizationPrompts(theme: string) {\n logger.title(`🎨 ${theme} Theme Customization`);\n\n const questions = [\n {\n type: 'input',\n name: 'primaryColor',\n message: 'Primary color (hex):',\n default: theme === 'corporate' ? '#1e40af' : theme === 'startup' ? '#7c3aed' : '#3b82f6',\n validate: (input: string) => {\n if (!/^#[0-9A-F]{6}$/i.test(input)) {\n return 'Please enter a valid hex color (e.g., #3b82f6)';\n }\n return true;\n },\n },\n {\n type: 'input',\n name: 'fontFamily',\n message: 'Font family:',\n default: theme === 'corporate' ? 'Inter' : theme === 'startup' ? 'Poppins' : 'System UI',\n },\n {\n type: 'confirm',\n name: 'darkMode',\n message: 'Enable dark mode support?',\n default: true,\n },\n ];\n\n return await inquirer.prompt(questions);\n}\n","import path from 'path';\nimport fs from 'fs-extra';\nimport mustache from 'mustache';\nimport { glob } from 'glob';\nimport { ProjectConfig } from '../cli/commands/create';\nimport { logger } from '../cli/utils/logger';\n\nexport interface TemplateContext {\n projectName: string;\n platform: string;\n template: string;\n auth: string;\n database: string;\n theme: string;\n packageName: string;\n className: string;\n camelCaseName: string;\n kebabCaseName: string;\n titleCaseName: string;\n description: string;\n author: string;\n year: number;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n scripts: Record<string, string>;\n}\n\nexport class TemplateGenerator {\n private config: ProjectConfig;\n private context: TemplateContext;\n private templatesDir: string;\n\n constructor(config: ProjectConfig) {\n this.config = config;\n // Check if we're in development (src) or production (dist)\n const isDev = __dirname.includes('/src/');\n this.templatesDir = isDev\n ? path.join(__dirname, '..', 'templates')\n : path.join(__dirname, 'templates');\n this.context = this.createTemplateContext();\n }\n\n private createTemplateContext(): TemplateContext {\n const projectName = this.config.name;\n const packageName = projectName.toLowerCase().replace(/[^a-z0-9-]/g, '-');\n const className = this.toPascalCase(projectName);\n const camelCaseName = this.toCamelCase(projectName);\n const kebabCaseName = packageName;\n const titleCaseName = this.toTitleCase(projectName);\n\n return {\n projectName,\n platform: this.config.platform,\n template: this.config.template,\n auth: this.config.auth,\n database: this.config.database,\n theme: this.config.theme,\n packageName,\n className,\n camelCaseName,\n kebabCaseName,\n titleCaseName,\n description: `A modern SaaS application built with Digi Logic Labs`,\n author: 'Digi Logic Labs',\n year: new Date().getFullYear(),\n dependencies: this.getDependencies(),\n devDependencies: this.getDevDependencies(),\n scripts: this.getScripts(),\n };\n }\n\n private getDependencies(): Record<string, string> {\n const baseDeps: Record<string, string> = {};\n\n // Add UI package for ui-only, ui-auth, ui-auth-payments, and media player templates\n if (\n [\n 'ui-only',\n 'ui-auth',\n 'ui-auth-payments',\n 'ui-auth-payments-audio',\n 'ui-auth-payments-video',\n ].includes(this.config.template)\n ) {\n baseDeps['@digilogiclabs/saas-factory-ui'] = '^0.11.1';\n }\n\n // Add auth package for auth-enabled templates\n if (\n ['ui-auth', 'ui-auth-payments', 'ui-auth-payments-audio', 'ui-auth-payments-video'].includes(\n this.config.template\n )\n ) {\n baseDeps['@digilogiclabs/saas-factory-auth'] = '^1.0.0';\n }\n\n // Add payments package for payment-enabled templates\n if (\n ['ui-auth-payments', 'ui-auth-payments-audio', 'ui-auth-payments-video'].includes(\n this.config.template\n )\n ) {\n baseDeps['@digilogiclabs/saas-factory-payments'] = '^1.0.0';\n }\n\n if (this.config.platform === 'web' || this.config.platform === 'both') {\n Object.assign(baseDeps, {\n next: '^15.0.0',\n react: '^19.0.0',\n 'react-dom': '^19.0.0',\n tailwindcss: '^3.3.0',\n typescript: '^5.0.0',\n clsx: '^2.0.0',\n 'class-variance-authority': '^0.7.0',\n 'tailwind-merge': '^2.0.0',\n 'next-themes': '^0.2.1',\n 'lucide-react': '^0.292.0',\n autoprefixer: '^10.4.16',\n postcss: '^8.4.31',\n });\n }\n\n if (this.config.platform === 'mobile' || this.config.platform === 'both') {\n Object.assign(baseDeps, {\n expo: '~49.0.0',\n 'react-native': '0.72.0',\n '@expo/vector-icons': '^13.0.0',\n });\n }\n\n if (this.config.auth === 'firebase') {\n baseDeps['firebase'] = '^10.0.0';\n } else if (this.config.auth === 'supabase') {\n baseDeps['@supabase/supabase-js'] = '^2.0.0';\n }\n\n return baseDeps;\n }\n\n private getDevDependencies(): Record<string, string> {\n const baseDeps = {\n '@types/node': '^20.0.0',\n eslint: '^8.0.0',\n prettier: '^3.0.0',\n };\n\n if (this.config.platform === 'web' || this.config.platform === 'both') {\n Object.assign(baseDeps, {\n '@types/react': '^18.0.0',\n '@types/react-dom': '^18.0.0',\n autoprefixer: '^10.0.0',\n postcss: '^8.0.0',\n });\n }\n\n return baseDeps;\n }\n\n private getScripts(): Record<string, string> {\n const scripts: Record<string, string> = {};\n\n if (this.config.platform === 'web' || this.config.platform === 'both') {\n Object.assign(scripts, {\n dev: 'next dev',\n build: 'next build',\n start: 'next start',\n lint: 'next lint',\n });\n }\n\n if (this.config.platform === 'mobile' || this.config.platform === 'both') {\n Object.assign(scripts, {\n start: 'expo start',\n android: 'expo start --android',\n ios: 'expo start --ios',\n web: 'expo start --web',\n });\n }\n\n return scripts;\n }\n\n public async generate(outputPath: string): Promise<void> {\n try {\n // Ensure output directory exists\n await fs.ensureDir(outputPath);\n\n // Generate based on platform\n if (this.config.platform === 'web') {\n await this.generateWebProject(outputPath);\n } else if (this.config.platform === 'mobile') {\n await this.generateMobileProject(outputPath);\n } else if (this.config.platform === 'both') {\n await this.generateWebProject(outputPath);\n await this.generateMobileProject(path.join(outputPath, 'mobile'));\n }\n\n // Copy shared resources\n await this.copySharedResources(outputPath);\n\n logger.debug('Template generation completed');\n } catch (error) {\n logger.error('Template generation failed:', error);\n throw error;\n }\n }\n\n private async generateWebProject(outputPath: string): Promise<void> {\n const templatePath = path.join(this.templatesDir, 'web', this.config.template);\n await this.copyTemplate(templatePath, outputPath);\n }\n\n private async generateMobileProject(outputPath: string): Promise<void> {\n const templatePath = path.join(this.templatesDir, 'mobile', this.config.template);\n await this.copyTemplate(templatePath, outputPath);\n }\n\n private async copyTemplate(templatePath: string, outputPath: string): Promise<void> {\n const templateDir = path.join(templatePath, 'template');\n\n if (!(await fs.pathExists(templateDir))) {\n throw new Error(`Template not found: ${templateDir}`);\n }\n await this.copyAndProcessFiles(templateDir, outputPath);\n }\n\n private async copyAndProcessFiles(sourceDir: string, targetDir: string): Promise<void> {\n if (!(await fs.pathExists(sourceDir))) {\n logger.debug(`Template source directory not found: ${sourceDir}`);\n return;\n }\n\n const files = await glob('**/*', {\n cwd: sourceDir,\n dot: true,\n nodir: true,\n });\n\n for (const file of files) {\n const sourcePath = path.join(sourceDir, file);\n const targetPath = path.join(targetDir, file);\n\n await fs.ensureDir(path.dirname(targetPath));\n\n const content = await fs.readFile(sourcePath, 'utf-8');\n\n if (this.isTextFile(file)) {\n const processedContent = mustache.render(content, this.context);\n await fs.writeFile(targetPath, processedContent);\n } else {\n await fs.copy(sourcePath, targetPath);\n }\n }\n }\n\n private async copySharedResources(outputPath: string): Promise<void> {\n // Skip copying shared resources for UI-only templates\n if (this.config.template === 'ui-only') {\n logger.debug('Skipping shared resources for UI-only template');\n return;\n }\n\n const sharedPath = path.join(this.templatesDir, 'shared');\n\n // Copy auth configuration\n const authPath = path.join(sharedPath, 'auth', this.config.auth);\n await this.copyAndProcessFiles(authPath, outputPath);\n\n // Copy theme configuration\n const themePath = path.join(sharedPath, 'themes', this.config.theme);\n await this.copyAndProcessFiles(themePath, outputPath);\n\n // Copy database configuration\n const dbPath = path.join(sharedPath, 'database', this.config.database);\n await this.copyAndProcessFiles(dbPath, outputPath);\n }\n\n private isTextFile(filename: string): boolean {\n const textExtensions = [\n '.js',\n '.jsx',\n '.ts',\n '.tsx',\n '.json',\n '.md',\n '.txt',\n '.yml',\n '.yaml',\n '.xml',\n '.html',\n '.css',\n '.scss',\n '.sass',\n '.less',\n '.env',\n '.gitignore',\n '.eslintrc',\n '.prettierrc',\n '.editorconfig',\n '.nvmrc',\n ];\n\n const ext = path.extname(filename).toLowerCase();\n return textExtensions.includes(ext) || !ext;\n }\n\n private toPascalCase(str: string): string {\n return str\n .replace(/[^a-zA-Z0-9]/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join('');\n }\n\n private toCamelCase(str: string): string {\n const pascal = this.toPascalCase(str);\n return pascal.charAt(0).toLowerCase() + pascal.slice(1);\n }\n\n private toTitleCase(str: string): string {\n return str\n .replace(/[^a-zA-Z0-9]/g, ' ')\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())\n .join(' ');\n }\n}\n","import path from 'path';\nimport fs from 'fs-extra';\nimport execa from 'execa';\nimport {\n detectPackageManager,\n getInstallCommand,\n isPackageManagerAvailable,\n} from '../cli/utils/package-manager';\nimport { logger } from '../cli/utils/logger';\n\nexport class PackageInstaller {\n private projectPath: string;\n\n constructor(projectPath: string) {\n this.projectPath = projectPath;\n }\n\n public async install(): Promise<void> {\n try {\n // Check if package.json exists\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n if (!(await fs.pathExists(packageJsonPath))) {\n throw new Error('package.json not found in project directory');\n }\n\n // Detect package manager\n const packageManager = await detectPackageManager(this.projectPath);\n\n // Verify package manager is available\n if (!(await isPackageManagerAvailable(packageManager))) {\n throw new Error(`Package manager \"${packageManager}\" is not available`);\n }\n\n logger.debug(`Installing dependencies with ${packageManager}...`);\n\n // Get install command\n const command = await getInstallCommand(packageManager);\n\n // Run installation\n await execa(command[0], command.slice(1), {\n cwd: this.projectPath,\n stdio: 'pipe',\n });\n\n logger.debug('Dependencies installed successfully');\n } catch (error) {\n logger.error('Package installation failed:', error);\n throw error;\n }\n }\n\n public async installDependencies(dependencies: string[], dev = false): Promise<void> {\n try {\n if (dependencies.length === 0) {\n return;\n }\n\n const packageManager = await detectPackageManager(this.projectPath);\n\n if (!(await isPackageManagerAvailable(packageManager))) {\n throw new Error(`Package manager \"${packageManager}\" is not available`);\n }\n\n logger.debug(`Installing ${dev ? 'dev ' : ''}dependencies: ${dependencies.join(', ')}`);\n\n // Get add command\n const command =\n packageManager === 'yarn'\n ? ['yarn', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n : packageManager === 'pnpm'\n ? ['pnpm', 'add', ...(dev ? ['-D'] : []), ...dependencies]\n : ['npm', 'install', ...(dev ? ['--save-dev'] : []), ...dependencies];\n\n // Run installation\n await execa(command[0], command.slice(1), {\n cwd: this.projectPath,\n stdio: 'pipe',\n });\n\n logger.debug(`${dev ? 'Dev d' : 'D'}ependencies installed successfully`);\n } catch (error) {\n logger.error(`Failed to install ${dev ? 'dev ' : ''}dependencies:`, error);\n throw error;\n }\n }\n\n public async updatePackageJson(\n updates: Partial<{\n name: string;\n version: string;\n description: string;\n author: string;\n license: string;\n scripts: Record<string, string>;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n keywords: string[];\n repository: any;\n bugs: any;\n homepage: string;\n }>\n ): Promise<void> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n\n if (!(await fs.pathExists(packageJsonPath))) {\n throw new Error('package.json not found');\n }\n\n const packageJson = await fs.readJson(packageJsonPath);\n const updatedPackageJson = { ...packageJson, ...updates };\n\n await fs.writeJson(packageJsonPath, updatedPackageJson, { spaces: 2 });\n\n logger.debug('package.json updated successfully');\n } catch (error) {\n logger.error('Failed to update package.json:', error);\n throw error;\n }\n }\n\n public async addScript(name: string, command: string): Promise<void> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n if (!packageJson.scripts) {\n packageJson.scripts = {};\n }\n\n packageJson.scripts[name] = command;\n\n await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });\n\n logger.debug(`Script \"${name}\" added to package.json`);\n } catch (error) {\n logger.error(`Failed to add script \"${name}\":`, error);\n throw error;\n }\n }\n\n public async removeScript(name: string): Promise<void> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n if (packageJson.scripts && packageJson.scripts[name]) {\n delete packageJson.scripts[name];\n await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });\n logger.debug(`Script \"${name}\" removed from package.json`);\n }\n } catch (error) {\n logger.error(`Failed to remove script \"${name}\":`, error);\n throw error;\n }\n }\n\n public async getDependencies(): Promise<{\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n }> {\n try {\n const packageJsonPath = path.join(this.projectPath, 'package.json');\n const packageJson = await fs.readJson(packageJsonPath);\n\n return {\n dependencies: packageJson.dependencies || {},\n devDependencies: packageJson.devDependencies || {},\n };\n } catch (error) {\n logger.error('Failed to read dependencies:', error);\n return { dependencies: {}, devDependencies: {} };\n }\n }\n\n public async hasLockFile(): Promise<boolean> {\n const lockFiles = ['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'];\n\n for (const lockFile of lockFiles) {\n if (await fs.pathExists(path.join(this.projectPath, lockFile))) {\n return true;\n }\n }\n\n return false;\n }\n\n public async cleanInstall(): Promise<void> {\n try {\n // Remove node_modules and lock files\n const nodeModulesPath = path.join(this.projectPath, 'node_modules');\n const lockFiles = ['package-lock.json', 'yarn.lock', 'pnpm-lock.yaml'];\n\n if (await fs.pathExists(nodeModulesPath)) {\n await fs.remove(nodeModulesPath);\n }\n\n for (const lockFile of lockFiles) {\n const lockPath = path.join(this.projectPath, lockFile);\n if (await fs.pathExists(lockPath)) {\n await fs.remove(lockPath);\n }\n }\n\n // Fresh install\n await this.install();\n\n logger.debug('Clean install completed');\n } catch (error) {\n logger.error('Clean install failed:', error);\n throw error;\n }\n }\n}\n","import execa from 'execa';\nimport fs from 'fs-extra';\nimport path from 'path';\n\nexport type PackageManager = 'npm' | 'yarn' | 'pnpm';\n\nexport async function detectPackageManager(projectPath?: string): Promise<PackageManager> {\n const cwd = projectPath || process.cwd();\n\n // Check for lock files\n const lockFiles = [\n { file: 'pnpm-lock.yaml', manager: 'pnpm' as PackageManager },\n { file: 'yarn.lock', manager: 'yarn' as PackageManager },\n { file: 'package-lock.json', manager: 'npm' as PackageManager },\n ];\n\n for (const { file, manager } of lockFiles) {\n if (await fs.pathExists(path.join(cwd, file))) {\n return manager;\n }\n }\n\n // Check for package manager availability\n const managers: PackageManager[] = ['pnpm', 'yarn', 'npm'];\n\n for (const manager of managers) {\n try {\n await execa(manager, ['--version']);\n return manager;\n } catch {\n // Continue to next manager\n }\n }\n\n // Default to npm\n return 'npm';\n}\n\nexport async function getInstallCommand(packageManager: PackageManager): Promise<string[]> {\n switch (packageManager) {\n case 'yarn':\n return ['yarn', 'install'];\n case 'pnpm':\n return ['pnpm', 'install'];\n default:\n return ['npm', 'install'];\n }\n}\n\nexport async function getAddCommand(\n packageManager: PackageManager,\n packages: string[],\n dev = false\n): Promise<string[]> {\n const devFlag = dev ? (packageManager === 'npm' ? '--save-dev' : '-D') : '';\n\n switch (packageManager) {\n case 'yarn':\n return ['yarn', 'add', ...(dev ? ['-D'] : []), ...packages];\n case 'pnpm':\n return ['pnpm', 'add', ...(dev ? ['-D'] : []), ...packages];\n default:\n return ['npm', 'install', ...(devFlag ? [devFlag] : []), ...packages];\n }\n}\n\nexport async function getRunCommand(\n packageManager: PackageManager,\n script: string\n): Promise<string[]> {\n switch (packageManager) {\n case 'yarn':\n return ['yarn', script];\n case 'pnpm':\n return ['pnpm', script];\n default:\n return ['npm', 'run', script];\n }\n}\n\nexport async function isPackageManagerAvailable(packageManager: PackageManager): Promise<boolean> {\n try {\n await execa(packageManager, ['--version']);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function getPackageManagerDisplayName(packageManager: PackageManager): string {\n switch (packageManager) {\n case 'yarn':\n return 'Yarn';\n case 'pnpm':\n return 'pnpm';\n default:\n return 'npm';\n }\n}\n","import execa from 'execa';\nimport path from 'path';\nimport fs from 'fs-extra';\nimport { logger } from './logger';\n\nexport async function initializeGit(projectPath: string): Promise<void> {\n try {\n // Check if git is available\n await execa('git', ['--version']);\n\n // Initialize git repository\n await execa('git', ['init'], { cwd: projectPath });\n\n // Add all files\n await execa('git', ['add', '.'], { cwd: projectPath });\n\n // Create initial commit\n await execa('git', ['commit', '-m', 'Initial commit from @digilogiclabs/create-saas-app'], {\n cwd: projectPath,\n });\n\n logger.debug('Git repository initialized successfully');\n } catch (error) {\n logger.warn('Git initialization failed. You can initialize it manually later.');\n logger.debug('Git error:', error);\n }\n}\n\nexport async function isGitRepository(projectPath: string): Promise<boolean> {\n try {\n const gitDir = path.join(projectPath, '.git');\n return await fs.pathExists(gitDir);\n } catch {\n return false;\n }\n}\n\nexport async function getGitUserInfo(): Promise<{ name?: string; email?: string }> {\n try {\n const [nameResult, emailResult] = await Promise.allSettled([\n execa('git', ['config', '--global', 'user.name']),\n execa('git', ['config', '--global', 'user.email']),\n ]);\n\n return {\n name: nameResult.status === 'fulfilled' ? nameResult.value.stdout : undefined,\n email: emailResult.status === 'fulfilled' ? emailResult.value.stdout : undefined,\n };\n } catch {\n return {};\n }\n}\n\nexport async function hasGitChanges(projectPath: string): Promise<boolean> {\n try {\n const result = await execa('git', ['status', '--porcelain'], { cwd: projectPath });\n return result.stdout.trim().length > 0;\n } catch {\n return false;\n }\n}\n\nexport async function commitChanges(projectPath: string, message: string): Promise<void> {\n try {\n await execa('git', ['add', '.'], { cwd: projectPath });\n await execa('git', ['commit', '-m', message], { cwd: projectPath });\n } catch (error) {\n logger.warn('Failed to commit changes');\n logger.debug('Git commit error:', error);\n }\n}\n","import { logger } from '../utils/logger';\nimport { spinner } from '../utils/spinner';\n\ninterface AddOptions {\n provider?: string;\n}\n\nexport async function addFeature(feature: string, _options: AddOptions = {}) {\n try {\n logger.title(`Adding ${feature} feature`);\n\n const validFeatures = [\n 'auth',\n 'billing',\n 'analytics',\n 'teams',\n 'notifications',\n 'admin',\n 'api',\n 'docs',\n ];\n\n if (!validFeatures.includes(feature)) {\n logger.error(`Invalid feature: ${feature}`);\n logger.info('Available features:');\n logger.list(validFeatures);\n process.exit(1);\n }\n\n const addSpinner = spinner(`Adding ${feature} feature...`);\n\n // Simulate feature addition (placeholder for now)\n await new Promise((resolve) => setTimeout(resolve, 2000));\n\n addSpinner.succeed(`${feature} feature added successfully`);\n\n logger.newLine();\n logger.success('Feature added successfully!');\n logger.info(\"Don't forget to update your environment variables if needed.\");\n } catch (error) {\n logger.error('Failed to add feature:');\n logger.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n","import { logger } from '../utils/logger';\nimport { spinner } from '../utils/spinner';\nimport { detectPackageManager, getAddCommand } from '../utils/package-manager';\nimport execa from 'execa';\n\ninterface UpdateOptions {\n check?: boolean;\n}\n\nconst DIGILOGIC_PACKAGES = [\n '@digilogiclabs/saas-factory-ui',\n '@digilogiclabs/saas-factory-auth',\n '@digilogiclabs/saas-factory-billing',\n '@digilogiclabs/saas-factory-analytics',\n];\n\nexport async function updateDependencies(options: UpdateOptions = {}) {\n try {\n logger.title('Updating Digi Logic Labs dependencies');\n\n const packageManager = await detectPackageManager();\n logger.info(`Using package manager: ${packageManager}`);\n\n if (options.check) {\n const checkSpinner = spinner('Checking for updates...');\n\n // Check for outdated packages\n try {\n const result = await execa(packageManager, ['outdated', ...DIGILOGIC_PACKAGES], {\n reject: false,\n });\n\n checkSpinner.succeed('Update check completed');\n\n if (result.stdout) {\n logger.info('Available updates:');\n logger.log(result.stdout);\n } else {\n logger.success('All Digi Logic Labs packages are up to date!');\n }\n } catch (error) {\n checkSpinner.fail('Failed to check for updates');\n throw error;\n }\n } else {\n const updateSpinner = spinner('Updating packages...');\n\n try {\n // Update packages\n const command = await getAddCommand(packageManager, DIGILOGIC_PACKAGES);\n await execa(command[0], command.slice(1), {\n stdio: 'inherit',\n });\n\n updateSpinner.succeed('Packages updated successfully');\n\n logger.newLine();\n logger.success('All Digi Logic Labs packages have been updated!');\n logger.info(\"Don't forget to test your application after updating.\");\n } catch (error) {\n updateSpinner.fail('Failed to update packages');\n throw error;\n }\n }\n } catch (error) {\n logger.error('Failed to update dependencies:');\n logger.error(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n}\n","{\r\n \"name\": \"@digilogiclabs/create-saas-app\",\r\n \"version\": \"1.4.0\",\r\n \"description\": \"Create modern SaaS applications with Digi Logic Labs packages\",\r\n \"main\": \"dist/index.js\",\r\n \"bin\": {\r\n \"create-saas-app\": \"bin/index.js\"\r\n },\r\n \"scripts\": {\r\n \"build\": \"tsup\",\r\n \"dev\": \"tsup --watch\",\r\n \"test\": \"jest\",\r\n \"test:templates\": \"tsx scripts/test-all-templates.ts\",\r\n \"lint\": \"eslint src\",\r\n \"lint:fix\": \"eslint src --fix\",\r\n \"type-check\": \"tsc --noEmit\",\r\n \"validate\": \"tsx scripts/validate-templates.ts\",\r\n \"changeset\": \"changeset\",\r\n \"version\": \"changeset version\",\r\n \"release\": \"npm run build && changeset publish\",\r\n \"prepublishOnly\": \"npm run build && npm run lint && npm run type-check\"\r\n },\r\n \"keywords\": [\r\n \"cli\",\r\n \"saas\",\r\n \"template\",\r\n \"nextjs\",\r\n \"react-native\",\r\n \"expo\",\r\n \"typescript\",\r\n \"tailwind\",\r\n \"firebase\",\r\n \"supabase\",\r\n \"digilogiclabs\"\r\n ],\r\n \"author\": \"Digi Logic Labs\",\r\n \"license\": \"MIT\",\r\n \"repository\": {\r\n \"type\": \"git\",\r\n \"url\": \"git+https://github.com/DigiLogicLabs/create-saas-app.git\"\r\n },\r\n \"bugs\": {\r\n \"url\": \"https://github.com/DigiLogicLabs/create-saas-app/issues\"\r\n },\r\n \"homepage\": \"https://github.com/DigiLogicLabs/create-saas-app#readme\",\r\n \"files\": [\r\n \"dist\",\r\n \"bin\",\r\n \"src/templates\",\r\n \"README.md\",\r\n \"CHANGELOG.md\",\r\n \"LICENSE\"\r\n ],\r\n \"engines\": {\r\n \"node\": \">=18.0.0\"\r\n },\r\n \"dependencies\": {\r\n \"chalk\": \"^4.1.2\",\r\n \"commander\": \"^11.1.0\",\r\n \"cosmiconfig\": \"^8.3.6\",\r\n \"execa\": \"^5.1.1\",\r\n \"fs-extra\": \"^11.1.1\",\r\n \"glob\": \"^10.3.10\",\r\n \"inquirer\": \"^9.2.12\",\r\n \"listr2\": \"^7.0.2\",\r\n \"mustache\": \"^4.2.0\",\r\n \"ora\": \"^5.4.1\",\r\n \"semver\": \"^7.5.4\",\r\n \"validate-npm-package-name\": \"^5.0.0\",\r\n \"zod\": \"^3.22.4\"\r\n },\r\n \"devDependencies\": {\r\n \"@changesets/cli\": \"^2.26.2\",\r\n \"@supabase/supabase-js\": \"^2.39.2\",\r\n \"@types/fs-extra\": \"^11.0.4\",\r\n \"@types/inquirer\": \"^9.0.7\",\r\n \"@types/jest\": \"^29.5.6\",\r\n \"@types/mustache\": \"^4.2.5\",\r\n \"@types/node\": \"^20.8.7\",\r\n \"@types/semver\": \"^7.5.4\",\r\n \"@types/validate-npm-package-name\": \"^4.0.2\",\r\n \"eslint\": \"^8.57.1\",\r\n \"eslint-config-prettier\": \"^9.1.2\",\r\n \"eslint-plugin-prettier\": \"^5.5.4\",\r\n \"firebase\": \"^10.7.1\",\r\n \"globals\": \"^16.3.0\",\r\n \"jest\": \"^29.7.0\",\r\n \"prettier\": \"^3.0.3\",\r\n \"ts-jest\": \"^29.1.1\",\r\n \"tsup\": \"^7.2.0\",\r\n \"tsx\": \"^3.14.0\",\r\n \"typescript\": \"^5.2.2\",\r\n \"typescript-eslint\": \"^8.40.0\"\r\n },\r\n \"peerDependencies\": {\r\n \"typescript\": \">=4.9.0\"\r\n },\r\n \"publishConfig\": {\r\n \"access\": \"public\"\r\n },\r\n \"directories\": {\r\n \"doc\": \"docs\",\r\n \"test\": \"tests\"\r\n }\r\n}\r\n"],"mappings":"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","names":["import_path","chalk","import_chalk","ora","chalk","validateNpmPackageName","fs","path","semver","answers","inquirer","import_path","import_fs_extra","path","fs","mustache","import_path","import_fs_extra","import_execa","import_execa","import_fs_extra","import_path","fs","path","execa","execa","path","fs","execa","import_execa","import_fs_extra","execa","path","import_execa","execa"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digilogiclabs/create-saas-app",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "Create modern SaaS applications with Digi Logic Labs packages",
5
5
  "main": "dist/index.js",
6
6
  "bin": {