@vrplatform/log 2.0.52 → 2.0.53

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.
Files changed (61) hide show
  1. package/build/main/baselog.d.ts +19 -0
  2. package/build/main/baselog.js +137 -0
  3. package/build/main/baselog.js.map +1 -0
  4. package/build/main/color.d.ts +54 -0
  5. package/build/main/color.js +371 -0
  6. package/build/main/color.js.map +1 -0
  7. package/build/main/common.d.ts +29 -0
  8. package/build/main/common.js +86 -0
  9. package/build/main/common.js.map +1 -0
  10. package/build/main/index.spec.d.ts +0 -0
  11. package/build/main/index.spec.js +2 -0
  12. package/build/main/index.spec.js.map +1 -0
  13. package/build/main/log/baselog.js +1 -0
  14. package/build/main/log/baselog.js.map +1 -1
  15. package/build/main/log/type.d.ts +1 -0
  16. package/build/main/tracking/types.d.ts +0 -8
  17. package/build/main/tsconfig.main.tsbuildinfo +1 -1
  18. package/build/main/type.d.ts +39 -0
  19. package/build/main/{tracking/eventTypes.js → type.js} +1 -1
  20. package/build/main/type.js.map +1 -0
  21. package/build/module/baselog.d.ts +19 -0
  22. package/build/module/baselog.js +120 -0
  23. package/build/module/baselog.js.map +1 -0
  24. package/build/module/color.d.ts +54 -0
  25. package/build/module/color.js +375 -0
  26. package/build/module/color.js.map +1 -0
  27. package/build/module/common.d.ts +29 -0
  28. package/build/module/common.js +80 -0
  29. package/build/module/common.js.map +1 -0
  30. package/build/module/index.spec.d.ts +0 -0
  31. package/build/module/index.spec.js +2 -0
  32. package/build/module/index.spec.js.map +1 -0
  33. package/build/module/log/baselog.js +1 -0
  34. package/build/module/log/baselog.js.map +1 -1
  35. package/build/module/log/type.d.ts +1 -0
  36. package/build/module/tracking/types.d.ts +0 -8
  37. package/build/module/tsconfig.esm.tsbuildinfo +1 -1
  38. package/build/module/type.d.ts +39 -0
  39. package/build/module/type.js +2 -0
  40. package/build/module/type.js.map +1 -0
  41. package/package.json +5 -5
  42. package/src/log/baselog.ts +1 -0
  43. package/src/log/type.ts +1 -0
  44. package/src/tracking/types.ts +0 -10
  45. package/build/main/tracking/_intercom.d.ts +0 -109
  46. package/build/main/tracking/_intercom.js +0 -139
  47. package/build/main/tracking/_intercom.js.map +0 -1
  48. package/build/main/tracking/eventTypes.d.ts +0 -16
  49. package/build/main/tracking/eventTypes.js.map +0 -1
  50. package/build/main/tracking/intercom.d.ts +0 -109
  51. package/build/main/tracking/intercom.js +0 -139
  52. package/build/main/tracking/intercom.js.map +0 -1
  53. package/build/module/tracking/_intercom.d.ts +0 -109
  54. package/build/module/tracking/_intercom.js +0 -136
  55. package/build/module/tracking/_intercom.js.map +0 -1
  56. package/build/module/tracking/eventTypes.d.ts +0 -16
  57. package/build/module/tracking/eventTypes.js +0 -2
  58. package/build/module/tracking/eventTypes.js.map +0 -1
  59. package/build/module/tracking/intercom.d.ts +0 -109
  60. package/build/module/tracking/intercom.js +0 -136
  61. package/build/module/tracking/intercom.js.map +0 -1
@@ -130,6 +130,7 @@ export function createBaseLog(
130
130
  message,
131
131
  extra,
132
132
  error,
133
+ context: childContext,
133
134
  tags: {
134
135
  sessionId: sid,
135
136
  correlationId: cid,
package/src/log/type.ts CHANGED
@@ -92,6 +92,7 @@ export type ConsoleLogFn = (arg: {
92
92
  message: string;
93
93
  extra: Record<string, any>;
94
94
  tags: LogTags;
95
+ context: Record<string, any>;
95
96
  level: LogLevel;
96
97
  error?: Error;
97
98
  }) => void;
@@ -121,7 +121,6 @@ export type TrackingEventProps = {
121
121
  hyperline_subscription_created: HyperlineSubscriptionCreatedProps;
122
122
  hyperline_subscription_errored: HyperlineSubscriptionErroredProps;
123
123
  hyperline_subscription_paused: HyperlineSubscriptionPausedProps;
124
- hyperline_subscription_reactivated: HyperlineSubscriptionReactivatedProps;
125
124
  hyperline_subscription_voided: HyperlineSubscriptionVoidedProps;
126
125
  hyperline_subscription_charged: HyperlineSubscriptionChargedProps;
127
126
  hyperline_customer_created: HyperlineCustomerCreatedProps;
@@ -490,15 +489,6 @@ type HyperlineSubscriptionPausedProps = Partial<{
490
489
  webhookEventType: 'subscription.paused';
491
490
  }>;
492
491
 
493
- // TODO: not documented in hyperline docs!!!
494
- type HyperlineSubscriptionReactivatedProps = Partial<{
495
- subscriptionId: string;
496
- subscriptionStatus: SubscriptionStatus;
497
- plan: string;
498
- tenantId: string;
499
- webhookEventType: 'subscription.reactivated';
500
- }>;
501
-
502
492
  type HyperlineSubscriptionVoidedProps = Partial<{
503
493
  subscriptionId: string;
504
494
  subscriptionStatus: SubscriptionStatus;
@@ -1,109 +0,0 @@
1
- import type { Log } from '../log';
2
- export declare class IntercomAPI {
3
- constructor(token: string, log?: Log);
4
- private headers;
5
- private log?;
6
- private fetch;
7
- getUserByUserId(userId: string): Promise<{
8
- type: "list";
9
- data: {
10
- id: string;
11
- }[] | undefined;
12
- total_count: 0;
13
- pages: {
14
- type: "pages";
15
- page: 1;
16
- per_page: 10;
17
- total_pages: 0;
18
- };
19
- } | undefined>;
20
- createUser({ data, userId, }: {
21
- userId: string;
22
- data: {
23
- email: string;
24
- name: string;
25
- custom_attributes: Record<string, any>;
26
- };
27
- }): Promise<unknown>;
28
- updateUser({ data, contactId, }: {
29
- contactId: string;
30
- data: {
31
- email?: string;
32
- name?: string;
33
- custom_attributes: Record<string, any>;
34
- [key: string]: any;
35
- };
36
- }): Promise<unknown>;
37
- deleteUser(intercom_contact_id: string): Promise<{
38
- id: "6657adf56abd0167d9419d1c";
39
- external_id: "70";
40
- type: "contact";
41
- deleted: true;
42
- } | undefined>;
43
- createCompanyUser(data: {
44
- intercom_contact_id: string;
45
- intercom_company_id: string;
46
- }): Promise<unknown>;
47
- deleteCompanyUser({ intercom_company_id, intercom_contact_id, }: {
48
- intercom_contact_id: string;
49
- intercom_company_id: string;
50
- }): Promise<{
51
- id: "6657adc96abd0167d9419ca7";
52
- } | undefined>;
53
- trackEvent(data: {
54
- user_id: string;
55
- event_name: string;
56
- metadata: Record<string, any>;
57
- }): Promise<unknown>;
58
- getCompanyByTenantId(tenantId: string): Promise<{
59
- type: "list";
60
- data: [{
61
- type: "company";
62
- company_id: "remote_companies_scroll_2";
63
- id: "664df5436abd01f7945e1a78";
64
- app_id: "this_is_an_id111_that_should_be_at_least_";
65
- name: "IntercomQATest1";
66
- remote_created_at: 1716385091;
67
- created_at: 1716385091;
68
- updated_at: 1716385091;
69
- monthly_spend: 0;
70
- session_count: 0;
71
- user_count: 4;
72
- tags: {
73
- type: "tag.list";
74
- tags: [];
75
- };
76
- segments: {
77
- type: "segment.list";
78
- segments: [];
79
- };
80
- custom_attributes: Record<string, string>;
81
- }] | undefined;
82
- pages: {
83
- type: "pages";
84
- next: null;
85
- page: 1;
86
- per_page: 15;
87
- total_pages: 1;
88
- };
89
- total_count: 1;
90
- } | undefined>;
91
- createCompany({ data, tenantId, }: {
92
- tenantId: string;
93
- data: {
94
- name: string;
95
- remote_created_at: number;
96
- custom_attributes: Record<string, any>;
97
- };
98
- }): Promise<unknown>;
99
- updateCompany({ data, companyId, }: {
100
- companyId: string;
101
- data: Record<string, any>;
102
- }): Promise<unknown>;
103
- deleteCompany(intercom_company_id: string): Promise<{
104
- id: "6657adc96abd0167d9419ca7";
105
- object: "company";
106
- deleted: true;
107
- } | undefined>;
108
- }
109
- export declare function useIntercom(token: string, log?: Log): IntercomAPI;
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IntercomAPI = void 0;
4
- exports.useIntercom = useIntercom;
5
- class IntercomAPI {
6
- constructor(token, log) {
7
- this.headers = {
8
- 'Content-Type': 'application/json',
9
- Accept: 'application/json',
10
- 'Intercom-Version': '2.11',
11
- Authorization: `Bearer ${token}`,
12
- };
13
- this.log = log;
14
- }
15
- async fetch(path, options) {
16
- if (options?.data) {
17
- options.body = JSON.stringify(options.data);
18
- options.data = undefined;
19
- }
20
- try {
21
- const result = await fetch(`https://api.intercom.io${path}`, {
22
- method: 'GET',
23
- headers: this.headers,
24
- ...options,
25
- });
26
- if (!result.ok) {
27
- this.log?.info('Failed to fetch from Intercom', {
28
- result: {
29
- status: result.status,
30
- statusText: result.statusText,
31
- body: await result.text(),
32
- },
33
- });
34
- if (result.status === 404)
35
- return undefined;
36
- if (result.status === 429) {
37
- console.log('Intercom rate limit exceeded, waiting for 1 minute');
38
- // X-RateLimit-Reset: 1487332520 => timestamp from header response when resetting
39
- const reset = Number(result.headers.get('X-RateLimit-Reset'));
40
- if (reset) {
41
- const now = Math.floor(Date.now() / 1000);
42
- const wait = reset - now + 1;
43
- console.log(`Waiting for ${wait} seconds`);
44
- await new Promise((resolve) => setTimeout(resolve, wait * 1000));
45
- return await this.fetch(path, options);
46
- }
47
- }
48
- }
49
- return result.status === 202 ? {} : (await result.json());
50
- }
51
- catch (error) {
52
- this.log?.error(error);
53
- return undefined;
54
- }
55
- }
56
- // User
57
- async getUserByUserId(userId) {
58
- return await this.fetch('/contacts/search', {
59
- method: 'POST',
60
- data: {
61
- query: {
62
- field: 'external_id',
63
- operator: '=',
64
- value: userId,
65
- },
66
- },
67
- });
68
- }
69
- async createUser({ data, userId, }) {
70
- return await this.fetch('/contacts', {
71
- method: 'POST',
72
- data: { ...data, external_id: userId },
73
- });
74
- }
75
- async updateUser({ data, contactId, }) {
76
- return await this.fetch(`/contacts/${contactId}`, {
77
- method: 'PUT',
78
- data,
79
- });
80
- }
81
- async deleteUser(intercom_contact_id) {
82
- return await this.fetch(`/contacts/${intercom_contact_id}`, {
83
- method: 'DELETE',
84
- });
85
- }
86
- async createCompanyUser(data) {
87
- return await this.fetch(`/contacts/${data.intercom_contact_id}/companies`, {
88
- method: 'POST',
89
- data: {
90
- id: data.intercom_company_id,
91
- },
92
- });
93
- }
94
- async deleteCompanyUser({ intercom_company_id, intercom_contact_id, }) {
95
- return await this.fetch(`/contacts/${intercom_contact_id}/companies/${intercom_company_id}`, {
96
- method: 'DELETE',
97
- });
98
- }
99
- async trackEvent(data) {
100
- return await this.fetch('/events', {
101
- method: 'POST',
102
- data: {
103
- created_at: Math.floor(new Date().getTime() / 1000), // to seconds
104
- ...data,
105
- },
106
- });
107
- }
108
- // Company
109
- async getCompanyByTenantId(tenantId) {
110
- return await this.fetch(`/companies?company_id=${tenantId}`, {
111
- method: 'GET',
112
- });
113
- }
114
- async createCompany({ data, tenantId, }) {
115
- return await this.fetch('/companies', {
116
- method: 'POST',
117
- data: {
118
- ...data,
119
- company_id: tenantId,
120
- },
121
- });
122
- }
123
- async updateCompany({ data, companyId, }) {
124
- return await this.fetch(`/companies/${companyId}`, {
125
- method: 'PUT',
126
- data,
127
- });
128
- }
129
- async deleteCompany(intercom_company_id) {
130
- return await this.fetch(`/companies/${intercom_company_id}`, {
131
- method: 'DELETE',
132
- });
133
- }
134
- }
135
- exports.IntercomAPI = IntercomAPI;
136
- function useIntercom(token, log) {
137
- return new IntercomAPI(token, log);
138
- }
139
- //# sourceMappingURL=_intercom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_intercom.js","sourceRoot":"src/","sources":["tracking/_intercom.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- type AuthEvent = 'account_signin_completed' | 'account_signup_code_requested' | 'account_signup_code_completed' | 'account_signup_code_failed' | 'account_signup_completed' | 'account_password_reset_requested' | 'account_password_reset_failed' | 'account_password_reset_completed' | 'account_invitation_accepted' | 'account_signed_out';
2
- type TeamEvent = 'team_added' | 'team_info_updated' | 'team_deleted' | 'team_member_removed';
3
- type ConnectionEvent = 'connection_created' | 'connection_reconnected' | 'connection_deleted' | 'connection_requested';
4
- type OwnershipEvent = 'ownership_created' | 'ownership_updated' | 'ownership_deleted';
5
- type OwnerEvent = 'owner_created' | 'owner_updated' | 'owner_deleted' | 'owner_tax_info_modal_opened' | 'owner_tax_info_modal_submitted';
6
- type SetupEvent = 'setup_classes_set' | 'setup_accounting_version_completed' | 'setup_accounting_config_completed' | 'setup_owner_imported' | 'setup_listing_imported';
7
- type AutomationEvent = 'automation_created' | 'automation_updated' | 'automation_deleted';
8
- type TaxStatementEvent = 'tax_statement_preview_opened' | 'tax_statement_downloaded';
9
- type GLOwnerStatementEvent = 'gl_owner_statement_preview_opened' | 'gl_owner_statement_downloaded';
10
- type HyperlineEvent = 'hyperline_invoice_ready' | 'hyperline_invoice_settled' | 'hyperline_trial_started' | 'hyperline_trial_ended' | 'hyperline_subscription_activated' | 'hyperline_subscription_cancelled' | 'hyperline_subscription_created' | 'hyperline_subscription_errored' | 'hyperline_subscription_paused' | 'hyperline_subscription_voided' | 'hyperline_subscription_charged' | 'hyperline_customer_created' | 'hyperline_customer_updated' | 'hyperline_payment_method_created' | 'hyperline_payment_method_errored' | 'hyperline_payment_method_deleted';
11
- type ListingEvent = 'listing_activated' | 'listing_deactivated';
12
- type ReportEvent = 'listings_reported';
13
- type UserEvent = 'update_refresh_accepted' | 'owner_statement_opened';
14
- type TestEvent = 'test_event' | 'test_error';
15
- export type TrackingEvent = AuthEvent | TeamEvent | ConnectionEvent | OwnershipEvent | OwnerEvent | SetupEvent | AutomationEvent | TaxStatementEvent | GLOwnerStatementEvent | HyperlineEvent | UserEvent | ListingEvent | ReportEvent | TestEvent;
16
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventTypes.js","sourceRoot":"src/","sources":["tracking/eventTypes.ts"],"names":[],"mappings":""}
@@ -1,109 +0,0 @@
1
- import type { Log } from '../log';
2
- export declare class IntercomAPI {
3
- constructor(token: string, log?: Log);
4
- private headers;
5
- private log?;
6
- private fetch;
7
- getUserByUserId(userId: string): Promise<{
8
- type: "list";
9
- data: {
10
- id: string;
11
- }[] | undefined;
12
- total_count: 0;
13
- pages: {
14
- type: "pages";
15
- page: 1;
16
- per_page: 10;
17
- total_pages: 0;
18
- };
19
- } | undefined>;
20
- createUser({ data, userId, }: {
21
- userId: string;
22
- data: {
23
- email: string;
24
- name: string;
25
- custom_attributes: Record<string, any>;
26
- };
27
- }): Promise<unknown>;
28
- updateUser({ data, contactId, }: {
29
- contactId: string;
30
- data: {
31
- email?: string;
32
- name?: string;
33
- custom_attributes: Record<string, any>;
34
- [key: string]: any;
35
- };
36
- }): Promise<unknown>;
37
- deleteUser(intercom_contact_id: string): Promise<{
38
- id: "6657adf56abd0167d9419d1c";
39
- external_id: "70";
40
- type: "contact";
41
- deleted: true;
42
- } | undefined>;
43
- createCompanyUser(data: {
44
- intercom_contact_id: string;
45
- intercom_company_id: string;
46
- }): Promise<unknown>;
47
- deleteCompanyUser({ intercom_company_id, intercom_contact_id, }: {
48
- intercom_contact_id: string;
49
- intercom_company_id: string;
50
- }): Promise<{
51
- id: "6657adc96abd0167d9419ca7";
52
- } | undefined>;
53
- trackEvent(data: {
54
- user_id: string;
55
- event_name: string;
56
- metadata: Record<string, any>;
57
- }): Promise<unknown>;
58
- getCompanyByTenantId(tenantId: string): Promise<{
59
- type: "list";
60
- data: [{
61
- type: "company";
62
- company_id: "remote_companies_scroll_2";
63
- id: "664df5436abd01f7945e1a78";
64
- app_id: "this_is_an_id111_that_should_be_at_least_";
65
- name: "IntercomQATest1";
66
- remote_created_at: 1716385091;
67
- created_at: 1716385091;
68
- updated_at: 1716385091;
69
- monthly_spend: 0;
70
- session_count: 0;
71
- user_count: 4;
72
- tags: {
73
- type: "tag.list";
74
- tags: [];
75
- };
76
- segments: {
77
- type: "segment.list";
78
- segments: [];
79
- };
80
- custom_attributes: Record<string, string>;
81
- }] | undefined;
82
- pages: {
83
- type: "pages";
84
- next: null;
85
- page: 1;
86
- per_page: 15;
87
- total_pages: 1;
88
- };
89
- total_count: 1;
90
- } | undefined>;
91
- createCompany({ data, tenantId, }: {
92
- tenantId: string;
93
- data: {
94
- name: string;
95
- remote_created_at: number;
96
- custom_attributes: Record<string, any>;
97
- };
98
- }): Promise<unknown>;
99
- updateCompany({ data, companyId, }: {
100
- companyId: string;
101
- data: Record<string, any>;
102
- }): Promise<unknown>;
103
- deleteCompany(intercom_company_id: string): Promise<{
104
- id: "6657adc96abd0167d9419ca7";
105
- object: "company";
106
- deleted: true;
107
- } | undefined>;
108
- }
109
- export declare function useIntercom(token: string, log?: Log): IntercomAPI;
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IntercomAPI = void 0;
4
- exports.useIntercom = useIntercom;
5
- class IntercomAPI {
6
- constructor(token, log) {
7
- this.headers = {
8
- 'Content-Type': 'application/json',
9
- Accept: 'application/json',
10
- 'Intercom-Version': '2.11',
11
- Authorization: `Bearer ${token}`,
12
- };
13
- this.log = log;
14
- }
15
- async fetch(path, options) {
16
- if (options?.data) {
17
- options.body = JSON.stringify(options.data);
18
- options.data = undefined;
19
- }
20
- try {
21
- const result = await fetch(`https://api.intercom.io${path}`, {
22
- method: 'GET',
23
- headers: this.headers,
24
- ...options,
25
- });
26
- if (!result.ok) {
27
- this.log?.info('Failed to fetch from Intercom', {
28
- result: {
29
- status: result.status,
30
- statusText: result.statusText,
31
- body: await result.text(),
32
- },
33
- });
34
- if (result.status === 404)
35
- return undefined;
36
- if (result.status === 429) {
37
- console.log('Intercom rate limit exceeded, waiting for 1 minute');
38
- // X-RateLimit-Reset: 1487332520 => timestamp from header response when resetting
39
- const reset = Number(result.headers.get('X-RateLimit-Reset'));
40
- if (reset) {
41
- const now = Math.floor(Date.now() / 1000);
42
- const wait = reset - now + 1;
43
- console.log(`Waiting for ${wait} seconds`);
44
- await new Promise((resolve) => setTimeout(resolve, wait * 1000));
45
- return await this.fetch(path, options);
46
- }
47
- }
48
- }
49
- return result.status === 202 ? {} : (await result.json());
50
- }
51
- catch (error) {
52
- this.log?.error(error);
53
- return undefined;
54
- }
55
- }
56
- // User
57
- async getUserByUserId(userId) {
58
- return await this.fetch('/contacts/search', {
59
- method: 'POST',
60
- data: {
61
- query: {
62
- field: 'external_id',
63
- operator: '=',
64
- value: userId,
65
- },
66
- },
67
- });
68
- }
69
- async createUser({ data, userId, }) {
70
- return await this.fetch('/contacts', {
71
- method: 'POST',
72
- data: { ...data, external_id: userId },
73
- });
74
- }
75
- async updateUser({ data, contactId, }) {
76
- return await this.fetch(`/contacts/${contactId}`, {
77
- method: 'PUT',
78
- data,
79
- });
80
- }
81
- async deleteUser(intercom_contact_id) {
82
- return await this.fetch(`/contacts/${intercom_contact_id}`, {
83
- method: 'DELETE',
84
- });
85
- }
86
- async createCompanyUser(data) {
87
- return await this.fetch(`/contacts/${data.intercom_contact_id}/companies`, {
88
- method: 'POST',
89
- data: {
90
- id: data.intercom_company_id,
91
- },
92
- });
93
- }
94
- async deleteCompanyUser({ intercom_company_id, intercom_contact_id, }) {
95
- return await this.fetch(`/contacts/${intercom_contact_id}/companies/${intercom_company_id}`, {
96
- method: 'DELETE',
97
- });
98
- }
99
- async trackEvent(data) {
100
- return await this.fetch('/events', {
101
- method: 'POST',
102
- data: {
103
- created_at: Math.floor(new Date().getTime() / 1000), // to seconds
104
- ...data,
105
- },
106
- });
107
- }
108
- // Company
109
- async getCompanyByTenantId(tenantId) {
110
- return await this.fetch(`/companies?company_id=${tenantId}`, {
111
- method: 'GET',
112
- });
113
- }
114
- async createCompany({ data, tenantId, }) {
115
- return await this.fetch('/companies', {
116
- method: 'POST',
117
- data: {
118
- ...data,
119
- company_id: tenantId,
120
- },
121
- });
122
- }
123
- async updateCompany({ data, companyId, }) {
124
- return await this.fetch(`/companies/${companyId}`, {
125
- method: 'PUT',
126
- data,
127
- });
128
- }
129
- async deleteCompany(intercom_company_id) {
130
- return await this.fetch(`/companies/${intercom_company_id}`, {
131
- method: 'DELETE',
132
- });
133
- }
134
- }
135
- exports.IntercomAPI = IntercomAPI;
136
- function useIntercom(token, log) {
137
- return new IntercomAPI(token, log);
138
- }
139
- //# sourceMappingURL=intercom.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intercom.js","sourceRoot":"src/","sources":["tracking/intercom.ts"],"names":[],"mappings":";;;AA+PA,kCAEC;AA/PD,MAAa,WAAW;IACtB,YAAY,KAAa,EAAE,GAAS;QAClC,IAAI,CAAC,OAAO,GAAG;YACb,cAAc,EAAE,kBAAkB;YAClC,MAAM,EAAE,kBAAkB;YAC1B,kBAAkB,EAAE,MAAM;YAC1B,aAAa,EAAE,UAAU,KAAK,EAAE;SACjC,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAKO,KAAK,CAAC,KAAK,CACjB,IAAY,EACZ,OAAsC;QAEtC,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,0BAA0B,IAAI,EAAE,EAAE;gBAC3D,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,OAAO;aACX,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,+BAA+B,EAAE;oBAC9C,MAAM,EAAE;wBACN,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,IAAI,EAAE,MAAM,MAAM,CAAC,IAAI,EAAE;qBAC1B;iBACF,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,SAAS,CAAC;gBAE5C,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;oBAClE,iFAAiF;oBAEjF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBAE9D,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;wBAC1C,MAAM,IAAI,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;wBAC7B,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC;wBAC3C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;wBAEjE,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAE,EAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAO,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO;IACP,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,MAAM,IAAI,CAAC,KAAK,CAUpB,kBAAkB,EAAE;YACrB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,KAAK,EAAE;oBACL,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,GAAG;oBACb,KAAK,EAAE,MAAM;iBACd;aACF;SACF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,EACf,IAAI,EACJ,MAAM,GAQP;QACC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,EACf,IAAI,EACJ,SAAS,GASV;QACC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,SAAS,EAAE,EAAE;YAChD,MAAM,EAAE,KAAK;YACb,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,mBAA2B;QAC1C,OAAO,MAAM,IAAI,CAAC,KAAK,CAKpB,aAAa,mBAAmB,EAAE,EAAE;YACrC,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,IAGvB;QACC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,mBAAmB,YAAY,EAAE;YACzE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,EAAE,EAAE,IAAI,CAAC,mBAAmB;aAC7B;SACF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,EACtB,mBAAmB,EACnB,mBAAmB,GAIpB;QACC,OAAO,MAAM,IAAI,CAAC,KAAK,CAEpB,aAAa,mBAAmB,cAAc,mBAAmB,EAAE,EAAE;YACtE,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAIhB;QACC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACjC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,aAAa;gBAClE,GAAG,IAAI;aACR;SACF,CAAC,CAAC;IACL,CAAC;IAED,UAAU;IACV,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACzC,OAAO,MAAM,IAAI,CAAC,KAAK,CAoCpB,yBAAyB,QAAQ,EAAE,EAAE;YACtC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,EAClB,IAAI,EACJ,QAAQ,GAQT;QACC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YACpC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,UAAU,EAAE,QAAQ;aACrB;SACF,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,EAClB,IAAI,EACJ,SAAS,GAIV;QACC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,SAAS,EAAE,EAAE;YACjD,MAAM,EAAE,KAAK;YACb,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,mBAA2B;QAC7C,OAAO,MAAM,IAAI,CAAC,KAAK,CAIpB,cAAc,mBAAmB,EAAE,EAAE;YACtC,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;IACL,CAAC;CACF;AA3PD,kCA2PC;AAED,SAAgB,WAAW,CAAC,KAAa,EAAE,GAAS;IAClD,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrC,CAAC"}