@gymspace/sdk 1.9.0 → 1.9.3

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.
@@ -12,6 +12,22 @@ import {
12
12
  } from '../models/check-ins';
13
13
  import { RequestOptions, PaginatedResponseDto } from '../types';
14
14
 
15
+ export interface ExternalCheckInResult {
16
+ checkInId: string;
17
+ clientName: string;
18
+ gymName: string;
19
+ timestamp: string;
20
+ message: string;
21
+ isExternal: boolean;
22
+ contractNumber?: string;
23
+ originGymName?: string;
24
+ }
25
+
26
+ export interface CreateExternalCheckInDto {
27
+ documentValue: string;
28
+ sourceGymClientId?: string;
29
+ }
30
+
15
31
  export class CheckInsResource extends BaseResource {
16
32
  private basePath = 'check-ins';
17
33
 
@@ -92,4 +108,23 @@ export class CheckInsResource extends BaseResource {
92
108
  options,
93
109
  );
94
110
  }
111
+
112
+ /**
113
+ * Creates a check-in for an external client (from another gym in the same organization).
114
+ *
115
+ * **Permissions Required:**
116
+ * - Gym owners with full gym access
117
+ * - Active collaborators with CHECKINS_CREATE permission
118
+ *
119
+ * @param data - The external check-in data including document value
120
+ * @param options - Optional request configuration
121
+ * @returns The created check-in record with external client details
122
+ * @throws {ValidationError} When client is not found or contract doesn't allow access
123
+ */
124
+ async createExternal(
125
+ data: CreateExternalCheckInDto,
126
+ options?: RequestOptions,
127
+ ): Promise<ExternalCheckInResult> {
128
+ return this.client.post<ExternalCheckInResult>(`${this.basePath}/external`, data, options);
129
+ }
95
130
  }
@@ -9,6 +9,46 @@ import {
9
9
  } from '../models/clients';
10
10
  import { RequestOptions } from '../types';
11
11
 
12
+ export interface SearchGlobalResult {
13
+ found: boolean;
14
+ clientData?: {
15
+ id: string;
16
+ name: string;
17
+ photoUrl?: string;
18
+ documentValue: string;
19
+ phone?: string;
20
+ email?: string;
21
+ gymId: string;
22
+ gymName: string;
23
+ status: 'active' | 'inactive';
24
+ };
25
+ contractData?: {
26
+ id: string;
27
+ contractNumber: string;
28
+ planName: string;
29
+ status: 'active' | 'expired' | 'cancelled' | 'suspended';
30
+ endDate: string;
31
+ allowedGymIds: string[];
32
+ };
33
+ canAccessCurrentGym: boolean;
34
+ currentGymAccessStatus?: string;
35
+ }
36
+
37
+ export interface ImportFromGymResult {
38
+ localClientId: string;
39
+ imported: boolean;
40
+ clientData: {
41
+ id: string;
42
+ name: string;
43
+ photoUrl?: string;
44
+ documentValue: string;
45
+ phone?: string;
46
+ email?: string;
47
+ birthDate?: string;
48
+ };
49
+ message: string;
50
+ }
51
+
12
52
  export class ClientsResource extends BaseResource {
13
53
  private basePath = 'clients';
14
54
 
@@ -64,7 +104,24 @@ export class ClientsResource extends BaseResource {
64
104
  params?: SearchClientsParams,
65
105
  options?: RequestOptions,
66
106
  ): Promise<Client[]> {
67
- // This endpoint automatically includes contract status and only active clients
68
107
  return this.client.get<Client[]>(`${this.basePath}/search/check-in`, params, options);
69
108
  }
109
+
110
+ async searchGlobal(
111
+ params: { document: string },
112
+ options?: RequestOptions,
113
+ ): Promise<SearchGlobalResult> {
114
+ return this.client.post<SearchGlobalResult>(`${this.basePath}/search-global`, params, options);
115
+ }
116
+
117
+ async importFromGym(
118
+ params: { sourceGymClientId: string },
119
+ options?: RequestOptions,
120
+ ): Promise<ImportFromGymResult> {
121
+ return this.client.post<ImportFromGymResult>(
122
+ `${this.basePath}/import-from-gym`,
123
+ params,
124
+ options,
125
+ );
126
+ }
70
127
  }
@@ -11,6 +11,10 @@ import {
11
11
  GetContractsParams,
12
12
  ContractLifecycleEvent,
13
13
  CancellationAnalytics,
14
+ ContractInstallmentsResponse,
15
+ ContractPaymentsResponse,
16
+ RegisterContractPaymentDto,
17
+ RegisterContractPaymentResponse,
14
18
  } from '../models/contracts';
15
19
  import { RequestOptions, PaginatedResponseDto } from '../types';
16
20
 
@@ -32,10 +36,60 @@ export class ContractsResource extends BaseResource {
32
36
  return this.client.get<Contract>(`${this.basePath}/${id}`, undefined, options);
33
37
  }
34
38
 
39
+ async getContractInstallments(
40
+ id: string,
41
+ options?: RequestOptions,
42
+ ): Promise<ContractInstallmentsResponse> {
43
+ return this.client.get<ContractInstallmentsResponse>(
44
+ `${this.basePath}/${id}/installments`,
45
+ undefined,
46
+ options,
47
+ );
48
+ }
49
+
50
+ async getContractPayments(
51
+ id: string,
52
+ options?: RequestOptions,
53
+ ): Promise<ContractPaymentsResponse> {
54
+ return this.client.get<ContractPaymentsResponse>(
55
+ `${this.basePath}/${id}/payments`,
56
+ undefined,
57
+ options,
58
+ );
59
+ }
60
+
61
+ async registerContractPayment(
62
+ id: string,
63
+ data: RegisterContractPaymentDto,
64
+ options?: RequestOptions,
65
+ ): Promise<RegisterContractPaymentResponse> {
66
+ return this.client.post<RegisterContractPaymentResponse>(
67
+ `${this.basePath}/${id}/payments`,
68
+ data,
69
+ options,
70
+ );
71
+ }
72
+
73
+ async sendInstallmentReminder(
74
+ id: string,
75
+ installmentId: string,
76
+ options?: RequestOptions,
77
+ ): Promise<{ success: boolean; message: string }> {
78
+ return this.client.post<{ success: boolean; message: string }>(
79
+ `${this.basePath}/${id}/installments/${installmentId}/send-reminder`,
80
+ {},
81
+ options,
82
+ );
83
+ }
84
+
35
85
  async getClientContracts(clientId: string, options?: RequestOptions): Promise<Contract[]> {
36
86
  return this.client.get<Contract[]>(`${this.basePath}/client/${clientId}`, undefined, options);
37
87
  }
38
88
 
89
+ async getMyContracts(options?: RequestOptions): Promise<Contract[]> {
90
+ return this.client.get<Contract[]>('auth/members/me/contracts', undefined, options);
91
+ }
92
+
39
93
  async renewContract(
40
94
  id: string,
41
95
  data: RenewContractDto,
@@ -5,6 +5,7 @@ import {
5
5
  ContractsRevenue,
6
6
  SalesRevenue,
7
7
  Debts,
8
+ Collections,
8
9
  CheckIns,
9
10
  NewClients,
10
11
  DateRangeParams,
@@ -47,6 +48,15 @@ export class DashboardResource extends BaseResource {
47
48
  return this.client.get<Debts>('/dashboard/debts', params);
48
49
  }
49
50
 
51
+ /**
52
+ * Get total collections within date range
53
+ * @param params Optional date range parameters
54
+ * @returns Collections data for the specified period
55
+ */
56
+ async getCollections(params?: DateRangeParams): Promise<Collections> {
57
+ return this.client.get<Collections>('/dashboard/collections', params);
58
+ }
59
+
50
60
  /**
51
61
  * Get check-ins count within date range
52
62
  * @param params Optional date range parameters
@@ -37,3 +37,5 @@ export * from './messages';
37
37
  export * from './credits';
38
38
  export * from './pricing-packages';
39
39
  export * from './promo-codes';
40
+ export * from './members';
41
+ export * from './receivables';
@@ -0,0 +1,59 @@
1
+ import {
2
+ CheckInDto,
3
+ CheckInResponse,
4
+ CreateMemberInviteDto,
5
+ MemberInviteResponse,
6
+ MemberInviteValidationResponse,
7
+ QrTokenResponse,
8
+ } from '../models/members';
9
+ import { RequestOptions } from '../types';
10
+ import { BaseResource } from './base';
11
+
12
+ export class MembersResource extends BaseResource {
13
+ /**
14
+ * Create and send member invite
15
+ * POST /admin/members/clients/:id/invites
16
+ */
17
+ async createInvite(
18
+ clientId: string,
19
+ data: CreateMemberInviteDto,
20
+ options?: RequestOptions,
21
+ ): Promise<MemberInviteResponse> {
22
+ return this.client.post<MemberInviteResponse>(
23
+ `admin/members/clients/${clientId}/invites`,
24
+ data,
25
+ options,
26
+ );
27
+ }
28
+
29
+ /**
30
+ * Validate member invite token
31
+ * GET /members/invites/validate/:token
32
+ */
33
+ async validateInvite(
34
+ token: string,
35
+ options?: RequestOptions,
36
+ ): Promise<MemberInviteValidationResponse> {
37
+ return this.client.get<MemberInviteValidationResponse>(
38
+ `members/invites/validate/${token}`,
39
+ undefined,
40
+ options,
41
+ );
42
+ }
43
+
44
+ /**
45
+ * Generate QR token for member check-ins
46
+ * GET /admin/members/check-in-qr
47
+ */
48
+ async generateQrToken(options?: RequestOptions): Promise<QrTokenResponse> {
49
+ return this.client.get<QrTokenResponse>('admin/members/check-in-qr', undefined, options);
50
+ }
51
+
52
+ /**
53
+ * Self check-in with QR token
54
+ * POST /members/checkins
55
+ */
56
+ async checkIn(data: CheckInDto, options?: RequestOptions): Promise<CheckInResponse> {
57
+ return this.client.post<CheckInResponse>('members/checkins', data, options);
58
+ }
59
+ }
@@ -0,0 +1,111 @@
1
+ import { BaseResource } from './base';
2
+
3
+ // Receivable Installment Types
4
+ export interface ReceivableInstallmentDto {
5
+ id: string;
6
+ contractId: string;
7
+ contractNumber: string;
8
+ clientId: string;
9
+ clientName: string;
10
+ clientDocument?: string;
11
+ gymId: string;
12
+ gymName: string;
13
+ amount: number;
14
+ paidAmount: number;
15
+ remainingAmount: number;
16
+ dueDate: string;
17
+ status: 'pending' | 'partially_paid' | 'overdue';
18
+ planName: string;
19
+ contractStartDate: string;
20
+ contractEndDate: string;
21
+ }
22
+
23
+ export interface ReceivableInstallmentsResponseDto {
24
+ data: ReceivableInstallmentDto[];
25
+ meta: ReceivablesMetaDto;
26
+ summary: ReceivablesSummaryDto;
27
+ }
28
+
29
+ // Receivable Sale Types
30
+ export interface ReceivableSaleDto {
31
+ id: string;
32
+ saleNumber: string;
33
+ clientId: string;
34
+ clientName: string;
35
+ clientDocument?: string;
36
+ gymId: string;
37
+ gymName: string;
38
+ total: number;
39
+ paidAmount: number;
40
+ remainingAmount: number;
41
+ saleDate: string;
42
+ paymentStatus: 'unpaid' | 'partially_paid';
43
+ products: string[];
44
+ }
45
+
46
+ export interface ReceivableSalesResponseDto {
47
+ data: ReceivableSaleDto[];
48
+ meta: ReceivablesMetaDto;
49
+ summary: ReceivablesSummaryDto;
50
+ }
51
+
52
+ // Common Types
53
+ export interface ReceivablesMetaDto {
54
+ total: number;
55
+ page: number;
56
+ limit: number;
57
+ totalPages: number;
58
+ hasNext: boolean;
59
+ hasPrevious: boolean;
60
+ }
61
+
62
+ export interface ReceivablesSummaryDto {
63
+ totalAmount: number;
64
+ totalPending: number;
65
+ }
66
+
67
+ // Query Parameters
68
+ export interface ReceivableInstallmentsQueryParams {
69
+ scope?: 'gym' | 'organization';
70
+ startDate?: string;
71
+ endDate?: string;
72
+ page?: number;
73
+ limit?: number;
74
+ status?: 'pending' | 'partially_paid' | 'overdue' | 'all_unpaid';
75
+ sortBy?: 'dueDate' | 'amount' | 'clientName';
76
+ sortOrder?: 'asc' | 'desc';
77
+ }
78
+
79
+ export interface ReceivableSalesQueryParams {
80
+ scope?: 'gym' | 'organization';
81
+ startDate?: string;
82
+ endDate?: string;
83
+ page?: number;
84
+ limit?: number;
85
+ sortBy?: 'saleDate' | 'amount' | 'clientName';
86
+ sortOrder?: 'asc' | 'desc';
87
+ }
88
+
89
+ export class ReceivablesResource extends BaseResource {
90
+ /**
91
+ * Get paginated list of pending contract installments with filtering, sorting, and organization scope support.
92
+ * @param params Optional query parameters for filtering, pagination, and sorting
93
+ * @returns Paginated list of installment receivables with summary
94
+ */
95
+ async getInstallmentReceivables(
96
+ params?: ReceivableInstallmentsQueryParams,
97
+ ): Promise<ReceivableInstallmentsResponseDto> {
98
+ return this.client.get<ReceivableInstallmentsResponseDto>('/receivables/installments', params);
99
+ }
100
+
101
+ /**
102
+ * Get paginated list of unpaid sales with filtering, sorting, and organization scope support.
103
+ * @param params Optional query parameters for filtering, pagination, and sorting
104
+ * @returns Paginated list of sale receivables with summary
105
+ */
106
+ async getSaleReceivables(
107
+ params?: ReceivableSalesQueryParams,
108
+ ): Promise<ReceivableSalesResponseDto> {
109
+ return this.client.get<ReceivableSalesResponseDto>('/receivables/sales', params);
110
+ }
111
+ }
package/src/sdk.ts CHANGED
@@ -41,6 +41,8 @@ import {
41
41
  CreditsResource,
42
42
  PricingPackagesResource,
43
43
  PromoCodesResource,
44
+ MembersResource,
45
+ ReceivablesResource,
44
46
  } from './resources';
45
47
 
46
48
  export class GymSpaceSdk {
@@ -87,6 +89,8 @@ export class GymSpaceSdk {
87
89
  public credits: CreditsResource;
88
90
  public pricingPackages: PricingPackagesResource;
89
91
  public promoCodes: PromoCodesResource;
92
+ public members: MembersResource;
93
+ public receivables: ReceivablesResource;
90
94
 
91
95
  constructor(config: GymSpaceConfig) {
92
96
  this.client = new ApiClient(config);
@@ -131,6 +135,8 @@ export class GymSpaceSdk {
131
135
  this.credits = new CreditsResource(this.client);
132
136
  this.pricingPackages = new PricingPackagesResource(this.client);
133
137
  this.promoCodes = new PromoCodesResource(this.client);
138
+ this.members = new MembersResource(this.client);
139
+ this.receivables = new ReceivablesResource(this.client);
134
140
  }
135
141
 
136
142
  /**
@@ -198,4 +204,46 @@ export class GymSpaceSdk {
198
204
  getClient(): ApiClient {
199
205
  return this.client;
200
206
  }
207
+
208
+ /**
209
+ * Create a scoped SDK instance that sends X-Gym-Id and X-Gym-Context-Mode: scoped
210
+ * for all requests WITHOUT modifying the global gym context.
211
+ *
212
+ * Usage:
213
+ * const scopedSdk = sdk.withGymId('gym-123');
214
+ * const sales = await scopedSdk.sales.searchSales({ ... });
215
+ */
216
+ withGymId(gymId: string): GymSpaceSdk {
217
+ const config = this.client.getConfigForScoped();
218
+ const defaults = this.client.getAxiosDefaults();
219
+
220
+ const scopedSdk = new GymSpaceSdk({
221
+ baseURL: config.baseURL,
222
+ apiKey: config.apiKey,
223
+ refreshToken: config.refreshToken,
224
+ });
225
+
226
+ // Transfer custom headers from original config
227
+ if (defaults && typeof defaults === 'object') {
228
+ const headers: Record<string, string> = {};
229
+ Object.entries(defaults).forEach(([key, value]) => {
230
+ if (typeof value === 'string') {
231
+ headers[key] = value;
232
+ }
233
+ });
234
+ scopedSdk.client.setCommonHeaders(headers);
235
+ }
236
+
237
+ // Override request method to inject scoped gym context
238
+ const originalRequest = scopedSdk.client.request.bind(scopedSdk.client);
239
+ scopedSdk.client.request = (method, path, data, options) => {
240
+ return originalRequest(method, path, data, {
241
+ ...options,
242
+ gymId,
243
+ gymContextMode: 'scoped',
244
+ });
245
+ };
246
+
247
+ return scopedSdk;
248
+ }
201
249
  }
package/src/types.ts CHANGED
@@ -8,6 +8,7 @@ export interface GymSpaceConfig {
8
8
 
9
9
  export interface RequestOptions {
10
10
  gymId?: string;
11
+ gymContextMode?: 'scoped' | 'global';
11
12
  headers?: Record<string, string>;
12
13
  skipAuth?: boolean; // Skip Authorization header for public endpoints
13
14
  }
@@ -32,11 +33,8 @@ export interface PaginatedResponse<T> {
32
33
  // Legacy alias for compatibility
33
34
  export type PaginatedResponseDto<T> = PaginatedResponse<T>;
34
35
 
35
- // Import specific types we need from shared
36
- import type { PaginationParams as SharedPaginationParams } from '@gymspace/shared';
37
-
38
- // Re-export as PaginationQueryDto for backward compatibility
39
- export type PaginationQueryDto = SharedPaginationParams;
36
+ // Re-export as PaginationQueryDto for backward compatibility using SDK's own PaginationParams
37
+ export type PaginationQueryDto = PaginationParams;
40
38
 
41
39
  // Re-export shared types (including constants and enums)
42
40
  export * from '@gymspace/shared';
package/dist/.tsbuildinfo DELETED
@@ -1 +0,0 @@
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.dom.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/axios/index.d.ts","../src/errors.ts","../node_modules/@gymspace/shared/src/types/whatsapp-templates.types.ts","../node_modules/@gymspace/shared/src/constants/template-codes.constants.ts","../node_modules/@gymspace/shared/src/constants/bulk-message-variables.ts","../node_modules/@gymspace/shared/src/constants.ts","../node_modules/@gymspace/shared/src/enums.ts","../node_modules/@gymspace/shared/src/events/whatsapp.events.ts","../node_modules/@gymspace/shared/src/events/bulk-messaging.events.ts","../node_modules/@gymspace/shared/src/events/activity.events.ts","../node_modules/@gymspace/shared/src/events/index.ts","../node_modules/@gymspace/shared/src/types.ts","../node_modules/@gymspace/shared/src/interfaces.ts","../../../node_modules/zod/v3/helpers/typealiases.d.cts","../../../node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/zod/v3/index.d.cts","../../../node_modules/zod/v3/zoderror.d.cts","../../../node_modules/zod/v3/locales/en.d.cts","../../../node_modules/zod/v3/errors.d.cts","../../../node_modules/zod/v3/helpers/parseutil.d.cts","../../../node_modules/zod/v3/helpers/enumutil.d.cts","../../../node_modules/zod/v3/helpers/errorutil.d.cts","../../../node_modules/zod/v3/helpers/partialutil.d.cts","../../../node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/zod/v3/types.d.cts","../../../node_modules/zod/v3/external.d.cts","../../../node_modules/zod/index.d.cts","../node_modules/@gymspace/shared/src/schemas/ai-template.schema.ts","../node_modules/@gymspace/shared/src/schemas/bulk-message.schema.ts","../node_modules/@gymspace/shared/src/schemas/activity-notification.schema.ts","../node_modules/@gymspace/shared/src/schemas/index.ts","../node_modules/@gymspace/shared/src/utils/rolehelpers.ts","../node_modules/@gymspace/shared/src/utils/phone.utils.ts","../node_modules/@gymspace/shared/src/index.ts","../src/types.ts","../src/client.ts","../src/utils/agent-fetch.ts","../src/models/subscriptions.ts","../src/models/auth.ts","../src/resources/base.ts","../src/resources/auth.ts","../src/models/organizations.ts","../src/resources/organizations.ts","../src/models/gyms.ts","../src/resources/gyms.ts","../src/resources/collaborators.ts","../src/models/roles.ts","../src/resources/roles.ts","../src/models/clients.ts","../src/resources/clients.ts","../src/models/membership-plans.ts","../src/resources/membership-plans.ts","../src/models/contracts.ts","../src/resources/contracts.ts","../src/models/dashboard.ts","../src/resources/dashboard.ts","../src/models/check-ins.ts","../src/resources/check-ins.ts","../src/resources/invitations.ts","../src/models/assets.ts","../src/resources/assets.ts","../src/models/files.ts","../src/resources/files.ts","../src/models/catalog.ts","../src/resources/public-catalog.ts","../src/resources/admin-catalog.ts","../src/resources/health.ts","../src/models/onboarding.ts","../src/resources/onboarding.ts","../src/models/products.ts","../src/resources/products.ts","../src/models/sales.ts","../src/resources/sales.ts","../src/models/suppliers.ts","../src/resources/suppliers.ts","../src/models/users.ts","../src/resources/users.ts","../src/resources/subscriptions.ts","../src/resources/subscription-plans.ts","../src/resources/admin-subscription-management.ts","../src/models/payment-methods.ts","../src/resources/payment-methods.ts","../src/models/whatsapp.ts","../src/resources/whatsapp.ts","../src/resources/whatsapp-templates.ts","../src/models/bulk-messaging.ts","../src/resources/bulk-messaging.ts","../src/models/activities.ts","../src/resources/activities.ts","../src/models/tags.ts","../src/resources/tags.ts","../src/models/commissions.ts","../src/resources/commission-config.ts","../src/resources/commission-rules.ts","../src/resources/commission-calculations.ts","../src/resources/commission-reports.ts","../src/resources/commission-promotions.ts","../src/models/messages.ts","../src/resources/messages.ts","../src/models/credits.ts","../src/resources/credits.ts","../src/models/pricing-packages.ts","../src/resources/pricing-packages.ts","../src/models/promo-codes.ts","../src/resources/promo-codes.ts","../src/resources/index.ts","../src/sdk.ts","../src/models/subscription-plans.ts","../src/models/admin-subscription-management.ts","../src/models/index.ts","../src/index.ts","../src/models/collaborators.ts","../src/models/invitations.ts"],"fileIdsList":[[72],[63,64],[60,61,63,65,66,71],[61,63],[71],[63],[60,61,63,66,67,68,69,70],[60,61,62],[50,51],[49],[51],[54,55,56],[49,51,52,53,55,57,58,59,77,78,79],[53,58],[73],[74,75,76],[49,53],[47,48,81],[48,81,82,152,153,156],[126],[84],[80],[80,81],[84,85,88,90,93,95,97,99,101,103,106,108,110,114,116,118,120,122,127,129,132,134,136,138,144,146,148,150,154,155],[81],[125],[81,86,134],[81,86,110],[81,86],[86,106],[81,84,85,86],[81,82],[81,86,132],[81,86,103],[81,86,95],[80,81,86],[81,86,138],[81,86,99],[81,86,146],[86,101],[86,108],[81,86,90],[87,89,91,92,94,96,98,100,102,104,105,107,109,111,112,113,115,117,119,121,123,124,125,126,128,130,131,133,135,137,139,140,141,142,143,145,147,149,151],[81,86,97],[81,86,144],[86,114],[81,86,88],[81,86,127],[81,86,148],[81,86,116],[81,86,150],[80,81,86,93],[81,86,118],[81,84,86],[81,86,120],[81,86,136],[81,86,122],[81,86,129],[81,82,83,152],[82]],"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":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"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":"1c9800fbae1b443d77672e6d3e715df7280479b7c41f08cb790e750f01b50d90","impliedFormat":99},"c8553a38e0f2483b36ba7d173bad4e0a234c73fea4d69f60d2aad1007abfa50f",{"version":"c0f5d6c7f66a6ebbe1bf8b33c99c280b4cdb271bbf940b43ec53070a6f255869","impliedFormat":1},{"version":"4816adcc854c603ae8e2ce112ef431ce4e3503fee7e8b7d5925ef069b43aa58d","impliedFormat":1},{"version":"f003fdb115a4c6f524eb32438de5da4d5220c855ffdafde09c59468aeada5780","impliedFormat":1},{"version":"ddfdf3c73236af8daf77ba309b510eec059d54b6f3e218b753cfd62771758e3a","impliedFormat":1},{"version":"2b0a8d68fa918e859e4147d046101c970144d8244196da87464ec190a2b6c2dd","impliedFormat":1},{"version":"ee08afb09c42979e2a1f9aa8f009343500f946b8e3ac0207d46e79390f331c45","impliedFormat":1},{"version":"751aa823da481598637f08806a9d4a41b602c1a0fbb3567e15d1d6a10444595d","impliedFormat":1},{"version":"dcd768b31a77e38cc7dc147cbd1d80183ab3db2fca03939ec89d9ae8b13581f4","impliedFormat":1},{"version":"27bc4e2e091355feffae8d0f6b09251c9e1340fcd9e5f4a64adaad9e0d80bec8","impliedFormat":1},{"version":"c4869a3975351f27b47cd655991aa0081e3658315aa24777707685ee5fae02d3","impliedFormat":1},{"version":"5d43729825004f65a169ceb8cb72c4a2902571ab455c380b733f79a29764a6d2","impliedFormat":1},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"08b2fae7b0f553ad9f79faec864b179fc58bc172e295a70943e8585dd85f600c","impliedFormat":1},{"version":"f12edf1672a94c578eca32216839604f1e1c16b40a1896198deabf99c882b340","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"4fdb529707247a1a917a4626bfb6a293d52cd8ee57ccf03830ec91d39d606d6d","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"5780b706cece027f0d4444fbb4e1af62dc51e19da7c3d3719f67b22b033859b9","impliedFormat":1},{"version":"c0e0824bf7c079f44b7434e78666c33130c0c6f2f4f54bee5119e619c6d15bc3","impliedFormat":1},{"version":"c9d892f7136d7492da48218a0b102cec47a705da60a8b1b54ea6fab550ad5334","impliedFormat":1},{"version":"c149009ab43269d9008846f8067d0c39ce765dcbe1ad13d6c2b5d13e8fdcdc90","impliedFormat":1},{"version":"03495e88baade461c24c2363c1e7f7e777a7ae13b749186c0726207d05bf3c0d","impliedFormat":1},{"version":"c934cb299bc6f46910e61a6655ed654f00036817c3474499cb6c4ebc72c2fddc","impliedFormat":1},{"version":"85811096c3c92262d2c378eed49a4d4174dadd284a4c808e4ba7d0c89f09e9b0","impliedFormat":1},{"version":"5469b10edd5f3103e8cae01dc3a62682d4094a7bc334fb193ab52235842c5296","impliedFormat":1},"522237c3836c6a7c5e7afd0b1971a78ae2083d2ecdbb4c99c5b36ce3bb73505b","bee73f915b6f1756fc8b77cb7e7e45bdeffa3aa70f2effbb55a47e3c4713186c","358f0833c081a5ba5dd957d18530f507688c922f08054c12a78e0d42534a3bbc","ea6eb004e021c23a2d4c2090a3086234217e2d33361e62e9737ec34e3ef719e8","149cf742da9555355188424cd94735ae7bfce96f65093bad92a680208b079e6e","5fc81afdf7085284bdd04bb7b3de97769515daa5d8b2a4cecb1d4c2300b4a510","1463f5f090da2cf0243ae842d7569c3ffa8c9fe1e6c036e05442b950702306f6","208b5844b05691a047c1a4bccb514a247428c1083cf5964733f0562337e3ed80","e09640323c7636a9c8536247f83740a4af504cfba28aaeec1f554276fdbdf79b","5b6f03eb11b2db1fe4b79d097fa2e12812ffbdab81780c61015c450ec822c4ae","6196891c6e0bb73b74ac16dca7d75801afa18d9455105b3416ab14af101fa017","62eb992c4944eb724c9bc4a531f8c954a7aa94301b52f172cc69b335b738588c","2b949dc19987d2217953b362864780adabb1318bf2c6be5a76ca6a59220c7bf3","58e5f7be56dc310c730db38ab7df7bc1e17742bd54e55356f70def71cf45a847","c478bbdc874295b06acf9e4bf60b2a435157d1eb6f262109459c3ee7292867f3","61ec2be27c14fb6dd017426ccad9573d4195dece4182782fd36e9e584b9ba599","5d82c3d5fcade0c7833747f17639bc85e1c3590b6353127fb0d88a06ddd5febf","3caa6231ff6fb326b46c622f7160201b613704084ec83cb1b2733e50bfcf9048","06ca11584737df2b6c92198c60b4aa7eb5085fd0ae71e12e3ae1ede5fe815bf2","e7a9219ee898f35f559c031adc14f12a23232d1615196b64679665bc31aaeb09","a2659947000309025232a493a24559d02d894cdfa8c3781b03b89d7b6024503c","3d1029733b77f2d20a88c2a7c9fa2eef4117e02183a64adbb9e396fde58082a2","e2ec568b04b0f45098e9f41f9a4c4b79845086e1e97140c82d812eade0149535","0ec42fefa04cdc68782cefe6753d79a951bfaf0e3562d681b152b6a138abc607","7f9fd8afe650edbc896074b75fbab98b61d8f0e65dc0eca7f8fc867b1083703c","8d5e02343427bb0f8cd07e25f13fea96f16fda4d20c4bd0bb4eb5cb950fdfb85","8ca018e6dd4960711bcfc9a62bd4dba80794d7d436a61631339054042fdcd7a1","0318a89ce8ab11333f2110b24f21182b5cbe337d633e86c2f2c8be2371d876fd","5f627cd620351e3e4ed705f0abd6d84d289dd8141a781060954f074f93036634","c9a54df35f2b22840ea092492436f322ac9d74a0071a06555d55f65fd9110162","d3caa284f02d917e299c2cab4f537f6524c1db83e8c49ad61e222b185f338f8f","3e0f95e42eac290d1e264b67de09fa4f7b97715936d58b5f1a574b78bd1138cc","33253a790da4c3c4ca6fac42efe83f1f78f55d2a5d66a84a98ef2c24b92b12f8","5f9aba8441b8062079051597e04350eefb274a7dd93680f7a4a1ebd7f0248d59","426227bd53276130b79d2349ab70472df1bd5da5f108a1bdaa237d1a90c6af4d","f24fd0fade0ab2694b1038b1484505f61715660a5392dc8e414b5294f21dafde","f1ae7e612f0c9eeb7048ac5f1aff7f41530ac9e16c09f07222ce0ffc53a701d7","98b2be0257b290cd82d28207558424ccca1cbebd2f67b9d68205a2d9e3311785","3dd30d8cd53a684ecc336a21c411bcfd6c6766263f45fb38bf8a561dca33b9e3","0829af84d3368bd182c2c56a3277720a159e3296666a4a4b17e6ee945e3395d3","63aa5ef7c1fad8d6758f25e968e57a4973582866fa08a3429761597653eb39f2","5a323df23f74a335e727b2273b69b49a93c877c930a91d59c219dd69a8361ace","05b2c94345341a306f1635d9cc7f42e2af5df9d9a5f9d8399e1560e774566e50","6ac3496933bea2ed5aa344ce23d763219b5118f3b35df3b5f671513a4323df67","49ac3ac2280c77813ab79de1943f256014ce0a4d977d5c7b9da645b5a9126c7e","21259e4ae26bc1386e6969a3072d6ec31dc52ad81a07b151d66d9cb9ab81cb37","51bebf61fbc48fc20666609c19f96a2ea65bcffc4971d2c0c8d5f87e94dfa59b","aa3739ab80ddd103e094a807e4a94bd9c15afc4a05f23ac79f81770b968ac5a7","2faa34a7608af115c11431fc15842c10bbf8eb7b7be6f593f17d56c3622f4bf0","407658a55dd33cb86ab116fddf7e0ec138be2372d8053bd2bdd59f1d6768abc6","038353dc059db1b2aee89acea285136ae3e6980b7a00dfa055749a8c9c69446d","4ed6a5342d4b3c2ee3362fd92bf0d6accb987c61fc80390ea5a97aa7662a34a5","7de4f8be457ffdffe588d67d670f6045f3fa1f7b58943afcaec4a089ff6fc698","92ffda4b78c4ea27a9da946ad796803b7d1bbea5c50a515936212e3110d805bb","2df2a1cab9b187e3b04023e6f4efac8f9fd8ce350374b4b64c6cd6f9cd30a415","92993add08cef6c9b4022dc996971fa7a19f9db3cff8505801ab4b84b3763b5b","78be2b57be63cdcf2ee702b1b83b47bbad2e10e775d894be94cb762fe69e5555","5373e92103b4bac997c1c5a56fb20c33db307d23d7222a87e1c1d412aa778c89","a9507fd60c9bc85b529ad7fc61d0bb21d4b16dd91c0a522e08a00e5bd56471dc","f44eb61ba2b51021075d1895f65a610ebd4882c9ca13bfc5861c2a89750a5d7d","a8f115257802c52b66411b0f4fda408e46c12428e9d16fab24122b4ff42f6fa6","fb3f1cc0a373e662def2b5f0df965532c96842b3cdd3c3ddee5e889bbdaf5d4f","641868ca28d751af1921ce8f01cf8920786c7871e62d7af32b8b578708ebbd2d","a5844cfb811a2e5f74d23db5867f903b0fa3318893cdf7bec4935cdd77dc54dd","6d6041cdb33b5617d7051e91f19b6fce9a36790eab6a6bc8ebb70c34c8f871dd","05050b231258867f8aebd593c0d67398f7aec0f6485961b4303565d044bc5458","250f956bc1f2063274e1bd48bb96f9e8836a01b11079b53e58f9b3e64ca45dc0","6845602c11ba4aac544d64c44b98d9a997091f940651cfd4a13b895b63891e96","98c841548ee72f9822523738859fe26bb2b80f05b64be60f0fb06ab5b9b920ce","528fce4cf2b3cae42a1f05aefabb48e5036931478cb6f1413b92af50adbe6c33","103a8997c48f97ec021179711eff898df1c6d9c0123eeb66ff1fdd235169c7e9","7a742cb168c43514dff44c3f5abf2b378380e644bfa662d075e9c326b24aa632","41f179313ef9d36824c2d92efdae899d0b560f26ab3759088f9fdb47627eae2d","630a65d71ba7571e9880f174146ef544d2818cbcf85440869823a3c69bb13438","0f397304d0d60d06be9e49ff7d18dbfc4a3fa5b3f5d72e08d77c1bf1601bf4f6","03c011437c273915b8ccc1994a50398e797e53e7ce4209c0f0e1752f55a7c609","6581f800df7e785c8aab229f06bef765ad781f0bb353091a0f23375694c7891e","2889a5f3b6a7d9cd1dd50870cfd7d33b44fd5fb2b65a007e7324e4fcbf731981","2889a5f3b6a7d9cd1dd50870cfd7d33b44fd5fb2b65a007e7324e4fcbf731981"],"root":[48,[81,159]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":99,"outDir":"./","rootDir":"../src","skipLibCheck":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[73,1],[65,2],[72,3],[66,4],[69,5],[62,1],[64,6],[71,7],[63,8],[52,9],[50,10],[55,11],[57,12],[80,13],[59,14],[76,15],[74,15],[75,15],[77,16],[58,17],[82,18],[157,19],[155,20],[85,21],[132,22],[99,23],[156,24],[118,25],[154,26],[120,25],[129,25],[135,27],[112,28],[126,29],[107,30],[87,31],[86,32],[133,33],[104,34],[96,35],[92,36],[141,37],[139,37],[143,37],[142,37],[140,37],[100,38],[147,39],[102,40],[109,41],[91,42],[113,29],[152,43],[105,36],[98,44],[145,45],[115,46],[89,47],[128,48],[149,49],[117,50],[151,51],[111,28],[94,52],[119,53],[125,29],[124,54],[121,55],[137,56],[123,57],[131,58],[130,58],[153,59],[81,22],[83,60]],"affectedFilesPendingEmit":[[82,49],[48,49],[157,49],[134,49],[155,49],[106,49],[85,49],[132,49],[110,49],[103,49],[95,49],[158,49],[138,49],[99,49],[146,49],[101,49],[108,49],[90,49],[156,49],[159,49],[97,49],[144,49],[114,49],[88,49],[127,49],[148,49],[116,49],[150,49],[93,49],[118,49],[154,49],[84,49],[120,49],[136,49],[122,49],[129,49],[135,49],[112,49],[126,49],[107,49],[87,49],[86,49],[133,49],[104,49],[96,49],[92,49],[141,49],[139,49],[143,49],[142,49],[140,49],[100,49],[147,49],[102,49],[109,49],[91,49],[113,49],[152,49],[105,49],[98,49],[145,49],[115,49],[89,49],[128,49],[149,49],[117,49],[151,49],[111,49],[94,49],[119,49],[125,49],[124,49],[121,49],[137,49],[123,49],[131,49],[130,49],[153,49],[81,49],[83,49]],"emitSignatures":[48,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,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,150,151,152,153,154,155,156,157,158,159],"version":"5.9.3"}