@campnetwork/origin 0.0.16 → 1.0.0-alpha.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/dist/core.cjs +84 -104
- package/dist/core.d.ts +26 -6
- package/dist/core.esm.d.ts +26 -6
- package/dist/core.esm.js +87 -107
- package/dist/react/components/toasts.d.ts +10 -0
- package/dist/react/index.esm.d.ts +31 -7
- package/dist/react/index.esm.js +1444 -741
- package/package.json +1 -1
package/dist/react/index.esm.js
CHANGED
|
@@ -104,11 +104,33 @@ const testnet = {
|
|
|
104
104
|
},
|
|
105
105
|
},
|
|
106
106
|
};
|
|
107
|
+
const mainnet = {
|
|
108
|
+
id: 484,
|
|
109
|
+
name: "Camp Network",
|
|
110
|
+
nativeCurrency: {
|
|
111
|
+
decimals: 18,
|
|
112
|
+
name: "Camp",
|
|
113
|
+
symbol: "CAMP",
|
|
114
|
+
},
|
|
115
|
+
rpcUrls: {
|
|
116
|
+
default: {
|
|
117
|
+
http: ["https://rpc.camp.raas.gelato.cloud/"],
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
blockExplorers: {
|
|
121
|
+
default: {
|
|
122
|
+
name: "Explorer",
|
|
123
|
+
url: "https://camp.cloud.blockscout.com/",
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
};
|
|
107
127
|
|
|
108
128
|
// @ts-ignore
|
|
109
129
|
let client = null;
|
|
110
130
|
let publicClient = null;
|
|
111
|
-
const getClient = (provider, name = "window.ethereum",
|
|
131
|
+
const getClient = (provider, name = "window.ethereum",
|
|
132
|
+
// chain: "mainnet" | "testnet" = "testnet",
|
|
133
|
+
chain, address) => {
|
|
112
134
|
var _a;
|
|
113
135
|
if (!provider && !client) {
|
|
114
136
|
console.warn("Provider is required to create a client.");
|
|
@@ -118,7 +140,8 @@ const getClient = (provider, name = "window.ethereum", address) => {
|
|
|
118
140
|
(client.transport.name !== name && provider) ||
|
|
119
141
|
(address !== ((_a = client.account) === null || _a === void 0 ? void 0 : _a.address) && provider)) {
|
|
120
142
|
const obj = {
|
|
121
|
-
chain: testnet,
|
|
143
|
+
// chain: chain === "mainnet" ? mainnet : testnet,
|
|
144
|
+
chain: chain || testnet,
|
|
122
145
|
transport: custom(provider, {
|
|
123
146
|
name: name,
|
|
124
147
|
}),
|
|
@@ -140,118 +163,7 @@ const getPublicClient = () => {
|
|
|
140
163
|
return publicClient;
|
|
141
164
|
};
|
|
142
165
|
|
|
143
|
-
var
|
|
144
|
-
SIWE_MESSAGE_STATEMENT: "Connect with Camp Network",
|
|
145
|
-
AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
|
|
146
|
-
ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
|
|
147
|
-
SUPPORTED_IMAGE_FORMATS: [
|
|
148
|
-
"image/jpeg",
|
|
149
|
-
"image/png",
|
|
150
|
-
"image/gif",
|
|
151
|
-
"image/webp",
|
|
152
|
-
],
|
|
153
|
-
SUPPORTED_VIDEO_FORMATS: ["video/mp4", "video/webm"],
|
|
154
|
-
SUPPORTED_AUDIO_FORMATS: ["audio/mpeg", "audio/wav", "audio/ogg"],
|
|
155
|
-
SUPPORTED_TEXT_FORMATS: ["text/plain"],
|
|
156
|
-
AVAILABLE_SOCIALS: ["twitter", "spotify", "tiktok"],
|
|
157
|
-
ACKEE_INSTANCE: "https://ackee-production-01bd.up.railway.app",
|
|
158
|
-
ACKEE_EVENTS: {
|
|
159
|
-
USER_CONNECTED: "ed42542d-b676-4112-b6d9-6db98048b2e0",
|
|
160
|
-
USER_DISCONNECTED: "20af31ac-e602-442e-9e0e-b589f4dd4016",
|
|
161
|
-
TWITTER_LINKED: "7fbea086-90ef-4679-ba69-f47f9255b34c",
|
|
162
|
-
DISCORD_LINKED: "d73f5ae3-a8e8-48f2-8532-85e0c7780d6a",
|
|
163
|
-
SPOTIFY_LINKED: "fc1788b4-c984-42c8-96f4-c87f6bb0b8f7",
|
|
164
|
-
TIKTOK_LINKED: "4a2ffdd3-f0e9-4784-8b49-ff76ec1c0a6a",
|
|
165
|
-
TELEGRAM_LINKED: "9006bc5d-bcc9-4d01-a860-4f1a201e8e47",
|
|
166
|
-
},
|
|
167
|
-
DATANFT_CONTRACT_ADDRESS: "0xF90733b9eCDa3b49C250B2C3E3E42c96fC93324E",
|
|
168
|
-
MARKETPLACE_CONTRACT_ADDRESS: "0x5c5e6b458b2e3924E7688b8Dee1Bb49088F6Fef5",
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
let providers = [];
|
|
172
|
-
const providerStore = {
|
|
173
|
-
value: () => providers,
|
|
174
|
-
subscribe: (callback) => {
|
|
175
|
-
function onAnnouncement(event) {
|
|
176
|
-
if (providers.some((p) => p.info.uuid === event.detail.info.uuid))
|
|
177
|
-
return;
|
|
178
|
-
providers = [...providers, event.detail];
|
|
179
|
-
callback(providers);
|
|
180
|
-
}
|
|
181
|
-
if (typeof window === "undefined")
|
|
182
|
-
return;
|
|
183
|
-
window.addEventListener("eip6963:announceProvider", onAnnouncement);
|
|
184
|
-
window.dispatchEvent(new Event("eip6963:requestProvider"));
|
|
185
|
-
return () => window.removeEventListener("eip6963:announceProvider", onAnnouncement);
|
|
186
|
-
},
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
/**
|
|
190
|
-
* Formats an Ethereum address by truncating it to the first and last n characters.
|
|
191
|
-
* @param {string} address - The Ethereum address to format.
|
|
192
|
-
* @param {number} n - The number of characters to keep from the start and end of the address.
|
|
193
|
-
* @return {string} - The formatted address.
|
|
194
|
-
*/
|
|
195
|
-
const formatAddress = (address, n = 8) => {
|
|
196
|
-
return `${address.slice(0, n)}...${address.slice(-n)}`;
|
|
197
|
-
};
|
|
198
|
-
/**
|
|
199
|
-
* Capitalizes the first letter of a string.
|
|
200
|
-
* @param {string} str - The string to capitalize.
|
|
201
|
-
* @return {string} - The capitalized string.
|
|
202
|
-
*/
|
|
203
|
-
const capitalize = (str) => {
|
|
204
|
-
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
205
|
-
};
|
|
206
|
-
/**
|
|
207
|
-
* Formats a Camp amount to a human-readable string.
|
|
208
|
-
* @param {number} amount - The Camp amount to format.
|
|
209
|
-
* @returns {string} - The formatted Camp amount.
|
|
210
|
-
*/
|
|
211
|
-
const formatCampAmount = (amount) => {
|
|
212
|
-
if (amount >= 1000) {
|
|
213
|
-
const formatted = (amount / 1000).toFixed(1);
|
|
214
|
-
return formatted.endsWith(".0")
|
|
215
|
-
? formatted.slice(0, -2) + "k"
|
|
216
|
-
: formatted + "k";
|
|
217
|
-
}
|
|
218
|
-
return amount.toString();
|
|
219
|
-
};
|
|
220
|
-
/**
|
|
221
|
-
* Uploads a file to a specified URL with progress tracking.
|
|
222
|
-
* Falls back to a simple fetch request if XMLHttpRequest is not available.
|
|
223
|
-
* @param {File} file - The file to upload.
|
|
224
|
-
* @param {string} url - The URL to upload the file to.
|
|
225
|
-
* @param {UploadProgressCallback} onProgress - A callback function to track upload progress.
|
|
226
|
-
* @returns {Promise<string>} - A promise that resolves with the response from the server.
|
|
227
|
-
*/
|
|
228
|
-
const uploadWithProgress = (file, url, onProgress) => {
|
|
229
|
-
return new Promise((resolve, reject) => {
|
|
230
|
-
axios
|
|
231
|
-
.put(url, file, Object.assign({ headers: {
|
|
232
|
-
"Content-Type": file.type,
|
|
233
|
-
} }, (typeof window !== "undefined" && typeof onProgress === "function"
|
|
234
|
-
? {
|
|
235
|
-
onUploadProgress: (progressEvent) => {
|
|
236
|
-
if (progressEvent.total) {
|
|
237
|
-
const percent = (progressEvent.loaded / progressEvent.total) * 100;
|
|
238
|
-
onProgress(percent);
|
|
239
|
-
}
|
|
240
|
-
},
|
|
241
|
-
}
|
|
242
|
-
: {})))
|
|
243
|
-
.then((res) => {
|
|
244
|
-
resolve(res.data);
|
|
245
|
-
})
|
|
246
|
-
.catch((error) => {
|
|
247
|
-
var _a;
|
|
248
|
-
const message = ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || (error === null || error === void 0 ? void 0 : error.message) || "Upload failed";
|
|
249
|
-
reject(message);
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
};
|
|
253
|
-
|
|
254
|
-
var abi$1 = [
|
|
166
|
+
var ipnftMainnetAbi = [
|
|
255
167
|
{
|
|
256
168
|
inputs: [
|
|
257
169
|
{
|
|
@@ -273,17 +185,31 @@ var abi$1 = [
|
|
|
273
185
|
internalType: "address",
|
|
274
186
|
name: "signer_",
|
|
275
187
|
type: "address"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
internalType: "address",
|
|
191
|
+
name: "wCAMP_",
|
|
192
|
+
type: "address"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
internalType: "uint256",
|
|
196
|
+
name: "minTermDuration_",
|
|
197
|
+
type: "uint256"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
internalType: "uint256",
|
|
201
|
+
name: "minPrice_",
|
|
202
|
+
type: "uint256"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
internalType: "uint256",
|
|
206
|
+
name: "maxRoyaltyBps_",
|
|
207
|
+
type: "uint256"
|
|
276
208
|
}
|
|
277
209
|
],
|
|
278
210
|
stateMutability: "nonpayable",
|
|
279
211
|
type: "constructor"
|
|
280
212
|
},
|
|
281
|
-
{
|
|
282
|
-
inputs: [
|
|
283
|
-
],
|
|
284
|
-
name: "DurationZero",
|
|
285
|
-
type: "error"
|
|
286
|
-
},
|
|
287
213
|
{
|
|
288
214
|
inputs: [
|
|
289
215
|
{
|
|
@@ -413,11 +339,18 @@ var abi$1 = [
|
|
|
413
339
|
},
|
|
414
340
|
{
|
|
415
341
|
inputs: [
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
342
|
+
],
|
|
343
|
+
name: "InvalidPaymentToken",
|
|
344
|
+
type: "error"
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
inputs: [
|
|
348
|
+
],
|
|
349
|
+
name: "InvalidPrice",
|
|
350
|
+
type: "error"
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
inputs: [
|
|
421
354
|
],
|
|
422
355
|
name: "InvalidRoyalty",
|
|
423
356
|
type: "error"
|
|
@@ -430,16 +363,6 @@ var abi$1 = [
|
|
|
430
363
|
},
|
|
431
364
|
{
|
|
432
365
|
inputs: [
|
|
433
|
-
{
|
|
434
|
-
internalType: "uint256",
|
|
435
|
-
name: "tokenId",
|
|
436
|
-
type: "uint256"
|
|
437
|
-
},
|
|
438
|
-
{
|
|
439
|
-
internalType: "address",
|
|
440
|
-
name: "caller",
|
|
441
|
-
type: "address"
|
|
442
|
-
}
|
|
443
366
|
],
|
|
444
367
|
name: "NotTokenOwner",
|
|
445
368
|
type: "error"
|
|
@@ -469,17 +392,6 @@ var abi$1 = [
|
|
|
469
392
|
{
|
|
470
393
|
inputs: [
|
|
471
394
|
],
|
|
472
|
-
name: "SignatureAlreadyUsed",
|
|
473
|
-
type: "error"
|
|
474
|
-
},
|
|
475
|
-
{
|
|
476
|
-
inputs: [
|
|
477
|
-
{
|
|
478
|
-
internalType: "uint256",
|
|
479
|
-
name: "tokenId",
|
|
480
|
-
type: "uint256"
|
|
481
|
-
}
|
|
482
|
-
],
|
|
483
395
|
name: "TokenAlreadyExists",
|
|
484
396
|
type: "error"
|
|
485
397
|
},
|
|
@@ -576,6 +488,31 @@ var abi$1 = [
|
|
|
576
488
|
name: "ApprovalForAll",
|
|
577
489
|
type: "event"
|
|
578
490
|
},
|
|
491
|
+
{
|
|
492
|
+
anonymous: false,
|
|
493
|
+
inputs: [
|
|
494
|
+
{
|
|
495
|
+
indexed: true,
|
|
496
|
+
internalType: "uint256",
|
|
497
|
+
name: "id",
|
|
498
|
+
type: "uint256"
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
indexed: true,
|
|
502
|
+
internalType: "uint256",
|
|
503
|
+
name: "childIp",
|
|
504
|
+
type: "uint256"
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
indexed: false,
|
|
508
|
+
internalType: "uint256",
|
|
509
|
+
name: "parentIp",
|
|
510
|
+
type: "uint256"
|
|
511
|
+
}
|
|
512
|
+
],
|
|
513
|
+
name: "ChildIpTagged",
|
|
514
|
+
type: "event"
|
|
515
|
+
},
|
|
579
516
|
{
|
|
580
517
|
anonymous: false,
|
|
581
518
|
inputs: [
|
|
@@ -615,6 +552,12 @@ var abi$1 = [
|
|
|
615
552
|
internalType: "bytes32",
|
|
616
553
|
name: "contentHash",
|
|
617
554
|
type: "bytes32"
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
indexed: false,
|
|
558
|
+
internalType: "uint256[]",
|
|
559
|
+
name: "parents",
|
|
560
|
+
type: "uint256[]"
|
|
618
561
|
}
|
|
619
562
|
],
|
|
620
563
|
name: "DataMinted",
|
|
@@ -625,31 +568,31 @@ var abi$1 = [
|
|
|
625
568
|
inputs: [
|
|
626
569
|
{
|
|
627
570
|
indexed: true,
|
|
628
|
-
internalType: "
|
|
629
|
-
name: "
|
|
630
|
-
type: "
|
|
571
|
+
internalType: "uint256",
|
|
572
|
+
name: "id",
|
|
573
|
+
type: "uint256"
|
|
631
574
|
},
|
|
632
575
|
{
|
|
633
|
-
indexed:
|
|
634
|
-
internalType: "
|
|
635
|
-
name: "
|
|
636
|
-
type: "
|
|
576
|
+
indexed: false,
|
|
577
|
+
internalType: "bytes32",
|
|
578
|
+
name: "counterEvidenceHash",
|
|
579
|
+
type: "bytes32"
|
|
637
580
|
}
|
|
638
581
|
],
|
|
639
|
-
name: "
|
|
582
|
+
name: "DisputeAssertion",
|
|
640
583
|
type: "event"
|
|
641
584
|
},
|
|
642
585
|
{
|
|
643
586
|
anonymous: false,
|
|
644
587
|
inputs: [
|
|
645
588
|
{
|
|
646
|
-
indexed:
|
|
647
|
-
internalType: "
|
|
648
|
-
name: "
|
|
649
|
-
type: "
|
|
589
|
+
indexed: true,
|
|
590
|
+
internalType: "uint256",
|
|
591
|
+
name: "id",
|
|
592
|
+
type: "uint256"
|
|
650
593
|
}
|
|
651
594
|
],
|
|
652
|
-
name: "
|
|
595
|
+
name: "DisputeCancelled",
|
|
653
596
|
type: "event"
|
|
654
597
|
},
|
|
655
598
|
{
|
|
@@ -658,29 +601,30 @@ var abi$1 = [
|
|
|
658
601
|
{
|
|
659
602
|
indexed: true,
|
|
660
603
|
internalType: "uint256",
|
|
661
|
-
name: "
|
|
604
|
+
name: "id",
|
|
662
605
|
type: "uint256"
|
|
663
606
|
},
|
|
664
607
|
{
|
|
665
608
|
indexed: false,
|
|
666
|
-
internalType: "
|
|
667
|
-
name: "
|
|
668
|
-
type: "
|
|
669
|
-
}
|
|
609
|
+
internalType: "bool",
|
|
610
|
+
name: "judgement",
|
|
611
|
+
type: "bool"
|
|
612
|
+
}
|
|
613
|
+
],
|
|
614
|
+
name: "DisputeJudged",
|
|
615
|
+
type: "event"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
anonymous: false,
|
|
619
|
+
inputs: [
|
|
670
620
|
{
|
|
671
|
-
indexed:
|
|
621
|
+
indexed: true,
|
|
672
622
|
internalType: "address",
|
|
673
|
-
name: "
|
|
623
|
+
name: "disputeModule",
|
|
674
624
|
type: "address"
|
|
675
|
-
},
|
|
676
|
-
{
|
|
677
|
-
indexed: false,
|
|
678
|
-
internalType: "uint256",
|
|
679
|
-
name: "protocolAmount",
|
|
680
|
-
type: "uint256"
|
|
681
625
|
}
|
|
682
626
|
],
|
|
683
|
-
name: "
|
|
627
|
+
name: "DisputeModuleUpdated",
|
|
684
628
|
type: "event"
|
|
685
629
|
},
|
|
686
630
|
{
|
|
@@ -689,15 +633,154 @@ var abi$1 = [
|
|
|
689
633
|
{
|
|
690
634
|
indexed: true,
|
|
691
635
|
internalType: "uint256",
|
|
692
|
-
name: "
|
|
636
|
+
name: "id",
|
|
693
637
|
type: "uint256"
|
|
694
638
|
},
|
|
695
639
|
{
|
|
696
|
-
indexed:
|
|
697
|
-
internalType: "
|
|
698
|
-
name: "
|
|
699
|
-
type: "
|
|
700
|
-
},
|
|
640
|
+
indexed: true,
|
|
641
|
+
internalType: "address",
|
|
642
|
+
name: "initiator",
|
|
643
|
+
type: "address"
|
|
644
|
+
},
|
|
645
|
+
{
|
|
646
|
+
indexed: true,
|
|
647
|
+
internalType: "uint256",
|
|
648
|
+
name: "targetId",
|
|
649
|
+
type: "uint256"
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
indexed: false,
|
|
653
|
+
internalType: "bytes32",
|
|
654
|
+
name: "disputeTag",
|
|
655
|
+
type: "bytes32"
|
|
656
|
+
}
|
|
657
|
+
],
|
|
658
|
+
name: "DisputeRaised",
|
|
659
|
+
type: "event"
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
anonymous: false,
|
|
663
|
+
inputs: [
|
|
664
|
+
{
|
|
665
|
+
indexed: true,
|
|
666
|
+
internalType: "address",
|
|
667
|
+
name: "marketPlace",
|
|
668
|
+
type: "address"
|
|
669
|
+
}
|
|
670
|
+
],
|
|
671
|
+
name: "MarketPlaceUpdated",
|
|
672
|
+
type: "event"
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
anonymous: false,
|
|
676
|
+
inputs: [
|
|
677
|
+
{
|
|
678
|
+
indexed: true,
|
|
679
|
+
internalType: "address",
|
|
680
|
+
name: "previousOwner",
|
|
681
|
+
type: "address"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
indexed: true,
|
|
685
|
+
internalType: "address",
|
|
686
|
+
name: "newOwner",
|
|
687
|
+
type: "address"
|
|
688
|
+
}
|
|
689
|
+
],
|
|
690
|
+
name: "OwnershipTransferred",
|
|
691
|
+
type: "event"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
anonymous: false,
|
|
695
|
+
inputs: [
|
|
696
|
+
{
|
|
697
|
+
indexed: false,
|
|
698
|
+
internalType: "address",
|
|
699
|
+
name: "account",
|
|
700
|
+
type: "address"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
name: "Paused",
|
|
704
|
+
type: "event"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
anonymous: false,
|
|
708
|
+
inputs: [
|
|
709
|
+
{
|
|
710
|
+
indexed: true,
|
|
711
|
+
internalType: "uint256",
|
|
712
|
+
name: "tokenId",
|
|
713
|
+
type: "uint256"
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
indexed: false,
|
|
717
|
+
internalType: "uint256",
|
|
718
|
+
name: "royaltyAmount",
|
|
719
|
+
type: "uint256"
|
|
720
|
+
},
|
|
721
|
+
{
|
|
722
|
+
indexed: false,
|
|
723
|
+
internalType: "address",
|
|
724
|
+
name: "creator",
|
|
725
|
+
type: "address"
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
indexed: false,
|
|
729
|
+
internalType: "uint256",
|
|
730
|
+
name: "protocolAmount",
|
|
731
|
+
type: "uint256"
|
|
732
|
+
}
|
|
733
|
+
],
|
|
734
|
+
name: "RoyaltyPaid",
|
|
735
|
+
type: "event"
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
anonymous: false,
|
|
739
|
+
inputs: [
|
|
740
|
+
{
|
|
741
|
+
indexed: true,
|
|
742
|
+
internalType: "address",
|
|
743
|
+
name: "signer",
|
|
744
|
+
type: "address"
|
|
745
|
+
}
|
|
746
|
+
],
|
|
747
|
+
name: "SignerUpdated",
|
|
748
|
+
type: "event"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
anonymous: false,
|
|
752
|
+
inputs: [
|
|
753
|
+
{
|
|
754
|
+
indexed: true,
|
|
755
|
+
internalType: "uint256",
|
|
756
|
+
name: "tokenId",
|
|
757
|
+
type: "uint256"
|
|
758
|
+
},
|
|
759
|
+
{
|
|
760
|
+
indexed: false,
|
|
761
|
+
internalType: "enum IIpNFT.DataStatus",
|
|
762
|
+
name: "status",
|
|
763
|
+
type: "uint8"
|
|
764
|
+
}
|
|
765
|
+
],
|
|
766
|
+
name: "StatusUpdated",
|
|
767
|
+
type: "event"
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
anonymous: false,
|
|
771
|
+
inputs: [
|
|
772
|
+
{
|
|
773
|
+
indexed: true,
|
|
774
|
+
internalType: "uint256",
|
|
775
|
+
name: "tokenId",
|
|
776
|
+
type: "uint256"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
indexed: false,
|
|
780
|
+
internalType: "uint128",
|
|
781
|
+
name: "newPrice",
|
|
782
|
+
type: "uint128"
|
|
783
|
+
},
|
|
701
784
|
{
|
|
702
785
|
indexed: false,
|
|
703
786
|
internalType: "uint32",
|
|
@@ -800,16 +883,16 @@ var abi$1 = [
|
|
|
800
883
|
inputs: [
|
|
801
884
|
{
|
|
802
885
|
internalType: "uint256",
|
|
803
|
-
name: "",
|
|
886
|
+
name: "tokenId",
|
|
804
887
|
type: "uint256"
|
|
805
888
|
}
|
|
806
889
|
],
|
|
807
|
-
name: "
|
|
890
|
+
name: "dataStatus",
|
|
808
891
|
outputs: [
|
|
809
892
|
{
|
|
810
|
-
internalType: "
|
|
893
|
+
internalType: "enum IIpNFT.DataStatus",
|
|
811
894
|
name: "",
|
|
812
|
-
type: "
|
|
895
|
+
type: "uint8"
|
|
813
896
|
}
|
|
814
897
|
],
|
|
815
898
|
stateMutability: "view",
|
|
@@ -817,18 +900,13 @@ var abi$1 = [
|
|
|
817
900
|
},
|
|
818
901
|
{
|
|
819
902
|
inputs: [
|
|
820
|
-
{
|
|
821
|
-
internalType: "uint256",
|
|
822
|
-
name: "",
|
|
823
|
-
type: "uint256"
|
|
824
|
-
}
|
|
825
903
|
],
|
|
826
|
-
name: "
|
|
904
|
+
name: "disputeModule",
|
|
827
905
|
outputs: [
|
|
828
906
|
{
|
|
829
|
-
internalType: "
|
|
907
|
+
internalType: "address",
|
|
830
908
|
name: "",
|
|
831
|
-
type: "
|
|
909
|
+
type: "address"
|
|
832
910
|
}
|
|
833
911
|
],
|
|
834
912
|
stateMutability: "view",
|
|
@@ -867,6 +945,25 @@ var abi$1 = [
|
|
|
867
945
|
stateMutability: "view",
|
|
868
946
|
type: "function"
|
|
869
947
|
},
|
|
948
|
+
{
|
|
949
|
+
inputs: [
|
|
950
|
+
{
|
|
951
|
+
internalType: "address",
|
|
952
|
+
name: "tokenOwner",
|
|
953
|
+
type: "address"
|
|
954
|
+
}
|
|
955
|
+
],
|
|
956
|
+
name: "getOrCreateRoyaltyVault",
|
|
957
|
+
outputs: [
|
|
958
|
+
{
|
|
959
|
+
internalType: "address",
|
|
960
|
+
name: "vault",
|
|
961
|
+
type: "address"
|
|
962
|
+
}
|
|
963
|
+
],
|
|
964
|
+
stateMutability: "nonpayable",
|
|
965
|
+
type: "function"
|
|
966
|
+
},
|
|
870
967
|
{
|
|
871
968
|
inputs: [
|
|
872
969
|
{
|
|
@@ -900,7 +997,7 @@ var abi$1 = [
|
|
|
900
997
|
type: "address"
|
|
901
998
|
}
|
|
902
999
|
],
|
|
903
|
-
internalType: "struct
|
|
1000
|
+
internalType: "struct IIpNFT.LicenseTerms",
|
|
904
1001
|
name: "",
|
|
905
1002
|
type: "tuple"
|
|
906
1003
|
}
|
|
@@ -932,6 +1029,48 @@ var abi$1 = [
|
|
|
932
1029
|
stateMutability: "view",
|
|
933
1030
|
type: "function"
|
|
934
1031
|
},
|
|
1032
|
+
{
|
|
1033
|
+
inputs: [
|
|
1034
|
+
{
|
|
1035
|
+
internalType: "uint256",
|
|
1036
|
+
name: "_tokenId",
|
|
1037
|
+
type: "uint256"
|
|
1038
|
+
}
|
|
1039
|
+
],
|
|
1040
|
+
name: "markDisputed",
|
|
1041
|
+
outputs: [
|
|
1042
|
+
],
|
|
1043
|
+
stateMutability: "nonpayable",
|
|
1044
|
+
type: "function"
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
inputs: [
|
|
1048
|
+
],
|
|
1049
|
+
name: "marketPlace",
|
|
1050
|
+
outputs: [
|
|
1051
|
+
{
|
|
1052
|
+
internalType: "contract IMarketplace",
|
|
1053
|
+
name: "",
|
|
1054
|
+
type: "address"
|
|
1055
|
+
}
|
|
1056
|
+
],
|
|
1057
|
+
stateMutability: "view",
|
|
1058
|
+
type: "function"
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
inputs: [
|
|
1062
|
+
],
|
|
1063
|
+
name: "maxRoyaltyBps",
|
|
1064
|
+
outputs: [
|
|
1065
|
+
{
|
|
1066
|
+
internalType: "uint256",
|
|
1067
|
+
name: "",
|
|
1068
|
+
type: "uint256"
|
|
1069
|
+
}
|
|
1070
|
+
],
|
|
1071
|
+
stateMutability: "view",
|
|
1072
|
+
type: "function"
|
|
1073
|
+
},
|
|
935
1074
|
{
|
|
936
1075
|
inputs: [
|
|
937
1076
|
],
|
|
@@ -946,6 +1085,34 @@ var abi$1 = [
|
|
|
946
1085
|
stateMutability: "view",
|
|
947
1086
|
type: "function"
|
|
948
1087
|
},
|
|
1088
|
+
{
|
|
1089
|
+
inputs: [
|
|
1090
|
+
],
|
|
1091
|
+
name: "minPrice",
|
|
1092
|
+
outputs: [
|
|
1093
|
+
{
|
|
1094
|
+
internalType: "uint256",
|
|
1095
|
+
name: "",
|
|
1096
|
+
type: "uint256"
|
|
1097
|
+
}
|
|
1098
|
+
],
|
|
1099
|
+
stateMutability: "view",
|
|
1100
|
+
type: "function"
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
inputs: [
|
|
1104
|
+
],
|
|
1105
|
+
name: "minTermDuration",
|
|
1106
|
+
outputs: [
|
|
1107
|
+
{
|
|
1108
|
+
internalType: "uint256",
|
|
1109
|
+
name: "",
|
|
1110
|
+
type: "uint256"
|
|
1111
|
+
}
|
|
1112
|
+
],
|
|
1113
|
+
stateMutability: "view",
|
|
1114
|
+
type: "function"
|
|
1115
|
+
},
|
|
949
1116
|
{
|
|
950
1117
|
inputs: [
|
|
951
1118
|
{
|
|
@@ -958,11 +1125,6 @@ var abi$1 = [
|
|
|
958
1125
|
name: "tokenId",
|
|
959
1126
|
type: "uint256"
|
|
960
1127
|
},
|
|
961
|
-
{
|
|
962
|
-
internalType: "uint256",
|
|
963
|
-
name: "parentId",
|
|
964
|
-
type: "uint256"
|
|
965
|
-
},
|
|
966
1128
|
{
|
|
967
1129
|
internalType: "bytes32",
|
|
968
1130
|
name: "creatorContentHash",
|
|
@@ -996,7 +1158,7 @@ var abi$1 = [
|
|
|
996
1158
|
type: "address"
|
|
997
1159
|
}
|
|
998
1160
|
],
|
|
999
|
-
internalType: "struct
|
|
1161
|
+
internalType: "struct IIpNFT.LicenseTerms",
|
|
1000
1162
|
name: "licenseTerms",
|
|
1001
1163
|
type: "tuple"
|
|
1002
1164
|
},
|
|
@@ -1005,6 +1167,11 @@ var abi$1 = [
|
|
|
1005
1167
|
name: "deadline",
|
|
1006
1168
|
type: "uint256"
|
|
1007
1169
|
},
|
|
1170
|
+
{
|
|
1171
|
+
internalType: "uint256[]",
|
|
1172
|
+
name: "parents",
|
|
1173
|
+
type: "uint256[]"
|
|
1174
|
+
},
|
|
1008
1175
|
{
|
|
1009
1176
|
internalType: "bytes",
|
|
1010
1177
|
name: "signature",
|
|
@@ -1064,25 +1231,6 @@ var abi$1 = [
|
|
|
1064
1231
|
stateMutability: "view",
|
|
1065
1232
|
type: "function"
|
|
1066
1233
|
},
|
|
1067
|
-
{
|
|
1068
|
-
inputs: [
|
|
1069
|
-
{
|
|
1070
|
-
internalType: "uint256",
|
|
1071
|
-
name: "",
|
|
1072
|
-
type: "uint256"
|
|
1073
|
-
}
|
|
1074
|
-
],
|
|
1075
|
-
name: "parentIpOf",
|
|
1076
|
-
outputs: [
|
|
1077
|
-
{
|
|
1078
|
-
internalType: "uint256",
|
|
1079
|
-
name: "",
|
|
1080
|
-
type: "uint256"
|
|
1081
|
-
}
|
|
1082
|
-
],
|
|
1083
|
-
stateMutability: "view",
|
|
1084
|
-
type: "function"
|
|
1085
|
-
},
|
|
1086
1234
|
{
|
|
1087
1235
|
inputs: [
|
|
1088
1236
|
],
|
|
@@ -1115,73 +1263,6 @@ var abi$1 = [
|
|
|
1115
1263
|
stateMutability: "nonpayable",
|
|
1116
1264
|
type: "function"
|
|
1117
1265
|
},
|
|
1118
|
-
{
|
|
1119
|
-
inputs: [
|
|
1120
|
-
{
|
|
1121
|
-
internalType: "uint256",
|
|
1122
|
-
name: "tokenId",
|
|
1123
|
-
type: "uint256"
|
|
1124
|
-
},
|
|
1125
|
-
{
|
|
1126
|
-
internalType: "uint256",
|
|
1127
|
-
name: "salePrice",
|
|
1128
|
-
type: "uint256"
|
|
1129
|
-
}
|
|
1130
|
-
],
|
|
1131
|
-
name: "royaltyInfo",
|
|
1132
|
-
outputs: [
|
|
1133
|
-
{
|
|
1134
|
-
internalType: "address",
|
|
1135
|
-
name: "receiver",
|
|
1136
|
-
type: "address"
|
|
1137
|
-
},
|
|
1138
|
-
{
|
|
1139
|
-
internalType: "uint256",
|
|
1140
|
-
name: "royaltyAmount",
|
|
1141
|
-
type: "uint256"
|
|
1142
|
-
}
|
|
1143
|
-
],
|
|
1144
|
-
stateMutability: "view",
|
|
1145
|
-
type: "function"
|
|
1146
|
-
},
|
|
1147
|
-
{
|
|
1148
|
-
inputs: [
|
|
1149
|
-
{
|
|
1150
|
-
internalType: "uint256",
|
|
1151
|
-
name: "",
|
|
1152
|
-
type: "uint256"
|
|
1153
|
-
}
|
|
1154
|
-
],
|
|
1155
|
-
name: "royaltyPercentages",
|
|
1156
|
-
outputs: [
|
|
1157
|
-
{
|
|
1158
|
-
internalType: "uint16",
|
|
1159
|
-
name: "",
|
|
1160
|
-
type: "uint16"
|
|
1161
|
-
}
|
|
1162
|
-
],
|
|
1163
|
-
stateMutability: "view",
|
|
1164
|
-
type: "function"
|
|
1165
|
-
},
|
|
1166
|
-
{
|
|
1167
|
-
inputs: [
|
|
1168
|
-
{
|
|
1169
|
-
internalType: "uint256",
|
|
1170
|
-
name: "",
|
|
1171
|
-
type: "uint256"
|
|
1172
|
-
}
|
|
1173
|
-
],
|
|
1174
|
-
name: "royaltyReceivers",
|
|
1175
|
-
outputs: [
|
|
1176
|
-
{
|
|
1177
|
-
internalType: "address",
|
|
1178
|
-
name: "",
|
|
1179
|
-
type: "address"
|
|
1180
|
-
}
|
|
1181
|
-
],
|
|
1182
|
-
stateMutability: "view",
|
|
1183
|
-
type: "function"
|
|
1184
|
-
},
|
|
1185
1266
|
{
|
|
1186
1267
|
inputs: [
|
|
1187
1268
|
{
|
|
@@ -1254,6 +1335,34 @@ var abi$1 = [
|
|
|
1254
1335
|
stateMutability: "nonpayable",
|
|
1255
1336
|
type: "function"
|
|
1256
1337
|
},
|
|
1338
|
+
{
|
|
1339
|
+
inputs: [
|
|
1340
|
+
{
|
|
1341
|
+
internalType: "address",
|
|
1342
|
+
name: "_disputeModule",
|
|
1343
|
+
type: "address"
|
|
1344
|
+
}
|
|
1345
|
+
],
|
|
1346
|
+
name: "setDisputeModule",
|
|
1347
|
+
outputs: [
|
|
1348
|
+
],
|
|
1349
|
+
stateMutability: "nonpayable",
|
|
1350
|
+
type: "function"
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
inputs: [
|
|
1354
|
+
{
|
|
1355
|
+
internalType: "address",
|
|
1356
|
+
name: "_marketPlace",
|
|
1357
|
+
type: "address"
|
|
1358
|
+
}
|
|
1359
|
+
],
|
|
1360
|
+
name: "setMarketPlace",
|
|
1361
|
+
outputs: [
|
|
1362
|
+
],
|
|
1363
|
+
stateMutability: "nonpayable",
|
|
1364
|
+
type: "function"
|
|
1365
|
+
},
|
|
1257
1366
|
{
|
|
1258
1367
|
inputs: [
|
|
1259
1368
|
{
|
|
@@ -1323,27 +1432,49 @@ var abi$1 = [
|
|
|
1323
1432
|
type: "uint256"
|
|
1324
1433
|
}
|
|
1325
1434
|
],
|
|
1326
|
-
name: "
|
|
1435
|
+
name: "tokenInfo",
|
|
1327
1436
|
outputs: [
|
|
1328
1437
|
{
|
|
1329
|
-
internalType: "
|
|
1330
|
-
name: "
|
|
1331
|
-
type: "
|
|
1438
|
+
internalType: "string",
|
|
1439
|
+
name: "tokenURI",
|
|
1440
|
+
type: "string"
|
|
1332
1441
|
},
|
|
1333
1442
|
{
|
|
1334
|
-
internalType: "
|
|
1335
|
-
name: "
|
|
1336
|
-
type: "
|
|
1443
|
+
internalType: "bytes32",
|
|
1444
|
+
name: "contentHash",
|
|
1445
|
+
type: "bytes32"
|
|
1337
1446
|
},
|
|
1338
1447
|
{
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1448
|
+
components: [
|
|
1449
|
+
{
|
|
1450
|
+
internalType: "uint128",
|
|
1451
|
+
name: "price",
|
|
1452
|
+
type: "uint128"
|
|
1453
|
+
},
|
|
1454
|
+
{
|
|
1455
|
+
internalType: "uint32",
|
|
1456
|
+
name: "duration",
|
|
1457
|
+
type: "uint32"
|
|
1458
|
+
},
|
|
1459
|
+
{
|
|
1460
|
+
internalType: "uint16",
|
|
1461
|
+
name: "royaltyBps",
|
|
1462
|
+
type: "uint16"
|
|
1463
|
+
},
|
|
1464
|
+
{
|
|
1465
|
+
internalType: "address",
|
|
1466
|
+
name: "paymentToken",
|
|
1467
|
+
type: "address"
|
|
1468
|
+
}
|
|
1469
|
+
],
|
|
1470
|
+
internalType: "struct IIpNFT.LicenseTerms",
|
|
1471
|
+
name: "terms",
|
|
1472
|
+
type: "tuple"
|
|
1342
1473
|
},
|
|
1343
1474
|
{
|
|
1344
|
-
internalType: "
|
|
1345
|
-
name: "
|
|
1346
|
-
type: "
|
|
1475
|
+
internalType: "enum IIpNFT.DataStatus",
|
|
1476
|
+
name: "status",
|
|
1477
|
+
type: "uint8"
|
|
1347
1478
|
}
|
|
1348
1479
|
],
|
|
1349
1480
|
stateMutability: "view",
|
|
@@ -1422,11 +1553,6 @@ var abi$1 = [
|
|
|
1422
1553
|
name: "tokenId",
|
|
1423
1554
|
type: "uint256"
|
|
1424
1555
|
},
|
|
1425
|
-
{
|
|
1426
|
-
internalType: "address",
|
|
1427
|
-
name: "_royaltyReceiver",
|
|
1428
|
-
type: "address"
|
|
1429
|
-
},
|
|
1430
1556
|
{
|
|
1431
1557
|
components: [
|
|
1432
1558
|
{
|
|
@@ -1450,7 +1576,7 @@ var abi$1 = [
|
|
|
1450
1576
|
type: "address"
|
|
1451
1577
|
}
|
|
1452
1578
|
],
|
|
1453
|
-
internalType: "struct
|
|
1579
|
+
internalType: "struct IIpNFT.LicenseTerms",
|
|
1454
1580
|
name: "newTerms",
|
|
1455
1581
|
type: "tuple"
|
|
1456
1582
|
}
|
|
@@ -1463,18 +1589,13 @@ var abi$1 = [
|
|
|
1463
1589
|
},
|
|
1464
1590
|
{
|
|
1465
1591
|
inputs: [
|
|
1466
|
-
{
|
|
1467
|
-
internalType: "bytes32",
|
|
1468
|
-
name: "",
|
|
1469
|
-
type: "bytes32"
|
|
1470
|
-
}
|
|
1471
1592
|
],
|
|
1472
|
-
name: "
|
|
1593
|
+
name: "wCAMP",
|
|
1473
1594
|
outputs: [
|
|
1474
1595
|
{
|
|
1475
|
-
internalType: "
|
|
1596
|
+
internalType: "address",
|
|
1476
1597
|
name: "",
|
|
1477
|
-
type: "
|
|
1598
|
+
type: "address"
|
|
1478
1599
|
}
|
|
1479
1600
|
],
|
|
1480
1601
|
stateMutability: "view",
|
|
@@ -1482,129 +1603,7 @@ var abi$1 = [
|
|
|
1482
1603
|
}
|
|
1483
1604
|
];
|
|
1484
1605
|
|
|
1485
|
-
|
|
1486
|
-
* Mints a Data NFT with a signature.
|
|
1487
|
-
* @param to The address to mint the NFT to.
|
|
1488
|
-
* @param tokenId The ID of the token to mint.
|
|
1489
|
-
* @param parentId The ID of the parent NFT, if applicable.
|
|
1490
|
-
* @param hash The hash of the data associated with the NFT.
|
|
1491
|
-
* @param uri The URI of the NFT metadata.
|
|
1492
|
-
* @param licenseTerms The terms of the license for the NFT.
|
|
1493
|
-
* @param deadline The deadline for the minting operation.
|
|
1494
|
-
* @param signature The signature for the minting operation.
|
|
1495
|
-
* @returns A promise that resolves when the minting is complete.
|
|
1496
|
-
*/
|
|
1497
|
-
function mintWithSignature(to, tokenId, parentId, hash, uri, licenseTerms, deadline, signature) {
|
|
1498
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1499
|
-
return yield this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "mintWithSignature", [to, tokenId, parentId, hash, uri, licenseTerms, deadline, signature], { waitForReceipt: true });
|
|
1500
|
-
});
|
|
1501
|
-
}
|
|
1502
|
-
/**
|
|
1503
|
-
* Registers a Data NFT with the Origin service in order to obtain a signature for minting.
|
|
1504
|
-
* @param source The source of the Data NFT (e.g., "spotify", "twitter", "tiktok", or "file").
|
|
1505
|
-
* @param deadline The deadline for the registration operation.
|
|
1506
|
-
* @param fileKey Optional file key for file uploads.
|
|
1507
|
-
* @return A promise that resolves with the registration data.
|
|
1508
|
-
*/
|
|
1509
|
-
function registerIpNFT(source, deadline, licenseTerms, metadata, fileKey, parentId) {
|
|
1510
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1511
|
-
const body = {
|
|
1512
|
-
source,
|
|
1513
|
-
deadline: Number(deadline),
|
|
1514
|
-
licenseTerms: {
|
|
1515
|
-
price: licenseTerms.price.toString(),
|
|
1516
|
-
duration: licenseTerms.duration,
|
|
1517
|
-
royaltyBps: licenseTerms.royaltyBps,
|
|
1518
|
-
paymentToken: licenseTerms.paymentToken,
|
|
1519
|
-
},
|
|
1520
|
-
metadata,
|
|
1521
|
-
parentId: Number(parentId) || 0,
|
|
1522
|
-
};
|
|
1523
|
-
if (fileKey !== undefined) {
|
|
1524
|
-
body.fileKey = fileKey;
|
|
1525
|
-
}
|
|
1526
|
-
const res = yield fetch(`${constants.AUTH_HUB_BASE_API}/auth/origin/register`, {
|
|
1527
|
-
method: "POST",
|
|
1528
|
-
headers: {
|
|
1529
|
-
Authorization: `Bearer ${this.getJwt()}`,
|
|
1530
|
-
},
|
|
1531
|
-
body: JSON.stringify(body),
|
|
1532
|
-
});
|
|
1533
|
-
if (!res.ok) {
|
|
1534
|
-
throw new Error(`Failed to get signature: ${res.statusText}`);
|
|
1535
|
-
}
|
|
1536
|
-
const data = yield res.json();
|
|
1537
|
-
if (data.isError) {
|
|
1538
|
-
throw new Error(`Failed to get signature: ${data.message}`);
|
|
1539
|
-
}
|
|
1540
|
-
return data.data;
|
|
1541
|
-
});
|
|
1542
|
-
}
|
|
1543
|
-
|
|
1544
|
-
function updateTerms(tokenId, royaltyReceiver, newTerms) {
|
|
1545
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "updateTerms", [tokenId, royaltyReceiver, newTerms], { waitForReceipt: true });
|
|
1546
|
-
}
|
|
1547
|
-
|
|
1548
|
-
function requestDelete(tokenId) {
|
|
1549
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "requestDelete", [tokenId]);
|
|
1550
|
-
}
|
|
1551
|
-
|
|
1552
|
-
function getTerms(tokenId) {
|
|
1553
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "getTerms", [tokenId]);
|
|
1554
|
-
}
|
|
1555
|
-
|
|
1556
|
-
function ownerOf(tokenId) {
|
|
1557
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "ownerOf", [tokenId]);
|
|
1558
|
-
}
|
|
1559
|
-
|
|
1560
|
-
function balanceOf(owner) {
|
|
1561
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "balanceOf", [owner]);
|
|
1562
|
-
}
|
|
1563
|
-
|
|
1564
|
-
function contentHash(tokenId) {
|
|
1565
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "contentHash", [tokenId]);
|
|
1566
|
-
}
|
|
1567
|
-
|
|
1568
|
-
function tokenURI(tokenId) {
|
|
1569
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "tokenURI", [tokenId]);
|
|
1570
|
-
}
|
|
1571
|
-
|
|
1572
|
-
function dataStatus(tokenId) {
|
|
1573
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "dataStatus", [tokenId]);
|
|
1574
|
-
}
|
|
1575
|
-
|
|
1576
|
-
function royaltyInfo(tokenId, salePrice) {
|
|
1577
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1578
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "royaltyInfo", [tokenId, salePrice]);
|
|
1579
|
-
});
|
|
1580
|
-
}
|
|
1581
|
-
|
|
1582
|
-
function getApproved(tokenId) {
|
|
1583
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "getApproved", [tokenId]);
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1586
|
-
function isApprovedForAll(owner, operator) {
|
|
1587
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "isApprovedForAll", [owner, operator]);
|
|
1588
|
-
}
|
|
1589
|
-
|
|
1590
|
-
function transferFrom(from, to, tokenId) {
|
|
1591
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "transferFrom", [from, to, tokenId]);
|
|
1592
|
-
}
|
|
1593
|
-
|
|
1594
|
-
function safeTransferFrom(from, to, tokenId, data) {
|
|
1595
|
-
const args = data ? [from, to, tokenId, data] : [from, to, tokenId];
|
|
1596
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "safeTransferFrom", args);
|
|
1597
|
-
}
|
|
1598
|
-
|
|
1599
|
-
function approve(to, tokenId) {
|
|
1600
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "approve", [to, tokenId]);
|
|
1601
|
-
}
|
|
1602
|
-
|
|
1603
|
-
function setApprovalForAll(operator, approved) {
|
|
1604
|
-
return this.callContractMethod(constants.DATANFT_CONTRACT_ADDRESS, abi$1, "setApprovalForAll", [operator, approved]);
|
|
1605
|
-
}
|
|
1606
|
-
|
|
1607
|
-
var abi = [
|
|
1606
|
+
var marketplaceMainnetAbi = [
|
|
1608
1607
|
{
|
|
1609
1608
|
inputs: [
|
|
1610
1609
|
{
|
|
@@ -1640,42 +1639,40 @@ var abi = [
|
|
|
1640
1639
|
},
|
|
1641
1640
|
{
|
|
1642
1641
|
inputs: [
|
|
1643
|
-
{
|
|
1644
|
-
internalType: "uint256",
|
|
1645
|
-
name: "expected",
|
|
1646
|
-
type: "uint256"
|
|
1647
|
-
},
|
|
1648
|
-
{
|
|
1649
|
-
internalType: "uint256",
|
|
1650
|
-
name: "actual",
|
|
1651
|
-
type: "uint256"
|
|
1652
|
-
}
|
|
1653
1642
|
],
|
|
1654
|
-
name: "
|
|
1643
|
+
name: "InvalidParentIp",
|
|
1655
1644
|
type: "error"
|
|
1656
1645
|
},
|
|
1657
1646
|
{
|
|
1658
1647
|
inputs: [
|
|
1659
|
-
{
|
|
1660
|
-
internalType: "uint32",
|
|
1661
|
-
name: "periods",
|
|
1662
|
-
type: "uint32"
|
|
1663
|
-
}
|
|
1664
1648
|
],
|
|
1665
|
-
name: "
|
|
1649
|
+
name: "InvalidPayment",
|
|
1666
1650
|
type: "error"
|
|
1667
1651
|
},
|
|
1668
1652
|
{
|
|
1669
1653
|
inputs: [
|
|
1670
|
-
{
|
|
1671
|
-
internalType: "uint16",
|
|
1672
|
-
name: "royaltyBps",
|
|
1673
|
-
type: "uint16"
|
|
1674
|
-
}
|
|
1675
1654
|
],
|
|
1676
1655
|
name: "InvalidRoyalty",
|
|
1677
1656
|
type: "error"
|
|
1678
1657
|
},
|
|
1658
|
+
{
|
|
1659
|
+
inputs: [
|
|
1660
|
+
],
|
|
1661
|
+
name: "MaxParentsExceeded",
|
|
1662
|
+
type: "error"
|
|
1663
|
+
},
|
|
1664
|
+
{
|
|
1665
|
+
inputs: [
|
|
1666
|
+
],
|
|
1667
|
+
name: "MaxRoyaltyExceeded",
|
|
1668
|
+
type: "error"
|
|
1669
|
+
},
|
|
1670
|
+
{
|
|
1671
|
+
inputs: [
|
|
1672
|
+
],
|
|
1673
|
+
name: "NoSubscriptionFound",
|
|
1674
|
+
type: "error"
|
|
1675
|
+
},
|
|
1679
1676
|
{
|
|
1680
1677
|
inputs: [
|
|
1681
1678
|
{
|
|
@@ -1701,7 +1698,25 @@ var abi = [
|
|
|
1701
1698
|
{
|
|
1702
1699
|
inputs: [
|
|
1703
1700
|
],
|
|
1704
|
-
name: "
|
|
1701
|
+
name: "ParentAlreadyExists",
|
|
1702
|
+
type: "error"
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
inputs: [
|
|
1706
|
+
],
|
|
1707
|
+
name: "ParentIpAlreadyDeleted",
|
|
1708
|
+
type: "error"
|
|
1709
|
+
},
|
|
1710
|
+
{
|
|
1711
|
+
inputs: [
|
|
1712
|
+
],
|
|
1713
|
+
name: "ParentIpAlreadyDisputed",
|
|
1714
|
+
type: "error"
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
inputs: [
|
|
1718
|
+
],
|
|
1719
|
+
name: "TermsMismatch",
|
|
1705
1720
|
type: "error"
|
|
1706
1721
|
},
|
|
1707
1722
|
{
|
|
@@ -1750,26 +1765,140 @@ var abi = [
|
|
|
1750
1765
|
type: "uint256"
|
|
1751
1766
|
}
|
|
1752
1767
|
],
|
|
1753
|
-
name: "AccessPurchased",
|
|
1768
|
+
name: "AccessPurchased",
|
|
1769
|
+
type: "event"
|
|
1770
|
+
},
|
|
1771
|
+
{
|
|
1772
|
+
anonymous: false,
|
|
1773
|
+
inputs: [
|
|
1774
|
+
{
|
|
1775
|
+
indexed: true,
|
|
1776
|
+
internalType: "uint256",
|
|
1777
|
+
name: "id",
|
|
1778
|
+
type: "uint256"
|
|
1779
|
+
},
|
|
1780
|
+
{
|
|
1781
|
+
indexed: true,
|
|
1782
|
+
internalType: "uint256",
|
|
1783
|
+
name: "childIp",
|
|
1784
|
+
type: "uint256"
|
|
1785
|
+
},
|
|
1786
|
+
{
|
|
1787
|
+
indexed: false,
|
|
1788
|
+
internalType: "uint256",
|
|
1789
|
+
name: "parentIp",
|
|
1790
|
+
type: "uint256"
|
|
1791
|
+
}
|
|
1792
|
+
],
|
|
1793
|
+
name: "ChildIpTagged",
|
|
1794
|
+
type: "event"
|
|
1795
|
+
},
|
|
1796
|
+
{
|
|
1797
|
+
anonymous: false,
|
|
1798
|
+
inputs: [
|
|
1799
|
+
{
|
|
1800
|
+
indexed: true,
|
|
1801
|
+
internalType: "uint256",
|
|
1802
|
+
name: "tokenId",
|
|
1803
|
+
type: "uint256"
|
|
1804
|
+
},
|
|
1805
|
+
{
|
|
1806
|
+
indexed: true,
|
|
1807
|
+
internalType: "address",
|
|
1808
|
+
name: "creator",
|
|
1809
|
+
type: "address"
|
|
1810
|
+
}
|
|
1811
|
+
],
|
|
1812
|
+
name: "DataDeleted",
|
|
1813
|
+
type: "event"
|
|
1814
|
+
},
|
|
1815
|
+
{
|
|
1816
|
+
anonymous: false,
|
|
1817
|
+
inputs: [
|
|
1818
|
+
{
|
|
1819
|
+
indexed: true,
|
|
1820
|
+
internalType: "uint256",
|
|
1821
|
+
name: "tokenId",
|
|
1822
|
+
type: "uint256"
|
|
1823
|
+
},
|
|
1824
|
+
{
|
|
1825
|
+
indexed: true,
|
|
1826
|
+
internalType: "address",
|
|
1827
|
+
name: "creator",
|
|
1828
|
+
type: "address"
|
|
1829
|
+
},
|
|
1830
|
+
{
|
|
1831
|
+
indexed: false,
|
|
1832
|
+
internalType: "bytes32",
|
|
1833
|
+
name: "contentHash",
|
|
1834
|
+
type: "bytes32"
|
|
1835
|
+
}
|
|
1836
|
+
],
|
|
1837
|
+
name: "DataMinted",
|
|
1838
|
+
type: "event"
|
|
1839
|
+
},
|
|
1840
|
+
{
|
|
1841
|
+
anonymous: false,
|
|
1842
|
+
inputs: [
|
|
1843
|
+
{
|
|
1844
|
+
indexed: true,
|
|
1845
|
+
internalType: "uint256",
|
|
1846
|
+
name: "id",
|
|
1847
|
+
type: "uint256"
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
indexed: false,
|
|
1851
|
+
internalType: "bytes32",
|
|
1852
|
+
name: "counterEvidenceHash",
|
|
1853
|
+
type: "bytes32"
|
|
1854
|
+
}
|
|
1855
|
+
],
|
|
1856
|
+
name: "DisputeAssertion",
|
|
1857
|
+
type: "event"
|
|
1858
|
+
},
|
|
1859
|
+
{
|
|
1860
|
+
anonymous: false,
|
|
1861
|
+
inputs: [
|
|
1862
|
+
{
|
|
1863
|
+
indexed: true,
|
|
1864
|
+
internalType: "uint256",
|
|
1865
|
+
name: "id",
|
|
1866
|
+
type: "uint256"
|
|
1867
|
+
}
|
|
1868
|
+
],
|
|
1869
|
+
name: "DisputeCancelled",
|
|
1870
|
+
type: "event"
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
anonymous: false,
|
|
1874
|
+
inputs: [
|
|
1875
|
+
{
|
|
1876
|
+
indexed: true,
|
|
1877
|
+
internalType: "uint256",
|
|
1878
|
+
name: "id",
|
|
1879
|
+
type: "uint256"
|
|
1880
|
+
},
|
|
1881
|
+
{
|
|
1882
|
+
indexed: false,
|
|
1883
|
+
internalType: "bool",
|
|
1884
|
+
name: "judgement",
|
|
1885
|
+
type: "bool"
|
|
1886
|
+
}
|
|
1887
|
+
],
|
|
1888
|
+
name: "DisputeJudged",
|
|
1754
1889
|
type: "event"
|
|
1755
1890
|
},
|
|
1756
1891
|
{
|
|
1757
1892
|
anonymous: false,
|
|
1758
1893
|
inputs: [
|
|
1759
|
-
{
|
|
1760
|
-
indexed: true,
|
|
1761
|
-
internalType: "uint256",
|
|
1762
|
-
name: "tokenId",
|
|
1763
|
-
type: "uint256"
|
|
1764
|
-
},
|
|
1765
1894
|
{
|
|
1766
1895
|
indexed: true,
|
|
1767
1896
|
internalType: "address",
|
|
1768
|
-
name: "
|
|
1897
|
+
name: "disputeModule",
|
|
1769
1898
|
type: "address"
|
|
1770
1899
|
}
|
|
1771
1900
|
],
|
|
1772
|
-
name: "
|
|
1901
|
+
name: "DisputeModuleUpdated",
|
|
1773
1902
|
type: "event"
|
|
1774
1903
|
},
|
|
1775
1904
|
{
|
|
@@ -1778,23 +1907,42 @@ var abi = [
|
|
|
1778
1907
|
{
|
|
1779
1908
|
indexed: true,
|
|
1780
1909
|
internalType: "uint256",
|
|
1781
|
-
name: "
|
|
1910
|
+
name: "id",
|
|
1782
1911
|
type: "uint256"
|
|
1783
1912
|
},
|
|
1784
1913
|
{
|
|
1785
1914
|
indexed: true,
|
|
1786
1915
|
internalType: "address",
|
|
1787
|
-
name: "
|
|
1916
|
+
name: "initiator",
|
|
1788
1917
|
type: "address"
|
|
1789
1918
|
},
|
|
1919
|
+
{
|
|
1920
|
+
indexed: true,
|
|
1921
|
+
internalType: "uint256",
|
|
1922
|
+
name: "targetId",
|
|
1923
|
+
type: "uint256"
|
|
1924
|
+
},
|
|
1790
1925
|
{
|
|
1791
1926
|
indexed: false,
|
|
1792
1927
|
internalType: "bytes32",
|
|
1793
|
-
name: "
|
|
1928
|
+
name: "disputeTag",
|
|
1794
1929
|
type: "bytes32"
|
|
1795
1930
|
}
|
|
1796
1931
|
],
|
|
1797
|
-
name: "
|
|
1932
|
+
name: "DisputeRaised",
|
|
1933
|
+
type: "event"
|
|
1934
|
+
},
|
|
1935
|
+
{
|
|
1936
|
+
anonymous: false,
|
|
1937
|
+
inputs: [
|
|
1938
|
+
{
|
|
1939
|
+
indexed: true,
|
|
1940
|
+
internalType: "address",
|
|
1941
|
+
name: "marketPlace",
|
|
1942
|
+
type: "address"
|
|
1943
|
+
}
|
|
1944
|
+
],
|
|
1945
|
+
name: "MarketPlaceUpdated",
|
|
1798
1946
|
type: "event"
|
|
1799
1947
|
},
|
|
1800
1948
|
{
|
|
@@ -1860,6 +2008,38 @@ var abi = [
|
|
|
1860
2008
|
name: "RoyaltyPaid",
|
|
1861
2009
|
type: "event"
|
|
1862
2010
|
},
|
|
2011
|
+
{
|
|
2012
|
+
anonymous: false,
|
|
2013
|
+
inputs: [
|
|
2014
|
+
{
|
|
2015
|
+
indexed: true,
|
|
2016
|
+
internalType: "address",
|
|
2017
|
+
name: "signer",
|
|
2018
|
+
type: "address"
|
|
2019
|
+
}
|
|
2020
|
+
],
|
|
2021
|
+
name: "SignerUpdated",
|
|
2022
|
+
type: "event"
|
|
2023
|
+
},
|
|
2024
|
+
{
|
|
2025
|
+
anonymous: false,
|
|
2026
|
+
inputs: [
|
|
2027
|
+
{
|
|
2028
|
+
indexed: true,
|
|
2029
|
+
internalType: "uint256",
|
|
2030
|
+
name: "tokenId",
|
|
2031
|
+
type: "uint256"
|
|
2032
|
+
},
|
|
2033
|
+
{
|
|
2034
|
+
indexed: false,
|
|
2035
|
+
internalType: "enum IIpNFT.DataStatus",
|
|
2036
|
+
name: "status",
|
|
2037
|
+
type: "uint8"
|
|
2038
|
+
}
|
|
2039
|
+
],
|
|
2040
|
+
name: "StatusUpdated",
|
|
2041
|
+
type: "event"
|
|
2042
|
+
},
|
|
1863
2043
|
{
|
|
1864
2044
|
anonymous: false,
|
|
1865
2045
|
inputs: [
|
|
@@ -1912,16 +2092,16 @@ var abi = [
|
|
|
1912
2092
|
},
|
|
1913
2093
|
{
|
|
1914
2094
|
inputs: [
|
|
1915
|
-
{
|
|
1916
|
-
internalType: "address",
|
|
1917
|
-
name: "feeManager",
|
|
1918
|
-
type: "address"
|
|
1919
|
-
}
|
|
1920
2095
|
],
|
|
1921
|
-
name: "
|
|
2096
|
+
name: "MAX_PARENTS",
|
|
1922
2097
|
outputs: [
|
|
2098
|
+
{
|
|
2099
|
+
internalType: "uint256",
|
|
2100
|
+
name: "",
|
|
2101
|
+
type: "uint256"
|
|
2102
|
+
}
|
|
1923
2103
|
],
|
|
1924
|
-
stateMutability: "
|
|
2104
|
+
stateMutability: "view",
|
|
1925
2105
|
type: "function"
|
|
1926
2106
|
},
|
|
1927
2107
|
{
|
|
@@ -1936,10 +2116,20 @@ var abi = [
|
|
|
1936
2116
|
name: "tokenId",
|
|
1937
2117
|
type: "uint256"
|
|
1938
2118
|
},
|
|
2119
|
+
{
|
|
2120
|
+
internalType: "uint256",
|
|
2121
|
+
name: "expectedPrice",
|
|
2122
|
+
type: "uint256"
|
|
2123
|
+
},
|
|
1939
2124
|
{
|
|
1940
2125
|
internalType: "uint32",
|
|
1941
|
-
name: "
|
|
2126
|
+
name: "expectedDuration",
|
|
1942
2127
|
type: "uint32"
|
|
2128
|
+
},
|
|
2129
|
+
{
|
|
2130
|
+
internalType: "address",
|
|
2131
|
+
name: "expectedPaymentToken",
|
|
2132
|
+
type: "address"
|
|
1943
2133
|
}
|
|
1944
2134
|
],
|
|
1945
2135
|
name: "buyAccess",
|
|
@@ -1950,13 +2140,23 @@ var abi = [
|
|
|
1950
2140
|
},
|
|
1951
2141
|
{
|
|
1952
2142
|
inputs: [
|
|
2143
|
+
{
|
|
2144
|
+
internalType: "uint256",
|
|
2145
|
+
name: "ipId",
|
|
2146
|
+
type: "uint256"
|
|
2147
|
+
},
|
|
2148
|
+
{
|
|
2149
|
+
internalType: "uint256",
|
|
2150
|
+
name: "parent",
|
|
2151
|
+
type: "uint256"
|
|
2152
|
+
}
|
|
1953
2153
|
],
|
|
1954
|
-
name: "
|
|
2154
|
+
name: "hasParentIp",
|
|
1955
2155
|
outputs: [
|
|
1956
2156
|
{
|
|
1957
|
-
internalType: "
|
|
2157
|
+
internalType: "bool",
|
|
1958
2158
|
name: "",
|
|
1959
|
-
type: "
|
|
2159
|
+
type: "bool"
|
|
1960
2160
|
}
|
|
1961
2161
|
],
|
|
1962
2162
|
stateMutability: "view",
|
|
@@ -1964,18 +2164,13 @@ var abi = [
|
|
|
1964
2164
|
},
|
|
1965
2165
|
{
|
|
1966
2166
|
inputs: [
|
|
1967
|
-
{
|
|
1968
|
-
internalType: "address",
|
|
1969
|
-
name: "",
|
|
1970
|
-
type: "address"
|
|
1971
|
-
}
|
|
1972
2167
|
],
|
|
1973
|
-
name: "
|
|
2168
|
+
name: "ipToken",
|
|
1974
2169
|
outputs: [
|
|
1975
2170
|
{
|
|
1976
|
-
internalType: "
|
|
2171
|
+
internalType: "contract IIpNFT",
|
|
1977
2172
|
name: "",
|
|
1978
|
-
type: "
|
|
2173
|
+
type: "address"
|
|
1979
2174
|
}
|
|
1980
2175
|
],
|
|
1981
2176
|
stateMutability: "view",
|
|
@@ -1983,23 +2178,13 @@ var abi = [
|
|
|
1983
2178
|
},
|
|
1984
2179
|
{
|
|
1985
2180
|
inputs: [
|
|
1986
|
-
{
|
|
1987
|
-
internalType: "address",
|
|
1988
|
-
name: "user",
|
|
1989
|
-
type: "address"
|
|
1990
|
-
},
|
|
1991
|
-
{
|
|
1992
|
-
internalType: "uint256",
|
|
1993
|
-
name: "tokenId",
|
|
1994
|
-
type: "uint256"
|
|
1995
|
-
}
|
|
1996
2181
|
],
|
|
1997
|
-
name: "
|
|
2182
|
+
name: "owner",
|
|
1998
2183
|
outputs: [
|
|
1999
2184
|
{
|
|
2000
|
-
internalType: "
|
|
2185
|
+
internalType: "address",
|
|
2001
2186
|
name: "",
|
|
2002
|
-
type: "
|
|
2187
|
+
type: "address"
|
|
2003
2188
|
}
|
|
2004
2189
|
],
|
|
2005
2190
|
stateMutability: "view",
|
|
@@ -2007,13 +2192,23 @@ var abi = [
|
|
|
2007
2192
|
},
|
|
2008
2193
|
{
|
|
2009
2194
|
inputs: [
|
|
2195
|
+
{
|
|
2196
|
+
internalType: "uint256",
|
|
2197
|
+
name: "",
|
|
2198
|
+
type: "uint256"
|
|
2199
|
+
},
|
|
2200
|
+
{
|
|
2201
|
+
internalType: "uint256",
|
|
2202
|
+
name: "",
|
|
2203
|
+
type: "uint256"
|
|
2204
|
+
}
|
|
2010
2205
|
],
|
|
2011
|
-
name: "
|
|
2206
|
+
name: "parentRoyaltyPercent",
|
|
2012
2207
|
outputs: [
|
|
2013
2208
|
{
|
|
2014
|
-
internalType: "
|
|
2209
|
+
internalType: "uint16",
|
|
2015
2210
|
name: "",
|
|
2016
|
-
type: "
|
|
2211
|
+
type: "uint16"
|
|
2017
2212
|
}
|
|
2018
2213
|
],
|
|
2019
2214
|
stateMutability: "view",
|
|
@@ -2056,24 +2251,53 @@ var abi = [
|
|
|
2056
2251
|
stateMutability: "view",
|
|
2057
2252
|
type: "function"
|
|
2058
2253
|
},
|
|
2254
|
+
{
|
|
2255
|
+
inputs: [
|
|
2256
|
+
],
|
|
2257
|
+
name: "renounceOwnership",
|
|
2258
|
+
outputs: [
|
|
2259
|
+
],
|
|
2260
|
+
stateMutability: "nonpayable",
|
|
2261
|
+
type: "function"
|
|
2262
|
+
},
|
|
2059
2263
|
{
|
|
2060
2264
|
inputs: [
|
|
2061
2265
|
{
|
|
2062
|
-
internalType: "
|
|
2063
|
-
name: "
|
|
2064
|
-
type: "
|
|
2266
|
+
internalType: "uint256",
|
|
2267
|
+
name: "",
|
|
2268
|
+
type: "uint256"
|
|
2065
2269
|
}
|
|
2066
2270
|
],
|
|
2067
|
-
name: "
|
|
2271
|
+
name: "royaltyStack",
|
|
2068
2272
|
outputs: [
|
|
2273
|
+
{
|
|
2274
|
+
internalType: "uint16",
|
|
2275
|
+
name: "",
|
|
2276
|
+
type: "uint16"
|
|
2277
|
+
}
|
|
2069
2278
|
],
|
|
2070
|
-
stateMutability: "
|
|
2279
|
+
stateMutability: "view",
|
|
2071
2280
|
type: "function"
|
|
2072
2281
|
},
|
|
2073
2282
|
{
|
|
2074
2283
|
inputs: [
|
|
2284
|
+
{
|
|
2285
|
+
internalType: "uint256",
|
|
2286
|
+
name: "childIpId",
|
|
2287
|
+
type: "uint256"
|
|
2288
|
+
},
|
|
2289
|
+
{
|
|
2290
|
+
internalType: "uint256[]",
|
|
2291
|
+
name: "parents",
|
|
2292
|
+
type: "uint256[]"
|
|
2293
|
+
},
|
|
2294
|
+
{
|
|
2295
|
+
internalType: "address",
|
|
2296
|
+
name: "creator",
|
|
2297
|
+
type: "address"
|
|
2298
|
+
}
|
|
2075
2299
|
],
|
|
2076
|
-
name: "
|
|
2300
|
+
name: "setParentIpsAndRoyaltyPercents",
|
|
2077
2301
|
outputs: [
|
|
2078
2302
|
],
|
|
2079
2303
|
stateMutability: "nonpayable",
|
|
@@ -2167,28 +2391,285 @@ var abi = [
|
|
|
2167
2391
|
],
|
|
2168
2392
|
stateMutability: "nonpayable",
|
|
2169
2393
|
type: "function"
|
|
2170
|
-
},
|
|
2171
|
-
{
|
|
2172
|
-
stateMutability: "payable",
|
|
2173
|
-
type: "receive"
|
|
2174
2394
|
}
|
|
2175
2395
|
];
|
|
2176
2396
|
|
|
2397
|
+
var constants = {
|
|
2398
|
+
SIWE_MESSAGE_STATEMENT: "Connect with Camp Network",
|
|
2399
|
+
AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
|
|
2400
|
+
ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
|
|
2401
|
+
SUPPORTED_IMAGE_FORMATS: [
|
|
2402
|
+
"image/jpeg",
|
|
2403
|
+
"image/png",
|
|
2404
|
+
"image/gif",
|
|
2405
|
+
"image/webp",
|
|
2406
|
+
],
|
|
2407
|
+
SUPPORTED_VIDEO_FORMATS: ["video/mp4", "video/webm"],
|
|
2408
|
+
SUPPORTED_AUDIO_FORMATS: ["audio/mpeg", "audio/wav", "audio/ogg"],
|
|
2409
|
+
SUPPORTED_TEXT_FORMATS: ["text/plain"],
|
|
2410
|
+
AVAILABLE_SOCIALS: ["twitter", "spotify", "tiktok"],
|
|
2411
|
+
ACKEE_INSTANCE: "https://ackee-production-01bd.up.railway.app",
|
|
2412
|
+
ACKEE_EVENTS: {
|
|
2413
|
+
USER_CONNECTED: "ed42542d-b676-4112-b6d9-6db98048b2e0",
|
|
2414
|
+
USER_DISCONNECTED: "20af31ac-e602-442e-9e0e-b589f4dd4016",
|
|
2415
|
+
TWITTER_LINKED: "7fbea086-90ef-4679-ba69-f47f9255b34c",
|
|
2416
|
+
DISCORD_LINKED: "d73f5ae3-a8e8-48f2-8532-85e0c7780d6a",
|
|
2417
|
+
SPOTIFY_LINKED: "fc1788b4-c984-42c8-96f4-c87f6bb0b8f7",
|
|
2418
|
+
TIKTOK_LINKED: "4a2ffdd3-f0e9-4784-8b49-ff76ec1c0a6a",
|
|
2419
|
+
TELEGRAM_LINKED: "9006bc5d-bcc9-4d01-a860-4f1a201e8e47",
|
|
2420
|
+
},
|
|
2421
|
+
DATANFT_CONTRACT_ADDRESS: "0xF90733b9eCDa3b49C250B2C3E3E42c96fC93324E",
|
|
2422
|
+
MARKETPLACE_CONTRACT_ADDRESS: "0x5c5e6b458b2e3924E7688b8Dee1Bb49088F6Fef5",
|
|
2423
|
+
MAX_LICENSE_DURATION: 2628000, // 30 days in seconds
|
|
2424
|
+
MIN_LICENSE_DURATION: 86400, // 1 day in seconds
|
|
2425
|
+
MIN_PRICE: 1000000000000000, // 0.001 ETH in wei
|
|
2426
|
+
};
|
|
2427
|
+
const ENVIRONMENTS = {
|
|
2428
|
+
DEVELOPMENT: {
|
|
2429
|
+
NAME: "DEVELOPMENT",
|
|
2430
|
+
AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
|
|
2431
|
+
AUTH_ENDPOINT: "auth-testnet",
|
|
2432
|
+
ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
|
|
2433
|
+
DATANFT_CONTRACT_ADDRESS: "0x8EB0E8C3bA99c04F05ab01A5BED34F00c6c3BE4D",
|
|
2434
|
+
MARKETPLACE_CONTRACT_ADDRESS: "0x2947eE8a352158fda08F2cf5c0AE8e5b1DFCfDc9",
|
|
2435
|
+
CHAIN: testnet,
|
|
2436
|
+
IPNFT_ABI: ipnftMainnetAbi,
|
|
2437
|
+
MARKETPLACE_ABI: marketplaceMainnetAbi,
|
|
2438
|
+
},
|
|
2439
|
+
PRODUCTION: {
|
|
2440
|
+
NAME: "PRODUCTION",
|
|
2441
|
+
AUTH_HUB_BASE_API: "https://wv2h4to5qa.execute-api.us-east-2.amazonaws.com/dev",
|
|
2442
|
+
AUTH_ENDPOINT: "auth-mainnet",
|
|
2443
|
+
ORIGIN_DASHBOARD: "https://origin.campnetwork.xyz",
|
|
2444
|
+
DATANFT_CONTRACT_ADDRESS: "0x54d8490f034e3A4D07CD220a7Dc88D9B91B82c25",
|
|
2445
|
+
MARKETPLACE_CONTRACT_ADDRESS: "0x5D2be63c94931f82B602Ecd1538064ab4196F8e7",
|
|
2446
|
+
CHAIN: mainnet,
|
|
2447
|
+
IPNFT_ABI: ipnftMainnetAbi,
|
|
2448
|
+
MARKETPLACE_ABI: marketplaceMainnetAbi,
|
|
2449
|
+
},
|
|
2450
|
+
};
|
|
2451
|
+
|
|
2452
|
+
let providers = [];
|
|
2453
|
+
const providerStore = {
|
|
2454
|
+
value: () => providers,
|
|
2455
|
+
subscribe: (callback) => {
|
|
2456
|
+
function onAnnouncement(event) {
|
|
2457
|
+
if (providers.some((p) => p.info.uuid === event.detail.info.uuid))
|
|
2458
|
+
return;
|
|
2459
|
+
providers = [...providers, event.detail];
|
|
2460
|
+
callback(providers);
|
|
2461
|
+
}
|
|
2462
|
+
if (typeof window === "undefined")
|
|
2463
|
+
return;
|
|
2464
|
+
window.addEventListener("eip6963:announceProvider", onAnnouncement);
|
|
2465
|
+
window.dispatchEvent(new Event("eip6963:requestProvider"));
|
|
2466
|
+
return () => window.removeEventListener("eip6963:announceProvider", onAnnouncement);
|
|
2467
|
+
},
|
|
2468
|
+
};
|
|
2469
|
+
|
|
2470
|
+
/**
|
|
2471
|
+
* Formats an Ethereum address by truncating it to the first and last n characters.
|
|
2472
|
+
* @param {string} address - The Ethereum address to format.
|
|
2473
|
+
* @param {number} n - The number of characters to keep from the start and end of the address.
|
|
2474
|
+
* @return {string} - The formatted address.
|
|
2475
|
+
*/
|
|
2476
|
+
const formatAddress = (address, n = 8) => {
|
|
2477
|
+
return `${address.slice(0, n)}...${address.slice(-n)}`;
|
|
2478
|
+
};
|
|
2479
|
+
/**
|
|
2480
|
+
* Capitalizes the first letter of a string.
|
|
2481
|
+
* @param {string} str - The string to capitalize.
|
|
2482
|
+
* @return {string} - The capitalized string.
|
|
2483
|
+
*/
|
|
2484
|
+
const capitalize = (str) => {
|
|
2485
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
2486
|
+
};
|
|
2487
|
+
/**
|
|
2488
|
+
* Formats a Camp amount to a human-readable string.
|
|
2489
|
+
* @param {number} amount - The Camp amount to format.
|
|
2490
|
+
* @returns {string} - The formatted Camp amount.
|
|
2491
|
+
*/
|
|
2492
|
+
const formatCampAmount = (amount) => {
|
|
2493
|
+
if (amount >= 1000) {
|
|
2494
|
+
const formatted = (amount / 1000).toFixed(1);
|
|
2495
|
+
return formatted.endsWith(".0")
|
|
2496
|
+
? formatted.slice(0, -2) + "k"
|
|
2497
|
+
: formatted + "k";
|
|
2498
|
+
}
|
|
2499
|
+
return amount.toString();
|
|
2500
|
+
};
|
|
2501
|
+
/**
|
|
2502
|
+
* Uploads a file to a specified URL with progress tracking.
|
|
2503
|
+
* Falls back to a simple fetch request if XMLHttpRequest is not available.
|
|
2504
|
+
* @param {File} file - The file to upload.
|
|
2505
|
+
* @param {string} url - The URL to upload the file to.
|
|
2506
|
+
* @param {UploadProgressCallback} onProgress - A callback function to track upload progress.
|
|
2507
|
+
* @returns {Promise<string>} - A promise that resolves with the response from the server.
|
|
2508
|
+
*/
|
|
2509
|
+
const uploadWithProgress = (file, url, onProgress) => {
|
|
2510
|
+
return new Promise((resolve, reject) => {
|
|
2511
|
+
axios
|
|
2512
|
+
.put(url, file, Object.assign({ headers: {
|
|
2513
|
+
"Content-Type": file.type,
|
|
2514
|
+
} }, (typeof window !== "undefined" && typeof onProgress === "function"
|
|
2515
|
+
? {
|
|
2516
|
+
onUploadProgress: (progressEvent) => {
|
|
2517
|
+
if (progressEvent.total) {
|
|
2518
|
+
const percent = (progressEvent.loaded / progressEvent.total) * 100;
|
|
2519
|
+
onProgress(percent);
|
|
2520
|
+
}
|
|
2521
|
+
},
|
|
2522
|
+
}
|
|
2523
|
+
: {})))
|
|
2524
|
+
.then((res) => {
|
|
2525
|
+
resolve(res.data);
|
|
2526
|
+
})
|
|
2527
|
+
.catch((error) => {
|
|
2528
|
+
var _a;
|
|
2529
|
+
const message = ((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || (error === null || error === void 0 ? void 0 : error.message) || "Upload failed";
|
|
2530
|
+
reject(message);
|
|
2531
|
+
});
|
|
2532
|
+
});
|
|
2533
|
+
};
|
|
2534
|
+
|
|
2535
|
+
/**
|
|
2536
|
+
* Mints a Data NFT with a signature.
|
|
2537
|
+
* @param to The address to mint the NFT to.
|
|
2538
|
+
* @param tokenId The ID of the token to mint.
|
|
2539
|
+
* @param parents The IDs of the parent NFTs, if applicable.
|
|
2540
|
+
* @param hash The hash of the data associated with the NFT.
|
|
2541
|
+
* @param uri The URI of the NFT metadata.
|
|
2542
|
+
* @param licenseTerms The terms of the license for the NFT.
|
|
2543
|
+
* @param deadline The deadline for the minting operation.
|
|
2544
|
+
* @param signature The signature for the minting operation.
|
|
2545
|
+
* @returns A promise that resolves when the minting is complete.
|
|
2546
|
+
*/
|
|
2547
|
+
function mintWithSignature(to, tokenId, parents, hash, uri, licenseTerms, deadline, signature) {
|
|
2548
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2549
|
+
return yield this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "mintWithSignature", [to, tokenId, hash, uri, licenseTerms, deadline, parents, signature], { waitForReceipt: true });
|
|
2550
|
+
});
|
|
2551
|
+
}
|
|
2552
|
+
/**
|
|
2553
|
+
* Registers a Data NFT with the Origin service in order to obtain a signature for minting.
|
|
2554
|
+
* @param source The source of the Data NFT (e.g., "spotify", "twitter", "tiktok", or "file").
|
|
2555
|
+
* @param deadline The deadline for the registration operation.
|
|
2556
|
+
* @param fileKey Optional file key for file uploads.
|
|
2557
|
+
* @return A promise that resolves with the registration data.
|
|
2558
|
+
*/
|
|
2559
|
+
function registerIpNFT(source, deadline, licenseTerms, metadata, fileKey, parents) {
|
|
2560
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2561
|
+
const body = {
|
|
2562
|
+
source,
|
|
2563
|
+
deadline: Number(deadline),
|
|
2564
|
+
licenseTerms: {
|
|
2565
|
+
price: licenseTerms.price.toString(),
|
|
2566
|
+
duration: licenseTerms.duration,
|
|
2567
|
+
royaltyBps: licenseTerms.royaltyBps,
|
|
2568
|
+
paymentToken: licenseTerms.paymentToken,
|
|
2569
|
+
},
|
|
2570
|
+
metadata,
|
|
2571
|
+
parentId: parents || [],
|
|
2572
|
+
};
|
|
2573
|
+
if (fileKey !== undefined) {
|
|
2574
|
+
body.fileKey = fileKey;
|
|
2575
|
+
}
|
|
2576
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/register`, {
|
|
2577
|
+
method: "POST",
|
|
2578
|
+
headers: {
|
|
2579
|
+
Authorization: `Bearer ${this.getJwt()}`,
|
|
2580
|
+
"Content-Type": "application/json",
|
|
2581
|
+
},
|
|
2582
|
+
body: JSON.stringify(body),
|
|
2583
|
+
});
|
|
2584
|
+
if (!res.ok) {
|
|
2585
|
+
throw new Error(`Failed to get signature: ${res.statusText}`);
|
|
2586
|
+
}
|
|
2587
|
+
const data = yield res.json();
|
|
2588
|
+
if (data.isError) {
|
|
2589
|
+
throw new Error(`Failed to get signature: ${data.message}`);
|
|
2590
|
+
}
|
|
2591
|
+
return data.data;
|
|
2592
|
+
});
|
|
2593
|
+
}
|
|
2594
|
+
|
|
2595
|
+
function updateTerms(tokenId, royaltyReceiver, newTerms) {
|
|
2596
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "updateTerms", [tokenId, royaltyReceiver, newTerms], { waitForReceipt: true });
|
|
2597
|
+
}
|
|
2598
|
+
|
|
2599
|
+
function requestDelete(tokenId) {
|
|
2600
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "finalizeDelete", [tokenId]);
|
|
2601
|
+
}
|
|
2602
|
+
|
|
2603
|
+
function getTerms(tokenId) {
|
|
2604
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "getTerms", [tokenId]);
|
|
2605
|
+
}
|
|
2606
|
+
|
|
2607
|
+
function ownerOf(tokenId) {
|
|
2608
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "ownerOf", [tokenId]);
|
|
2609
|
+
}
|
|
2610
|
+
|
|
2611
|
+
function balanceOf(owner) {
|
|
2612
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "balanceOf", [owner]);
|
|
2613
|
+
}
|
|
2614
|
+
|
|
2615
|
+
function contentHash(tokenId) {
|
|
2616
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "contentHash", [tokenId]);
|
|
2617
|
+
}
|
|
2618
|
+
|
|
2619
|
+
function tokenURI(tokenId) {
|
|
2620
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "tokenURI", [tokenId]);
|
|
2621
|
+
}
|
|
2622
|
+
|
|
2623
|
+
function dataStatus(tokenId) {
|
|
2624
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "dataStatus", [tokenId]);
|
|
2625
|
+
}
|
|
2626
|
+
|
|
2627
|
+
function royaltyInfo(tokenId, salePrice) {
|
|
2628
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2629
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "royaltyInfo", [tokenId, salePrice]);
|
|
2630
|
+
});
|
|
2631
|
+
}
|
|
2632
|
+
|
|
2633
|
+
function getApproved(tokenId) {
|
|
2634
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "getApproved", [tokenId]);
|
|
2635
|
+
}
|
|
2636
|
+
|
|
2637
|
+
function isApprovedForAll(owner, operator) {
|
|
2638
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "isApprovedForAll", [owner, operator]);
|
|
2639
|
+
}
|
|
2640
|
+
|
|
2641
|
+
function transferFrom(from, to, tokenId) {
|
|
2642
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "transferFrom", [from, to, tokenId]);
|
|
2643
|
+
}
|
|
2644
|
+
|
|
2645
|
+
function safeTransferFrom(from, to, tokenId, data) {
|
|
2646
|
+
const args = data ? [from, to, tokenId, data] : [from, to, tokenId];
|
|
2647
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "safeTransferFrom", args);
|
|
2648
|
+
}
|
|
2649
|
+
|
|
2650
|
+
function approve(to, tokenId) {
|
|
2651
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "approve", [to, tokenId]);
|
|
2652
|
+
}
|
|
2653
|
+
|
|
2654
|
+
function setApprovalForAll(operator, approved) {
|
|
2655
|
+
return this.callContractMethod(this.environment.DATANFT_CONTRACT_ADDRESS, this.environment.IPNFT_ABI, "setApprovalForAll", [operator, approved]);
|
|
2656
|
+
}
|
|
2657
|
+
|
|
2177
2658
|
function buyAccess(buyer, tokenId, periods, value // only for native token payments
|
|
2178
2659
|
) {
|
|
2179
|
-
return this.callContractMethod(
|
|
2660
|
+
return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "buyAccess", [buyer, tokenId, periods], { waitForReceipt: true, value });
|
|
2180
2661
|
}
|
|
2181
2662
|
|
|
2182
2663
|
function renewAccess(tokenId, buyer, periods, value) {
|
|
2183
|
-
return this.callContractMethod(
|
|
2664
|
+
return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "renewAccess", [tokenId, buyer, periods], value !== undefined ? { value } : undefined);
|
|
2184
2665
|
}
|
|
2185
2666
|
|
|
2186
2667
|
function hasAccess(user, tokenId) {
|
|
2187
|
-
return this.callContractMethod(
|
|
2668
|
+
return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "hasAccess", [user, tokenId]);
|
|
2188
2669
|
}
|
|
2189
2670
|
|
|
2190
2671
|
function subscriptionExpiry(tokenId, user) {
|
|
2191
|
-
return this.callContractMethod(
|
|
2672
|
+
return this.callContractMethod(this.environment.MARKETPLACE_CONTRACT_ADDRESS, this.environment.MARKETPLACE_ABI, "subscriptionExpiry", [tokenId, user]);
|
|
2192
2673
|
}
|
|
2193
2674
|
|
|
2194
2675
|
/**
|
|
@@ -2223,56 +2704,93 @@ var _Origin_instances, _Origin_generateURL, _Origin_setOriginStatus, _Origin_wai
|
|
|
2223
2704
|
* Handles the upload of files to Origin, as well as querying the user's stats
|
|
2224
2705
|
*/
|
|
2225
2706
|
class Origin {
|
|
2226
|
-
constructor(jwt, viemClient) {
|
|
2707
|
+
constructor(jwt, environment, viemClient) {
|
|
2227
2708
|
_Origin_instances.add(this);
|
|
2228
2709
|
_Origin_generateURL.set(this, (file) => __awaiter(this, void 0, void 0, function* () {
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2710
|
+
try {
|
|
2711
|
+
const uploadRes = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/upload-url`, {
|
|
2712
|
+
method: "POST",
|
|
2713
|
+
body: JSON.stringify({
|
|
2714
|
+
name: file.name,
|
|
2715
|
+
type: file.type,
|
|
2716
|
+
}),
|
|
2717
|
+
headers: {
|
|
2718
|
+
Authorization: `Bearer ${this.jwt}`,
|
|
2719
|
+
"Content-Type": "application/json",
|
|
2720
|
+
},
|
|
2721
|
+
});
|
|
2722
|
+
if (!uploadRes.ok) {
|
|
2723
|
+
throw new Error(`HTTP ${uploadRes.status}: ${uploadRes.statusText}`);
|
|
2724
|
+
}
|
|
2725
|
+
const data = yield uploadRes.json();
|
|
2726
|
+
if (data.isError) {
|
|
2727
|
+
throw new Error(data.message || "Failed to generate upload URL");
|
|
2728
|
+
}
|
|
2729
|
+
return data.data;
|
|
2730
|
+
}
|
|
2731
|
+
catch (error) {
|
|
2732
|
+
console.error("Failed to generate upload URL:", error);
|
|
2733
|
+
throw error;
|
|
2734
|
+
}
|
|
2241
2735
|
}));
|
|
2242
2736
|
_Origin_setOriginStatus.set(this, (key, status) => __awaiter(this, void 0, void 0, function* () {
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2253
|
-
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2737
|
+
try {
|
|
2738
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/update-status`, {
|
|
2739
|
+
method: "PATCH",
|
|
2740
|
+
body: JSON.stringify({
|
|
2741
|
+
status,
|
|
2742
|
+
fileKey: key,
|
|
2743
|
+
}),
|
|
2744
|
+
headers: {
|
|
2745
|
+
Authorization: `Bearer ${this.jwt}`,
|
|
2746
|
+
"Content-Type": "application/json",
|
|
2747
|
+
},
|
|
2748
|
+
});
|
|
2749
|
+
if (!res.ok) {
|
|
2750
|
+
const errorText = yield res.text().catch(() => "Unknown error");
|
|
2751
|
+
throw new Error(`HTTP ${res.status}: ${errorText}`);
|
|
2752
|
+
}
|
|
2753
|
+
return true;
|
|
2754
|
+
}
|
|
2755
|
+
catch (error) {
|
|
2756
|
+
console.error("Failed to update origin status:", error);
|
|
2757
|
+
throw error;
|
|
2257
2758
|
}
|
|
2258
2759
|
}));
|
|
2259
2760
|
this.uploadFile = (file, options) => __awaiter(this, void 0, void 0, function* () {
|
|
2260
|
-
|
|
2761
|
+
let uploadInfo;
|
|
2762
|
+
try {
|
|
2763
|
+
uploadInfo = yield __classPrivateFieldGet(this, _Origin_generateURL, "f").call(this, file);
|
|
2764
|
+
}
|
|
2765
|
+
catch (error) {
|
|
2766
|
+
console.error("Failed to generate upload URL:", error);
|
|
2767
|
+
throw new Error(`Failed to generate upload URL: ${error instanceof Error ? error.message : String(error)}`);
|
|
2768
|
+
}
|
|
2261
2769
|
if (!uploadInfo) {
|
|
2262
|
-
|
|
2263
|
-
return;
|
|
2770
|
+
throw new Error("Failed to generate upload URL: No upload info returned");
|
|
2264
2771
|
}
|
|
2265
2772
|
try {
|
|
2266
2773
|
yield uploadWithProgress(file, uploadInfo.url, (options === null || options === void 0 ? void 0 : options.progressCallback) || (() => { }));
|
|
2267
2774
|
}
|
|
2268
2775
|
catch (error) {
|
|
2269
|
-
|
|
2270
|
-
|
|
2776
|
+
try {
|
|
2777
|
+
yield __classPrivateFieldGet(this, _Origin_setOriginStatus, "f").call(this, uploadInfo.key, "failed");
|
|
2778
|
+
}
|
|
2779
|
+
catch (statusError) {
|
|
2780
|
+
console.error("Failed to update status to failed:", statusError);
|
|
2781
|
+
}
|
|
2782
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
2783
|
+
throw new Error(`Failed to upload file: ${errorMessage}`);
|
|
2784
|
+
}
|
|
2785
|
+
try {
|
|
2786
|
+
yield __classPrivateFieldGet(this, _Origin_setOriginStatus, "f").call(this, uploadInfo.key, "success");
|
|
2787
|
+
}
|
|
2788
|
+
catch (statusError) {
|
|
2789
|
+
console.error("Failed to update status to success:", statusError);
|
|
2271
2790
|
}
|
|
2272
|
-
yield __classPrivateFieldGet(this, _Origin_setOriginStatus, "f").call(this, uploadInfo.key, "success");
|
|
2273
2791
|
return uploadInfo;
|
|
2274
2792
|
});
|
|
2275
|
-
this.mintFile = (file, metadata, license,
|
|
2793
|
+
this.mintFile = (file, metadata, license, parents, options) => __awaiter(this, void 0, void 0, function* () {
|
|
2276
2794
|
if (!this.viemClient) {
|
|
2277
2795
|
throw new Error("WalletClient not connected.");
|
|
2278
2796
|
}
|
|
@@ -2280,9 +2798,18 @@ class Origin {
|
|
|
2280
2798
|
if (!info || !info.key) {
|
|
2281
2799
|
throw new Error("Failed to upload file or get upload info.");
|
|
2282
2800
|
}
|
|
2283
|
-
const deadline = BigInt(
|
|
2284
|
-
const registration = yield this.registerIpNFT("file", deadline, license, metadata, info.key,
|
|
2801
|
+
const deadline = BigInt(Date.now() + 600000); // 10 minutes from now
|
|
2802
|
+
const registration = yield this.registerIpNFT("file", deadline, license, metadata, info.key, parents);
|
|
2285
2803
|
const { tokenId, signerAddress, creatorContentHash, signature, uri } = registration;
|
|
2804
|
+
console.log("[Origin MintFile] Sent payload:", {
|
|
2805
|
+
type: "file",
|
|
2806
|
+
deadline,
|
|
2807
|
+
license,
|
|
2808
|
+
metadata,
|
|
2809
|
+
key: info.key,
|
|
2810
|
+
parents,
|
|
2811
|
+
});
|
|
2812
|
+
console.log("[Origin MintFile] Registration response:", registration);
|
|
2286
2813
|
if (!tokenId ||
|
|
2287
2814
|
!signerAddress ||
|
|
2288
2815
|
!creatorContentHash ||
|
|
@@ -2294,8 +2821,9 @@ class Origin {
|
|
|
2294
2821
|
method: "eth_requestAccounts",
|
|
2295
2822
|
params: [],
|
|
2296
2823
|
});
|
|
2297
|
-
const mintResult = yield this.mintWithSignature(account, tokenId,
|
|
2824
|
+
const mintResult = yield this.mintWithSignature(account, tokenId, parents || [], creatorContentHash, uri, license, deadline, signature);
|
|
2298
2825
|
if (mintResult.status !== "0x1") {
|
|
2826
|
+
console.error("Minting failed:", mintResult);
|
|
2299
2827
|
throw new Error(`Minting failed with status: ${mintResult.status}`);
|
|
2300
2828
|
}
|
|
2301
2829
|
return tokenId.toString();
|
|
@@ -2318,15 +2846,14 @@ class Origin {
|
|
|
2318
2846
|
method: "eth_requestAccounts",
|
|
2319
2847
|
params: [],
|
|
2320
2848
|
});
|
|
2321
|
-
const mintResult = yield this.mintWithSignature(account, tokenId,
|
|
2322
|
-
creatorContentHash, uri, license, deadline, signature);
|
|
2849
|
+
const mintResult = yield this.mintWithSignature(account, tokenId, [], creatorContentHash, uri, license, deadline, signature);
|
|
2323
2850
|
if (mintResult.status !== "0x1") {
|
|
2324
2851
|
throw new Error(`Minting Social IpNFT failed with status: ${mintResult.status}`);
|
|
2325
2852
|
}
|
|
2326
2853
|
return tokenId.toString();
|
|
2327
2854
|
});
|
|
2328
2855
|
this.getOriginUploads = () => __awaiter(this, void 0, void 0, function* () {
|
|
2329
|
-
const res = yield fetch(`${
|
|
2856
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/files`, {
|
|
2330
2857
|
method: "GET",
|
|
2331
2858
|
headers: {
|
|
2332
2859
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -2341,6 +2868,7 @@ class Origin {
|
|
|
2341
2868
|
});
|
|
2342
2869
|
this.jwt = jwt;
|
|
2343
2870
|
this.viemClient = viemClient;
|
|
2871
|
+
this.environment = environment;
|
|
2344
2872
|
// DataNFT methods
|
|
2345
2873
|
this.mintWithSignature = mintWithSignature.bind(this);
|
|
2346
2874
|
this.registerIpNFT = registerIpNFT.bind(this);
|
|
@@ -2377,7 +2905,7 @@ class Origin {
|
|
|
2377
2905
|
*/
|
|
2378
2906
|
getOriginUsage() {
|
|
2379
2907
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2380
|
-
const data = yield fetch(`${
|
|
2908
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/usage`, {
|
|
2381
2909
|
method: "GET",
|
|
2382
2910
|
headers: {
|
|
2383
2911
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -2404,7 +2932,7 @@ class Origin {
|
|
|
2404
2932
|
if (consent === undefined) {
|
|
2405
2933
|
throw new APIError("Consent is required");
|
|
2406
2934
|
}
|
|
2407
|
-
const data = yield fetch(`${
|
|
2935
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/status`, {
|
|
2408
2936
|
method: "PATCH",
|
|
2409
2937
|
headers: {
|
|
2410
2938
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -2434,7 +2962,7 @@ class Origin {
|
|
|
2434
2962
|
if (multiplier === undefined) {
|
|
2435
2963
|
throw new APIError("Multiplier is required");
|
|
2436
2964
|
}
|
|
2437
|
-
const data = yield fetch(`${
|
|
2965
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/multiplier`, {
|
|
2438
2966
|
method: "PATCH",
|
|
2439
2967
|
headers: {
|
|
2440
2968
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -2493,7 +3021,7 @@ class Origin {
|
|
|
2493
3021
|
functionName: methodName,
|
|
2494
3022
|
args: params,
|
|
2495
3023
|
});
|
|
2496
|
-
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_ensureChainId).call(this,
|
|
3024
|
+
yield __classPrivateFieldGet(this, _Origin_instances, "m", _Origin_ensureChainId).call(this, this.environment.CHAIN);
|
|
2497
3025
|
try {
|
|
2498
3026
|
const txHash = yield this.viemClient.sendTransaction({
|
|
2499
3027
|
to: contractAddress,
|
|
@@ -2550,7 +3078,7 @@ class Origin {
|
|
|
2550
3078
|
publicClient: getPublicClient(),
|
|
2551
3079
|
tokenAddress: paymentToken,
|
|
2552
3080
|
owner: account,
|
|
2553
|
-
spender:
|
|
3081
|
+
spender: this.environment.MARKETPLACE_CONTRACT_ADDRESS,
|
|
2554
3082
|
amount: totalCost,
|
|
2555
3083
|
});
|
|
2556
3084
|
return this.buyAccess(account, tokenId, periods);
|
|
@@ -2558,7 +3086,7 @@ class Origin {
|
|
|
2558
3086
|
}
|
|
2559
3087
|
getData(tokenId) {
|
|
2560
3088
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2561
|
-
const response = yield fetch(`${
|
|
3089
|
+
const response = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/origin/data/${tokenId}`, {
|
|
2562
3090
|
method: "GET",
|
|
2563
3091
|
headers: {
|
|
2564
3092
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -2671,25 +3199,22 @@ class Auth {
|
|
|
2671
3199
|
* @param {string|object} options.redirectUri The redirect URI used for oauth. Leave empty if you want to use the current URL. If you want different redirect URIs for different socials, pass an object with the socials as keys and the redirect URIs as values.
|
|
2672
3200
|
* @param {boolean} [options.allowAnalytics=true] Whether to allow analytics to be sent.
|
|
2673
3201
|
* @param {object} [options.ackeeInstance] The Ackee instance.
|
|
3202
|
+
* @param {("DEVELOPMENT"|"PRODUCTION")} [options.environment="DEVELOPMENT"] The environment to use.
|
|
2674
3203
|
* @throws {APIError} - Throws an error if the clientId is not provided.
|
|
2675
3204
|
*/
|
|
2676
|
-
constructor({ clientId, redirectUri, allowAnalytics = true, ackeeInstance, }) {
|
|
3205
|
+
constructor({ clientId, redirectUri, allowAnalytics = true, ackeeInstance, environment = "DEVELOPMENT", }) {
|
|
2677
3206
|
_Auth_instances.add(this);
|
|
2678
3207
|
_Auth_triggers.set(this, void 0);
|
|
2679
3208
|
_Auth_ackeeInstance.set(this, void 0);
|
|
2680
3209
|
if (!clientId) {
|
|
2681
3210
|
throw new Error("clientId is required");
|
|
2682
3211
|
}
|
|
3212
|
+
if (["PRODUCTION", "DEVELOPMENT"].indexOf(environment) === -1) {
|
|
3213
|
+
throw new Error("Invalid environment, must be DEVELOPMENT or PRODUCTION");
|
|
3214
|
+
}
|
|
2683
3215
|
this.viem = null;
|
|
2684
|
-
|
|
2685
|
-
// if (window.ethereum) this.viem = getClient(window.ethereum);
|
|
2686
|
-
// }
|
|
3216
|
+
this.environment = ENVIRONMENTS[environment];
|
|
2687
3217
|
this.redirectUri = createRedirectUriObject(redirectUri);
|
|
2688
|
-
if (ackeeInstance)
|
|
2689
|
-
__classPrivateFieldSet(this, _Auth_ackeeInstance, ackeeInstance, "f");
|
|
2690
|
-
if (allowAnalytics &&
|
|
2691
|
-
!__classPrivateFieldGet(this, _Auth_ackeeInstance, "f") &&
|
|
2692
|
-
typeof window !== "undefined") ;
|
|
2693
3218
|
this.clientId = clientId;
|
|
2694
3219
|
this.isAuthenticated = false;
|
|
2695
3220
|
this.jwt = null;
|
|
@@ -2743,13 +3268,14 @@ class Auth {
|
|
|
2743
3268
|
if (!provider) {
|
|
2744
3269
|
throw new APIError("provider is required");
|
|
2745
3270
|
}
|
|
2746
|
-
this.viem = getClient(provider, info.name, address);
|
|
3271
|
+
this.viem = getClient(provider, info.name, this.environment.CHAIN, address);
|
|
2747
3272
|
if (this.origin) {
|
|
2748
3273
|
this.origin.setViemClient(this.viem);
|
|
2749
3274
|
}
|
|
2750
3275
|
// TODO: only use one of these
|
|
2751
3276
|
__classPrivateFieldGet(this, _Auth_instances, "m", _Auth_trigger).call(this, "viem", this.viem);
|
|
2752
3277
|
__classPrivateFieldGet(this, _Auth_instances, "m", _Auth_trigger).call(this, "provider", { provider, info });
|
|
3278
|
+
localStorage.setItem("camp-sdk:provider", JSON.stringify(info));
|
|
2753
3279
|
}
|
|
2754
3280
|
/**
|
|
2755
3281
|
* Set the wallet address. This is useful for edge cases where the provider can't return the wallet address. Don't use this unless you know what you're doing.
|
|
@@ -2759,29 +3285,88 @@ class Auth {
|
|
|
2759
3285
|
setWalletAddress(walletAddress) {
|
|
2760
3286
|
this.walletAddress = walletAddress;
|
|
2761
3287
|
}
|
|
3288
|
+
/**
|
|
3289
|
+
* Recover the provider from local storage.
|
|
3290
|
+
* @returns {Promise<void>}
|
|
3291
|
+
*/
|
|
2762
3292
|
recoverProvider() {
|
|
2763
3293
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2764
|
-
var _a, _b, _c;
|
|
3294
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
2765
3295
|
if (!this.walletAddress) {
|
|
2766
3296
|
console.warn("No wallet address found in local storage. Please connect your wallet again.");
|
|
2767
3297
|
return;
|
|
2768
3298
|
}
|
|
3299
|
+
const lastProvider = JSON.parse(localStorage.getItem("camp-sdk:provider") || "{}");
|
|
2769
3300
|
let provider;
|
|
2770
3301
|
const providers = (_a = providerStore.value()) !== null && _a !== void 0 ? _a : [];
|
|
3302
|
+
// first pass: try to find provider by UUID/name and check if it has the right address
|
|
3303
|
+
// without prompting (using eth_accounts)
|
|
2771
3304
|
for (const p of providers) {
|
|
2772
3305
|
try {
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
3306
|
+
if ((lastProvider.uuid && ((_b = p.info) === null || _b === void 0 ? void 0 : _b.uuid) === lastProvider.uuid) ||
|
|
3307
|
+
(lastProvider.name && ((_c = p.info) === null || _c === void 0 ? void 0 : _c.name) === lastProvider.name)) {
|
|
3308
|
+
// silently check if the wallet address matches first
|
|
3309
|
+
const accounts = yield p.provider.request({
|
|
3310
|
+
method: "eth_accounts",
|
|
3311
|
+
});
|
|
3312
|
+
if (accounts.length > 0 &&
|
|
3313
|
+
((_d = accounts[0]) === null || _d === void 0 ? void 0 : _d.toLowerCase()) === ((_e = this.walletAddress) === null || _e === void 0 ? void 0 : _e.toLowerCase())) {
|
|
3314
|
+
provider = p;
|
|
3315
|
+
break;
|
|
3316
|
+
}
|
|
2779
3317
|
}
|
|
2780
3318
|
}
|
|
2781
3319
|
catch (err) {
|
|
2782
3320
|
console.warn("Failed to fetch accounts from provider:", err);
|
|
2783
3321
|
}
|
|
2784
3322
|
}
|
|
3323
|
+
// second pass: if no provider found by UUID/name match, try to find by address only
|
|
3324
|
+
// but still avoid prompting
|
|
3325
|
+
if (!provider) {
|
|
3326
|
+
for (const p of providers) {
|
|
3327
|
+
try {
|
|
3328
|
+
// skip providers we already checked in the first pass
|
|
3329
|
+
if ((lastProvider.uuid && ((_f = p.info) === null || _f === void 0 ? void 0 : _f.uuid) === lastProvider.uuid) ||
|
|
3330
|
+
(lastProvider.name && ((_g = p.info) === null || _g === void 0 ? void 0 : _g.name) === lastProvider.name)) {
|
|
3331
|
+
continue;
|
|
3332
|
+
}
|
|
3333
|
+
const accounts = yield p.provider.request({
|
|
3334
|
+
method: "eth_accounts",
|
|
3335
|
+
});
|
|
3336
|
+
if (accounts.length > 0 &&
|
|
3337
|
+
((_h = accounts[0]) === null || _h === void 0 ? void 0 : _h.toLowerCase()) === ((_j = this.walletAddress) === null || _j === void 0 ? void 0 : _j.toLowerCase())) {
|
|
3338
|
+
provider = p;
|
|
3339
|
+
break;
|
|
3340
|
+
}
|
|
3341
|
+
}
|
|
3342
|
+
catch (err) {
|
|
3343
|
+
console.warn("Failed to fetch accounts from provider:", err);
|
|
3344
|
+
}
|
|
3345
|
+
}
|
|
3346
|
+
}
|
|
3347
|
+
// third pass: if still no provider found and we have UUID/name info,
|
|
3348
|
+
// try prompting the user (only for the stored provider)
|
|
3349
|
+
if (!provider && (lastProvider.uuid || lastProvider.name)) {
|
|
3350
|
+
for (const p of providers) {
|
|
3351
|
+
try {
|
|
3352
|
+
if ((lastProvider.uuid && ((_k = p.info) === null || _k === void 0 ? void 0 : _k.uuid) === lastProvider.uuid) ||
|
|
3353
|
+
(lastProvider.name && ((_l = p.info) === null || _l === void 0 ? void 0 : _l.name) === lastProvider.name)) {
|
|
3354
|
+
console.log("Attempting to reconnect to stored provider:", ((_m = p.info) === null || _m === void 0 ? void 0 : _m.name) || ((_o = p.info) === null || _o === void 0 ? void 0 : _o.uuid));
|
|
3355
|
+
const accounts = yield p.provider.request({
|
|
3356
|
+
method: "eth_requestAccounts",
|
|
3357
|
+
});
|
|
3358
|
+
if (accounts.length > 0 &&
|
|
3359
|
+
((_p = accounts[0]) === null || _p === void 0 ? void 0 : _p.toLowerCase()) === ((_q = this.walletAddress) === null || _q === void 0 ? void 0 : _q.toLowerCase())) {
|
|
3360
|
+
provider = p;
|
|
3361
|
+
break;
|
|
3362
|
+
}
|
|
3363
|
+
}
|
|
3364
|
+
}
|
|
3365
|
+
catch (err) {
|
|
3366
|
+
console.warn("Failed to reconnect to stored provider:", err);
|
|
3367
|
+
}
|
|
3368
|
+
}
|
|
3369
|
+
}
|
|
2785
3370
|
if (provider) {
|
|
2786
3371
|
this.setProvider({
|
|
2787
3372
|
provider: provider.provider,
|
|
@@ -2814,6 +3399,7 @@ class Auth {
|
|
|
2814
3399
|
localStorage.removeItem("camp-sdk:wallet-address");
|
|
2815
3400
|
localStorage.removeItem("camp-sdk:user-id");
|
|
2816
3401
|
localStorage.removeItem("camp-sdk:jwt");
|
|
3402
|
+
localStorage.removeItem("camp-sdk:environment");
|
|
2817
3403
|
// await this.#sendAnalyticsEvent(
|
|
2818
3404
|
// constants.ACKEE_EVENTS.USER_DISCONNECTED,
|
|
2819
3405
|
// "User Disconnected"
|
|
@@ -2844,10 +3430,11 @@ class Auth {
|
|
|
2844
3430
|
this.isAuthenticated = true;
|
|
2845
3431
|
this.userId = res.userId;
|
|
2846
3432
|
this.jwt = res.token;
|
|
2847
|
-
this.origin = new Origin(this.jwt, this.viem);
|
|
3433
|
+
this.origin = new Origin(this.jwt, this.environment, this.viem);
|
|
2848
3434
|
localStorage.setItem("camp-sdk:jwt", this.jwt);
|
|
2849
3435
|
localStorage.setItem("camp-sdk:wallet-address", this.walletAddress);
|
|
2850
3436
|
localStorage.setItem("camp-sdk:user-id", this.userId);
|
|
3437
|
+
localStorage.setItem("camp-sdk:environment", this.environment.NAME);
|
|
2851
3438
|
__classPrivateFieldGet(this, _Auth_instances, "m", _Auth_trigger).call(this, "state", "authenticated");
|
|
2852
3439
|
yield __classPrivateFieldGet(this, _Auth_instances, "m", _Auth_sendAnalyticsEvent).call(this, constants.ACKEE_EVENTS.USER_CONNECTED, "User Connected");
|
|
2853
3440
|
return {
|
|
@@ -2882,7 +3469,7 @@ class Auth {
|
|
|
2882
3469
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2883
3470
|
if (!this.isAuthenticated)
|
|
2884
3471
|
throw new Error("User needs to be authenticated");
|
|
2885
|
-
const connections = yield fetch(`${
|
|
3472
|
+
const connections = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/client-user/connections-sdk`, {
|
|
2886
3473
|
method: "GET",
|
|
2887
3474
|
headers: {
|
|
2888
3475
|
Authorization: `Bearer ${this.jwt}`,
|
|
@@ -2912,11 +3499,7 @@ class Auth {
|
|
|
2912
3499
|
if (!this.isAuthenticated) {
|
|
2913
3500
|
throw new Error("User needs to be authenticated");
|
|
2914
3501
|
}
|
|
2915
|
-
|
|
2916
|
-
// constants.ACKEE_EVENTS.TWITTER_LINKED,
|
|
2917
|
-
// "Twitter Linked"
|
|
2918
|
-
// );
|
|
2919
|
-
window.location.href = `${constants.AUTH_HUB_BASE_API}/twitter/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["twitter"]}`;
|
|
3502
|
+
window.location.href = `${this.environment.AUTH_HUB_BASE_API}/twitter/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["twitter"]}`;
|
|
2920
3503
|
});
|
|
2921
3504
|
}
|
|
2922
3505
|
/**
|
|
@@ -2929,11 +3512,7 @@ class Auth {
|
|
|
2929
3512
|
if (!this.isAuthenticated) {
|
|
2930
3513
|
throw new Error("User needs to be authenticated");
|
|
2931
3514
|
}
|
|
2932
|
-
|
|
2933
|
-
// constants.ACKEE_EVENTS.DISCORD_LINKED,
|
|
2934
|
-
// "Discord Linked"
|
|
2935
|
-
// );
|
|
2936
|
-
window.location.href = `${constants.AUTH_HUB_BASE_API}/discord/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["discord"]}`;
|
|
3515
|
+
window.location.href = `${this.environment.AUTH_HUB_BASE_API}/discord/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["discord"]}`;
|
|
2937
3516
|
});
|
|
2938
3517
|
}
|
|
2939
3518
|
/**
|
|
@@ -2946,11 +3525,7 @@ class Auth {
|
|
|
2946
3525
|
if (!this.isAuthenticated) {
|
|
2947
3526
|
throw new Error("User needs to be authenticated");
|
|
2948
3527
|
}
|
|
2949
|
-
|
|
2950
|
-
// constants.ACKEE_EVENTS.SPOTIFY_LINKED,
|
|
2951
|
-
// "Spotify Linked"
|
|
2952
|
-
// );
|
|
2953
|
-
window.location.href = `${constants.AUTH_HUB_BASE_API}/spotify/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["spotify"]}`;
|
|
3528
|
+
window.location.href = `${this.environment.AUTH_HUB_BASE_API}/spotify/connect?clientId=${this.clientId}&userId=${this.userId}&redirect_url=${this.redirectUri["spotify"]}`;
|
|
2954
3529
|
});
|
|
2955
3530
|
}
|
|
2956
3531
|
/**
|
|
@@ -2964,7 +3539,7 @@ class Auth {
|
|
|
2964
3539
|
if (!this.isAuthenticated) {
|
|
2965
3540
|
throw new Error("User needs to be authenticated");
|
|
2966
3541
|
}
|
|
2967
|
-
const data = yield fetch(`${
|
|
3542
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/tiktok/connect-sdk`, {
|
|
2968
3543
|
method: "POST",
|
|
2969
3544
|
redirect: "follow",
|
|
2970
3545
|
headers: {
|
|
@@ -3005,7 +3580,7 @@ class Auth {
|
|
|
3005
3580
|
if (!phoneNumber)
|
|
3006
3581
|
throw new APIError("Phone number is required");
|
|
3007
3582
|
yield this.unlinkTelegram();
|
|
3008
|
-
const data = yield fetch(`${
|
|
3583
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/telegram/sendOTP-sdk`, {
|
|
3009
3584
|
method: "POST",
|
|
3010
3585
|
redirect: "follow",
|
|
3011
3586
|
headers: {
|
|
@@ -3039,7 +3614,7 @@ class Auth {
|
|
|
3039
3614
|
throw new Error("User needs to be authenticated");
|
|
3040
3615
|
if (!phoneNumber || !otp || !phoneCodeHash)
|
|
3041
3616
|
throw new APIError("Phone number, OTP, and phone code hash are required");
|
|
3042
|
-
const data = yield fetch(`${
|
|
3617
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/telegram/signIn-sdk`, {
|
|
3043
3618
|
method: "POST",
|
|
3044
3619
|
redirect: "follow",
|
|
3045
3620
|
headers: {
|
|
@@ -3075,7 +3650,7 @@ class Auth {
|
|
|
3075
3650
|
if (!this.isAuthenticated) {
|
|
3076
3651
|
throw new Error("User needs to be authenticated");
|
|
3077
3652
|
}
|
|
3078
|
-
const data = yield fetch(`${
|
|
3653
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/twitter/disconnect-sdk`, {
|
|
3079
3654
|
method: "POST",
|
|
3080
3655
|
redirect: "follow",
|
|
3081
3656
|
headers: {
|
|
@@ -3106,7 +3681,7 @@ class Auth {
|
|
|
3106
3681
|
if (!this.isAuthenticated) {
|
|
3107
3682
|
throw new APIError("User needs to be authenticated");
|
|
3108
3683
|
}
|
|
3109
|
-
const data = yield fetch(`${
|
|
3684
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/discord/disconnect-sdk`, {
|
|
3110
3685
|
method: "POST",
|
|
3111
3686
|
redirect: "follow",
|
|
3112
3687
|
headers: {
|
|
@@ -3137,7 +3712,7 @@ class Auth {
|
|
|
3137
3712
|
if (!this.isAuthenticated) {
|
|
3138
3713
|
throw new APIError("User needs to be authenticated");
|
|
3139
3714
|
}
|
|
3140
|
-
const data = yield fetch(`${
|
|
3715
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/spotify/disconnect-sdk`, {
|
|
3141
3716
|
method: "POST",
|
|
3142
3717
|
redirect: "follow",
|
|
3143
3718
|
headers: {
|
|
@@ -3168,7 +3743,7 @@ class Auth {
|
|
|
3168
3743
|
if (!this.isAuthenticated) {
|
|
3169
3744
|
throw new APIError("User needs to be authenticated");
|
|
3170
3745
|
}
|
|
3171
|
-
const data = yield fetch(`${
|
|
3746
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/tiktok/disconnect-sdk`, {
|
|
3172
3747
|
method: "POST",
|
|
3173
3748
|
redirect: "follow",
|
|
3174
3749
|
headers: {
|
|
@@ -3199,7 +3774,7 @@ class Auth {
|
|
|
3199
3774
|
if (!this.isAuthenticated) {
|
|
3200
3775
|
throw new APIError("User needs to be authenticated");
|
|
3201
3776
|
}
|
|
3202
|
-
const data = yield fetch(`${
|
|
3777
|
+
const data = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/telegram/disconnect-sdk`, {
|
|
3203
3778
|
method: "POST",
|
|
3204
3779
|
redirect: "follow",
|
|
3205
3780
|
headers: {
|
|
@@ -3232,32 +3807,16 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
|
|
|
3232
3807
|
const walletAddress = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:wallet-address");
|
|
3233
3808
|
const userId = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:user-id");
|
|
3234
3809
|
const jwt = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:jwt");
|
|
3235
|
-
|
|
3810
|
+
const lastEnvironment = localStorage === null || localStorage === void 0 ? void 0 : localStorage.getItem("camp-sdk:environment");
|
|
3811
|
+
if (walletAddress &&
|
|
3812
|
+
userId &&
|
|
3813
|
+
jwt &&
|
|
3814
|
+
(lastEnvironment === this.environment.NAME || !lastEnvironment)) {
|
|
3236
3815
|
this.walletAddress = walletAddress;
|
|
3237
3816
|
this.userId = userId;
|
|
3238
3817
|
this.jwt = jwt;
|
|
3239
|
-
this.origin = new Origin(this.jwt);
|
|
3818
|
+
this.origin = new Origin(this.jwt, this.environment);
|
|
3240
3819
|
this.isAuthenticated = true;
|
|
3241
|
-
/*
|
|
3242
|
-
let selectedProvider = provider;
|
|
3243
|
-
|
|
3244
|
-
if (!selectedProvider) {
|
|
3245
|
-
const providers = providerStore.value() ?? [];
|
|
3246
|
-
for (const p of providers) {
|
|
3247
|
-
try {
|
|
3248
|
-
const accounts = await p.provider.request({
|
|
3249
|
-
method: "eth_requestAccounts",
|
|
3250
|
-
});
|
|
3251
|
-
if (accounts[0]?.toLowerCase() === walletAddress.toLowerCase()) {
|
|
3252
|
-
selectedProvider = p;
|
|
3253
|
-
break;
|
|
3254
|
-
}
|
|
3255
|
-
} catch (err) {
|
|
3256
|
-
console.warn("Failed to fetch accounts from provider:", err);
|
|
3257
|
-
}
|
|
3258
|
-
}
|
|
3259
|
-
}
|
|
3260
|
-
*/
|
|
3261
3820
|
if (provider) {
|
|
3262
3821
|
this.setProvider({
|
|
3263
3822
|
provider: provider.provider,
|
|
@@ -3267,6 +3826,10 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
|
|
|
3267
3826
|
address: walletAddress,
|
|
3268
3827
|
});
|
|
3269
3828
|
}
|
|
3829
|
+
else {
|
|
3830
|
+
console.warn("No matching provider was given for the stored wallet address. Trying to recover provider.");
|
|
3831
|
+
yield this.recoverProvider();
|
|
3832
|
+
}
|
|
3270
3833
|
}
|
|
3271
3834
|
else {
|
|
3272
3835
|
this.isAuthenticated = false;
|
|
@@ -3286,7 +3849,7 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
|
|
|
3286
3849
|
}, _Auth_fetchNonce = function _Auth_fetchNonce() {
|
|
3287
3850
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3288
3851
|
try {
|
|
3289
|
-
const res = yield fetch(`${
|
|
3852
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/client-user/nonce`, {
|
|
3290
3853
|
method: "POST",
|
|
3291
3854
|
headers: {
|
|
3292
3855
|
"Content-Type": "application/json",
|
|
@@ -3307,7 +3870,7 @@ _Auth_triggers = new WeakMap(), _Auth_ackeeInstance = new WeakMap(), _Auth_insta
|
|
|
3307
3870
|
}, _Auth_verifySignature = function _Auth_verifySignature(message, signature) {
|
|
3308
3871
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3309
3872
|
try {
|
|
3310
|
-
const res = yield fetch(`${
|
|
3873
|
+
const res = yield fetch(`${this.environment.AUTH_HUB_BASE_API}/${this.environment.AUTH_ENDPOINT}/client-user/verify`, {
|
|
3311
3874
|
method: "POST",
|
|
3312
3875
|
headers: {
|
|
3313
3876
|
"Content-Type": "application/json",
|
|
@@ -3388,7 +3951,7 @@ const SocialsProvider = ({ children }) => {
|
|
|
3388
3951
|
}
|
|
3389
3952
|
const query = useQuery({
|
|
3390
3953
|
queryKey: ["socials", authenticated],
|
|
3391
|
-
queryFn: () => { var _a; return (_a = auth === null || auth === void 0 ? void 0 : auth.getLinkedSocials()) !== null && _a !== void 0 ? _a : Promise.resolve(null); }
|
|
3954
|
+
queryFn: () => { var _a; return (_a = auth === null || auth === void 0 ? void 0 : auth.getLinkedSocials()) !== null && _a !== void 0 ? _a : Promise.resolve(null); },
|
|
3392
3955
|
});
|
|
3393
3956
|
return (React.createElement(SocialsContext.Provider, { value: {
|
|
3394
3957
|
query,
|
|
@@ -3422,11 +3985,11 @@ function styleInject(css, ref) {
|
|
|
3422
3985
|
}
|
|
3423
3986
|
}
|
|
3424
3987
|
|
|
3425
|
-
var css_248z$3 = ".toasts-module_toast-
|
|
3426
|
-
var styles$2 = {"toast-container":"toasts-module_toast-
|
|
3988
|
+
var css_248z$3 = ".toasts-module_toast-container__39POD{bottom:10px;display:flex;flex-direction:column-reverse;gap:10px;position:fixed;right:10px;z-index:1000}.toasts-module_toast__z747D{word-wrap:break-word;box-shadow:0 2px 10px rgba(0,0,0,.1);color:#fff;cursor:pointer;font-family:Work Sans,sans-serif;font-size:14px;max-width:300px;opacity:.9;padding:10px 20px;position:relative}.toasts-module_toast-info__rM92k{background-color:#007bff}.toasts-module_toast-warning__WQSMC{background-color:#cc4e02}.toasts-module_toast-error__TpDbQ{background-color:#dc3545}.toasts-module_toast-success__Yk4FE{background-color:#28a745}.toasts-module_toast-enter__Gh-yK{animation:toasts-module_toast-in__CtZB9 .3s forwards}.toasts-module_toast-exit__fUAOs{animation:toasts-module_toast-out__YqBLr .3s forwards}@keyframes toasts-module_toast-in__CtZB9{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toasts-module_toast-out__YqBLr{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvYXN0cy5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUVFLFdBQVksQ0FHWixZQUFhLENBQ2IsNkJBQThCLENBQzlCLFFBQVMsQ0FOVCxjQUFlLENBRWYsVUFBVyxDQUNYLFlBSUYsQ0FFQSw0QkFVRSxvQkFBcUIsQ0FMckIsb0NBQXlDLENBRnpDLFVBQVcsQ0FJWCxjQUFlLENBSWYsZ0NBQW9DLENBUHBDLGNBQWUsQ0FLZixlQUFnQixDQUhoQixVQUFZLENBTFosaUJBQWtCLENBT2xCLGlCQUlGLENBRUEsaUNBQ0Usd0JBQ0YsQ0FFQSxvQ0FDRSx3QkFDRixDQUVBLGtDQUNFLHdCQUNGLENBRUEsb0NBQ0Usd0JBQ0YsQ0FFQSxrQ0FDRSxvREFDRixDQUVBLGlDQUNFLHFEQUNGLENBRUEseUNBQ0UsR0FDRSxTQUFVLENBQ1YsMEJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVix1QkFDRixDQUNGLENBRUEsMENBQ0UsR0FDRSxTQUFVLENBQ1YsdUJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDViwwQkFDRixDQUNGIiwiZmlsZSI6InRvYXN0cy5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRvYXN0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBnYXA6IDEwcHg7XG59XG5cbi50b2FzdCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgLyogYm9yZGVyLXJhZGl1czogNXB4OyAqL1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgb3BhY2l0eTogMC45O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIiwgc2Fucy1zZXJpZjtcbn1cblxuLnRvYXN0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xufVxuXG4udG9hc3Qtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG59XG5cbi50b2FzdC1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG59XG5cbi50b2FzdC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbn1cblxuLnRvYXN0LWVudGVyIHtcbiAgYW5pbWF0aW9uOiB0b2FzdC1pbiAwLjNzIGZvcndhcmRzO1xufVxuXG4udG9hc3QtZXhpdCB7XG4gIGFuaW1hdGlvbjogdG9hc3Qtb3V0IDAuM3MgZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgdG9hc3QtaW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0b2FzdC1vdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbn1cbiJdfQ== */";
|
|
3989
|
+
var styles$2 = {"toast-container":"toasts-module_toast-container__39POD","toast":"toasts-module_toast__z747D","toast-info":"toasts-module_toast-info__rM92k","toast-warning":"toasts-module_toast-warning__WQSMC","toast-error":"toasts-module_toast-error__TpDbQ","toast-success":"toasts-module_toast-success__Yk4FE","toast-enter":"toasts-module_toast-enter__Gh-yK","toast-in":"toasts-module_toast-in__CtZB9","toast-exit":"toasts-module_toast-exit__fUAOs","toast-out":"toasts-module_toast-out__YqBLr"};
|
|
3427
3990
|
styleInject(css_248z$3);
|
|
3428
3991
|
|
|
3429
|
-
var css_248z$2 = ".tooltip-module_tooltip-container__X8blY{display:inline-block;min-height:-moz-fit-content;min-height:fit-content;position:relative}.tooltip-module_tooltip__IN7yd{
|
|
3992
|
+
var css_248z$2 = ".tooltip-module_tooltip-container__X8blY{display:inline-block;min-height:-moz-fit-content;min-height:fit-content;position:relative}.tooltip-module_tooltip__IN7yd{font-family:Work Sans,sans-serif;font-size:.875rem;font-weight:500;min-height:-moz-fit-content;min-height:fit-content;opacity:0;padding:.5rem .75rem;position:absolute;transition:opacity .2s ease,visibility .2s ease;visibility:hidden;white-space:nowrap;z-index:100}@keyframes tooltip-module_fadeIn__KR3aX{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:visible}}@keyframes tooltip-module_fadeOut__JJntn{0%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}.tooltip-module_tooltip__IN7yd.tooltip-module_show__0eq9c{animation:tooltip-module_fadeIn__KR3aX .2s ease-in-out forwards}.tooltip-module_tooltip__IN7yd.tooltip-module_top__5rD4C{bottom:100%;left:50%;margin-bottom:.5rem;transform:translateX(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_bottom__Bk3EH{left:50%;margin-top:.5rem;top:100%;transform:translateX(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_left__PRFtS{margin-right:.5rem;right:100%;top:50%;transform:translateY(-50%)}.tooltip-module_tooltip__IN7yd.tooltip-module_right__nQugl{left:100%;margin-left:.5rem;top:50%;transform:translateY(-50%)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvb2x0aXAubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FFRSxvQkFBcUIsQ0FDckIsMkJBQXVCLENBQXZCLHNCQUF1QixDQUZ2QixpQkFHRixDQUVBLCtCQVlFLGdDQUFvQyxDQVJwQyxpQkFBbUIsQ0FDbkIsZUFBZ0IsQ0FNaEIsMkJBQXVCLENBQXZCLHNCQUF1QixDQUh2QixTQUFVLENBTlYsb0JBQXVCLENBRHZCLGlCQUFrQixDQVNsQiwrQ0FBbUQsQ0FEbkQsaUJBQWtCLENBSGxCLGtCQUFtQixDQUNuQixXQU1GLENBRUEsd0NBQ0UsR0FDRSxTQUFVLENBQ1YsaUJBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVixrQkFDRixDQUNGLENBRUEseUNBQ0UsR0FDRSxTQUFVLENBQ1Ysa0JBQ0YsQ0FDQSxHQUNFLFNBQVUsQ0FDVixpQkFDRixDQUNGLENBQ0EsMERBQ0UsK0RBQ0YsQ0FFQSx5REFDRSxXQUFZLENBQ1osUUFBUyxDQUVULG1CQUFxQixDQURyQiwwQkFFRixDQUVBLDREQUVFLFFBQVMsQ0FFVCxnQkFBa0IsQ0FIbEIsUUFBUyxDQUVULDBCQUVGLENBRUEsMERBSUUsa0JBQW9CLENBSHBCLFVBQVcsQ0FDWCxPQUFRLENBQ1IsMEJBRUYsQ0FFQSwyREFDRSxTQUFVLENBR1YsaUJBQW1CLENBRm5CLE9BQVEsQ0FDUiwwQkFFRiIsImZpbGUiOiJ0b29sdGlwLm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudG9vbHRpcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG59XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgei1pbmRleDogMTAwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB2aXNpYmlsaXR5IDAuMnMgZWFzZTtcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuLnRvb2x0aXAuc2hvdyB7XG4gIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG59XG5cbi50b29sdGlwLnRvcCB7XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLnRvb2x0aXAuYm90dG9tIHtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4udG9vbHRpcC5sZWZ0IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4udG9vbHRpcC5yaWdodCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG59XG4iXX0= */";
|
|
3430
3993
|
var styles$1 = {"tooltip-container":"tooltip-module_tooltip-container__X8blY","tooltip":"tooltip-module_tooltip__IN7yd","show":"tooltip-module_show__0eq9c","fadeIn":"tooltip-module_fadeIn__KR3aX","top":"tooltip-module_top__5rD4C","bottom":"tooltip-module_bottom__Bk3EH","left":"tooltip-module_left__PRFtS","right":"tooltip-module_right__nQugl","fadeOut":"tooltip-module_fadeOut__JJntn"};
|
|
3431
3994
|
styleInject(css_248z$2);
|
|
3432
3995
|
|
|
@@ -3512,8 +4075,8 @@ const getTooltipPosition = (rect, position) => {
|
|
|
3512
4075
|
return { top, left, transform };
|
|
3513
4076
|
};
|
|
3514
4077
|
|
|
3515
|
-
var css_248z$1 = "@import url(\"https://api.fontshare.com/v2/css?f[]=satoshi@1&display=swap\");.auth-module_modal__yyg5L{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000;background-color:rgba(0,0,0,.4);height:100%;left:0;overflow:auto;position:fixed;top:0;transition:all .3s;width:100%;z-index:85}.auth-module_modal__yyg5L .auth-module_outer-container__RraOQ{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);@media screen and (max-width:440px){border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:0;top:auto;transform:translate(-50%);width:100%}}.auth-module_outer-container__RraOQ .auth-module_container__7utns{align-items:center;background-color:#fefefe;border:1px solid #888;border-radius:1.5rem;box-sizing:border-box;flex-direction:column;justify-content:center;padding:1.5rem 1.5rem 1rem;position:relative;text-align:center;width:400px;@media screen and (max-width:440px){border-radius:0;height:auto;max-height:100vh;overflow-y:auto;padding-bottom:1rem;padding-bottom:.5rem;padding-left:1rem;padding-right:1rem;padding-top:1rem;width:100%}}.auth-module_container__7utns.auth-module_linking-container__mYNwD{max-width:300px;@media screen and (max-width:440px){max-width:100%}}.auth-module_origin-tab__miOUK{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:space-between;width:100%}.auth-module_origin-section__UBhBB{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:space-evenly;width:100%}.auth-module_origin-section__UBhBB .auth-module_origin-container__ZIk4c{align-items:center;color:#333;display:flex;flex-direction:column;font-size:.875rem;font-weight:400;justify-content:center;margin-bottom:.5rem;margin-top:.5rem;min-height:3rem;min-width:1rem;text-align:center;width:100%}.auth-module_origin-wrapper__JQfEI{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;width:100%}.auth-module_origin-container__ZIk4c .auth-module_origin-label__l-1q9{color:#777;font-size:.75rem;font-weight:400;margin-bottom:.25rem;text-align:center}.auth-module_horizontal-divider__YfWCy{background-color:#ddd;height:1px;margin-bottom:.5rem;margin-top:.5rem;width:100%}.auth-module_origin-section__UBhBB .auth-module_divider__z65Me{background-color:#ddd;height:1rem;width:1px}.auth-module_origin-dashboard-button__-pch4{align-items:center;border:none;color:#ff6f00;display:flex;flex-direction:row;font-size:.875rem;gap:.5rem;justify-content:center;padding:.25rem;width:100%}.auth-module_origin-dashboard-button__-pch4:hover{color:#cc4e02;cursor:pointer}.auth-module_origin-dashboard-button__-pch4:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_container__7utns h2{font-size:1.25rem;margin-bottom:1rem;margin-top:0}.auth-module_container__7utns .auth-module_header__pX9nM{align-items:center;color:#333;display:flex;flex-direction:row;font-weight:700;gap:.5rem;justify-content:flex-start;margin-bottom:1rem;text-align:left;width:100%;@media screen and (max-width:440px){margin-bottom:.5rem;margin-top:0}}.auth-module_linking-container__mYNwD .auth-module_header__pX9nM{justify-content:center}.auth-module_container__7utns .auth-module_auth-header__LsM1f{align-items:center;color:#333;display:flex;flex-direction:column;font-weight:700;justify-content:center;margin-bottom:1rem;text-align:center;width:100%}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_small-modal-icon__YayD1{height:2rem;margin-bottom:.5rem;margin-top:.5rem;width:2rem}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_wallet-address__AVVA5{color:#777;font-size:.75rem;font-weight:400;margin-top:.2rem}.auth-module_container__7utns .auth-module_close-button__uZrho{background-color:#fff;border:2px solid #ddd;border-radius:100%;color:#aaa;font-size:1.5rem;height:1.25rem;position:absolute;right:1rem;top:1rem;transition:color .15s;width:1.25rem}.auth-module_close-button__uZrho>.auth-module_close-icon__SSCni{display:block;height:1rem;padding:.15rem;position:relative;width:1rem}.auth-module_container__7utns .auth-module_close-button__uZrho:hover{background-color:#ddd;color:#888;cursor:pointer}.auth-module_container__7utns .auth-module_linking-text__uz3ud{color:#777;font-size:1rem;text-align:center}.auth-module_provider-list__6vISy{box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:17.9rem;overflow-y:auto;padding-left:.5rem;padding-right:.5rem;scrollbar-color:#ccc #f1f1f1;scrollbar-width:thin;width:100%}.auth-module_provider-list__6vISy.auth-module_big__jQxvN{max-height:16rem}.auth-module_provider-list__6vISy::-webkit-scrollbar{border-radius:.25rem;width:.5rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:.25rem}.auth-module_spinner__hfzlH:after{animation:auth-module_spin__tm9l6 1s linear infinite;border:.25rem solid #f3f3f3;border-radius:50%;border-top-color:#ff6f00;content:\"\";display:block;height:1rem;width:1rem}.auth-module_spinner__hfzlH{align-self:center;display:flex;justify-content:center;margin-left:auto;margin-right:.25rem}@keyframes auth-module_spin__tm9l6{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-module_modal-icon__CV7ah{align-items:center;display:flex;height:4rem;justify-content:center;margin-bottom:.25rem;margin-top:.5rem;padding:.35rem;width:4rem}.auth-module_modal-icon__CV7ah svg{height:3.6rem;width:3.6rem}.auth-module_container__7utns a.auth-module_footer-text__CQnh6{color:#bbb;font-size:.75rem;text-decoration:none}.auth-module_container__7utns a.auth-module_footer-text__CQnh6:hover{text-decoration:underline}.auth-module_disconnect-button__bsu-3{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_disconnect-button__bsu-3:hover{background-color:#cc4e02;cursor:pointer}.auth-module_disconnect-button__bsu-3:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_linking-button__g1GlL{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_linking-button__g1GlL:hover{background-color:#cc4e02;cursor:pointer}.auth-module_linking-button__g1GlL:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_socials-wrapper__PshV3{display:flex;flex-direction:column;gap:1rem;margin-block:.5rem;width:100%}.auth-module_socials-container__iDzfJ{display:flex;flex-direction:column;gap:.5rem;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-container__4wn11{align-items:center;display:flex;gap:.25rem;justify-content:flex-start;position:relative}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA{align-items:center;background-color:#fefefe;border:1px solid #ddd;border-radius:.75rem;color:#333;display:flex;font-size:.875rem;gap:.25rem;height:2.5rem;padding:.75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:hover{background-color:#ddd;cursor:pointer}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:disabled{background-color:#fefefe;cursor:default}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb{align-items:center;background-color:#eee;border:1px solid #ddd;border-radius:.25rem;color:#333;display:flex;flex:1;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ h3{color:#333;margin:0}.auth-module_connector-button__j79HA .auth-module_connector-checkmark__ZS6zU{height:1rem!important;position:absolute;right:-.5rem;top:-.5rem;width:1rem!important}.auth-module_unlink-connector-button__6Fwkp{align-items:center;background-color:#999;border:none;border-radius:.5rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .675rem .25rem .5rem;position:absolute;right:.375rem;text-align:center;transition:background-color .15s}.auth-module_unlink-connector-button__6Fwkp svg{stroke:#fff!important;height:.875rem!important;margin-right:0!important;width:.875rem!important}.auth-module_unlink-connector-button__6Fwkp:hover{background-color:#888;cursor:pointer}.auth-module_unlink-connector-button__6Fwkp:disabled{background-color:#ccc;cursor:not-allowed}@keyframes auth-module_loader__gH3ZC{0%{transform:translateX(0)}50%{transform:translateX(100%)}to{transform:translateX(0)}}.auth-module_loader__gH3ZC{background-color:#ddd;border-radius:.125rem;height:.4rem;margin-bottom:.5rem;margin-top:.5rem;position:relative;width:4rem}.auth-module_loader__gH3ZC:before{animation:auth-module_loader__gH3ZC 1.5s ease-in-out infinite;background-color:#ff6f00;border-radius:.125rem;content:\"\";display:block;height:.4rem;left:0;position:absolute;width:2rem}.auth-module_no-socials__wEx0t{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_divider__z65Me{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;margin-top:.5rem}.auth-module_divider__z65Me:after,.auth-module_divider__z65Me:before{border-bottom:1px solid #ddd;content:\"\";flex:1}input.auth-module_tiktok-input__FeqdG{border:1px solid gray;border-radius:.75rem;color:#000;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;margin-top:1rem;padding-inline:1rem;width:100%}input.auth-module_tiktok-input__FeqdG.auth-module_invalid__qqgK6{border-color:#dc3545;outline-color:#dc3545}.auth-module_otp-input-container__B2NH6{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.auth-module_otp-input__vjImt{border:1px solid #ccc;border-radius:.5rem;font-size:1.5rem;height:2.5rem;outline:none;text-align:center;transition:border-color .2s;width:2rem}.auth-module_otp-input__vjImt:focus{border-color:#ff6f00}.auth-module_tabs__RcUmV{display:flex;justify-content:flex-start;margin-bottom:calc(-.5rem - 1px);max-width:100%;overflow-x:auto}.auth-module_tabs__RcUmV::-webkit-scrollbar{display:none}.auth-module_tabs__RcUmV::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_tab-button__HT6wc{background-color:#fefefe;border:2px transparent;border-radius:0;border-right:2px solid #ddd;color:#333;cursor:pointer;font-size:.875rem;font-weight:400;padding:.75rem 1rem;text-align:left;transition:background-color .2s}.auth-module_tab-button__HT6wc:hover{background-color:#eee;border-color:#ddd}.auth-module_tab-button__HT6wc:focus{border-color:#ff6f00;outline:none}.auth-module_active-tab__l6P44{border-right-color:#ff6f00}.auth-module_tab-content__noHF0{height:20rem;margin-top:.25rem;min-height:20rem;width:100%}.auth-module_vertical-tabs-container__6sAOL{box-sizing:border-box;display:flex;flex-direction:row;gap:.5rem;width:100%}.auth-module_vertical-tabs__-ba-W{display:flex;flex-direction:column;gap:.25rem;height:100%;margin-left:-1rem;min-width:-moz-fit-content!important;min-width:fit-content!important;overflow-y:auto}.auth-module_vertical-tab-content__wTqKF{background-color:#f9f9f9;border:1px solid #ddd;border-radius:.25rem;flex:1 1 0%;height:22rem;max-width:100%;min-height:22rem;overflow:hidden;padding:1rem}.auth-module_ip-tab-container__ck0F8{justify-content:space-between}.auth-module_ip-tab-container__ck0F8,.auth-module_ip-tab-content__VI4zC{align-items:center;display:flex;flex-direction:column;gap:1rem;height:100%;width:100%}.auth-module_ip-tab-content__VI4zC{justify-content:center}.auth-module_ip-tab-content-text__y2BRh{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_contract-button-container__7HH9n{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.auth-module_contract-input__4BYcs{border:1px solid #ccc;border-radius:.5rem;color:#333;font-size:1rem;max-width:300px;outline:none;padding:.5rem;transition:border-color .2s;width:100%}.auth-module_contract-input__4BYcs:focus{border-color:#ff6f00}.auth-module_contract-button__Cq6zI{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.auth-module_contract-button__Cq6zI:hover{background-color:#cc4e02}.auth-module_contract-button__Cq6zI:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_no-provider-warning__YzGd-{align-items:center;background-color:#fff3cd;border:1px solid #ffeeba;border-radius:.75rem;box-shadow:0 2px 4px rgba(255,223,0,.05);color:#856404;cursor:pointer;display:flex;font-size:1rem;justify-content:center;line-height:1.4;margin-top:1rem;min-height:3.25rem;padding:.5rem;text-align:center;transition:background-color .2s,color .2s,border-color .2s;white-space:normal;width:100%}.auth-module_no-provider-warning__YzGd-:hover{background-color:#ffe8a1;border-color:#ffd966;color:#7a5c00}.auth-module_no-provider-warning__YzGd-:active{background-color:#ffe8a1;border-color:#ffd966;color:#5c4300}.auth-module_no-provider-warning__YzGd-:focus{outline:2px solid #ff6f00;outline-offset:2px}.auth-module_tab-provider-required-overlay__dvmIR{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.7);border-radius:inherit;color:#333;display:flex;font-size:1.1rem;font-weight:600;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,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RSxDQUNoRSxrQkFBbUIsQ0FObkIsVUFZRixDQUVBLDhDQUNFLHdCQUF5QixDQUV6QixvQkFBcUIsQ0FEckIsYUFFRixDQUVBLCtDQUNFLHdCQUF5QixDQUV6QixvQkFBcUIsQ0FEckIsYUFFRixDQUVBLDhDQUNFLHlCQUEwQixDQUMxQixrQkFDRixDQUVBLGtEQVVFLGtCQUFtQixDQUhuQixpQ0FBMEIsQ0FBMUIseUJBQTBCLENBRDFCLDZCQUFvQyxDQVVwQyxxQkFBc0IsQ0FGdEIsVUFBVyxDQUxYLFlBQWEsQ0FJYixnQkFBaUIsQ0FEakIsZUFBZ0IsQ0FQaEIsV0FBWSxDQU1aLHNCQUF1QixDQVJ2QixNQUFPLENBRlAsaUJBQWtCLENBY2xCLGlCQUFrQixDQWJsQixLQUFNLENBRU4sVUFBVyxDQUlYLFVBU0YiLCJmaWxlIjoiYXV0aC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoXCJodHRwczovL2FwaS5mb250c2hhcmUuY29tL3YyL2Nzcz9mW109c2F0b3NoaUAxJmRpc3BsYXk9c3dhcFwiKTtcblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA4NTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuLm1vZGFsIC5vdXRlci1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICAgIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgc2Fucy1zZXJpZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgLyogZGlhbG9nIG9uIG1vYmlsZSAqL1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgfVxufVxuXG4ub3V0ZXItY29udGFpbmVyIC5jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XG4gIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgd2lkdGg6IDQwMHB4OyAvKiB0ZW1wb3JhcnkgKi9cbiAgcGFkZGluZzogMS41cmVtO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG59XG5cbi5jb250YWluZXIubGlua2luZy1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5vcmlnaW4tdGFiIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbi5vcmlnaW4tc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vcmlnaW4tc2VjdGlvbiAub3JpZ2luLWNvbnRhaW5lciB7XG4gIG1pbi13aWR0aDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLm9yaWdpbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm9yaWdpbi1jb250YWluZXIgLm9yaWdpbi1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuLmhvcml6b250YWwtZGl2aWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5vcmlnaW4tc2VjdGlvbiAuZGl2aWRlciB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbn1cblxuLm9yaWdpbi1kYXNoYm9hcmQtYnV0dG9uIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDsgKi9cbiAgY29sb3I6ICNmZjZmMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7ICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbn1cblxuLm9yaWdpbi1kYXNoYm9hcmQtYnV0dG9uOmhvdmVyIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjsgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2NjNGUwMjtcbn1cblxuLm9yaWdpbi1kYXNoYm9hcmQtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLmNvbnRhaW5lciAuaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBjb2xvcjogIzMzMztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8qIG1hcmdpbi10b3A6IC0wLjZyZW07ICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBnYXA6IDAuNXJlbTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG5cbi5saW5raW5nLWNvbnRhaW5lciAuaGVhZGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jb250YWluZXIgLmF1dGgtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGNvbG9yOiAjMzMzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNvbnRhaW5lciAuaGVhZGVyIC5zbWFsbC1tb2RhbC1pY29uIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5jb250YWluZXIgLmhlYWRlciAud2FsbGV0LWFkZHJlc3Mge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG59XG5cbi5jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBjb2xvcjogI2FhYTtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG59XG5cbi5jbG9zZS1idXR0b24gPiAuY2xvc2UtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIHBhZGRpbmc6IDAuMTVyZW07XG59XG5cbi5jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gIGNvbG9yOiAjODg4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb250YWluZXIgLmxpbmtpbmctdGV4dCB7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogbWFyZ2luLXRvcDogMDsgKi9cbiAgLyogbWFyZ2luLWJvdHRvbTogMnJlbTsgKi9cbn1cblxuLnByb3ZpZGVyLWxpc3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1heC1oZWlnaHQ6IDE3LjlyZW07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjY2NjICNmMWYxZjE7XG59XG5cbi5wcm92aWRlci1saXN0LmJpZyB7XG4gIG1heC1oZWlnaHQ6IDE2cmVtO1xufVxuXG4ucHJvdmlkZXItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLnByb3ZpZGVyLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5wcm92aWRlci1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5zcGlubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXRvcDogMC4yNXJlbSBzb2xpZCAjZmY2ZjAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG4uc3Bpbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi5tb2RhbC1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDRyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZzogMC4zNXJlbTtcbn1cbi5tb2RhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAzLjZyZW07XG4gIGhlaWdodDogMy42cmVtO1xufVxuXG4uY29udGFpbmVyIGEuZm9vdGVyLXRleHQge1xuICAvKiBtYXJnaW4tdG9wOiAxcmVtOyAqL1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjYmJiYmJiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb250YWluZXIgYS5mb290ZXItdGV4dDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZGlzY29ubmVjdC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcGFkZGluZy1ibG9jazogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG59XG5cbi5kaXNjb25uZWN0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpc2Nvbm5lY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmtpbmctYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xufVxuXG4ubGlua2luZy1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5raW5nLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zb2NpYWxzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi1ibG9jazogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIC5jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b246ZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbi5zb2NpYWxzLWNvbnRhaW5lciAuY29ubmVjdG9yLWJ1dHRvbiBzdmcge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQgc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIGgzIHtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNvbm5lY3Rvci1idXR0b24gLmNvbm5lY3Rvci1jaGVja21hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTAuNXJlbTtcbiAgcmlnaHQ6IC0wLjVyZW07XG4gIHdpZHRoOiAxcmVtICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xufVxuXG4udW5saW5rLWNvbm5lY3Rvci1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjM3NXJlbTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW0gMC41cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjY3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4udW5saW5rLWNvbm5lY3Rvci1idXR0b24gc3ZnIHtcbiAgc3Ryb2tlOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udW5saW5rLWNvbm5lY3Rvci1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5Aa2V5ZnJhbWVzIGxvYWRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuLmxvYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMC40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG59XG5cbi5sb2FkZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAwLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBsb2FkZXIgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG59XG5cbi5uby1zb2NpYWxzIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uZGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmRpdmlkZXI6OmJlZm9yZSxcbi5kaXZpZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGZsZXg6IDE7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xufVxuXG5pbnB1dC50aWt0b2staW5wdXQge1xuICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiBTYXRvc2hpLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksXG4gICAgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBPcGVuIFNhbnMsIEhlbHZldGljYSBOZXVlLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGhlaWdodDogMi43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzcmVtO1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0LnRpa3Rvay1pbnB1dC5pbnZhbGlkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGMzNTQ1O1xuICBvdXRsaW5lLWNvbG9yOiAjZGMzNTQ1O1xufVxuXG4ub3RwLWlucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLm90cC1pbnB1dCB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycztcbn1cblxuLm90cC1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNmYwMDtcbn1cblxuLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTAuNXJlbSAtIDFweCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cbi50YWJzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udGFiczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuXG4udGFiLWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMnB4IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzMzMztcbn1cblxuLnRhYi1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG59XG5cbi50YWItYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4uYWN0aXZlLXRhYiB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogI2ZmNmYwMDtcbn1cblxuLnRhYi1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDIwcmVtO1xuICBoZWlnaHQ6IDIwcmVtO1xufVxuXG4udmVydGljYWwtdGFicy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDAuNXJlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi52ZXJ0aWNhbC10YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjI1cmVtO1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udmVydGljYWwtdGFiLWNvbnRlbnQge1xuICBmbGV4OiAxIDEgMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDIycmVtO1xuICBoZWlnaHQ6IDIycmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5pcC10YWItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pcC10YWItY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pcC10YWItY29udGVudC10ZXh0IHtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4uY29udHJhY3QtYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmNvbnRyYWN0LWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xuICBjb2xvcjogIzMzMztcbn1cblxuLmNvbnRyYWN0LWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4uY29udHJhY3QtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbSAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG5cbi5jb250cmFjdC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xufVxuXG4uY29udHJhY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2NkO1xuICBjb2xvcjogIzg1NjQwNDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZWViYTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtaW4taGVpZ2h0OiAzLjI1cmVtO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgyNTUsIDIyMywgMCwgMC4wNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBjb2xvciAwLjJzLCBib3JkZXItY29sb3IgMC4ycztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExO1xuICBjb2xvcjogIzdhNWMwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZkOTY2O1xufVxuXG4ubm8tcHJvdmlkZXItd2FybmluZzphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGExO1xuICBjb2xvcjogIzVjNDMwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZkOTY2O1xufVxuXG4ubm8tcHJvdmlkZXItd2FybmluZzpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjZmY2ZjAwO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udGFiLXByb3ZpZGVyLXJlcXVpcmVkLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbn1cbiJdfQ== */";
|
|
3516
|
-
var styles = {"modal":"auth-module_modal__yyg5L","outer-container":"auth-module_outer-container__RraOQ","container":"auth-module_container__7utns","linking-container":"auth-module_linking-container__mYNwD","origin-tab":"auth-module_origin-tab__miOUK","origin-section":"auth-module_origin-section__UBhBB","origin-container":"auth-module_origin-container__ZIk4c","origin-wrapper":"auth-module_origin-wrapper__JQfEI","origin-label":"auth-module_origin-label__l-1q9","horizontal-divider":"auth-module_horizontal-divider__YfWCy","divider":"auth-module_divider__z65Me","origin-dashboard-button":"auth-module_origin-dashboard-button__-pch4","header":"auth-module_header__pX9nM","auth-header":"auth-module_auth-header__LsM1f","small-modal-icon":"auth-module_small-modal-icon__YayD1","wallet-address":"auth-module_wallet-address__AVVA5","close-button":"auth-module_close-button__uZrho","close-icon":"auth-module_close-icon__SSCni","linking-text":"auth-module_linking-text__uz3ud","provider-list":"auth-module_provider-list__6vISy","big":"auth-module_big__jQxvN","spinner":"auth-module_spinner__hfzlH","spin":"auth-module_spin__tm9l6","modal-icon":"auth-module_modal-icon__CV7ah","footer-text":"auth-module_footer-text__CQnh6","disconnect-button":"auth-module_disconnect-button__bsu-3","linking-button":"auth-module_linking-button__g1GlL","socials-wrapper":"auth-module_socials-wrapper__PshV3","socials-container":"auth-module_socials-container__iDzfJ","connector-container":"auth-module_connector-container__4wn11","connector-button":"auth-module_connector-button__j79HA","connector-connected":"auth-module_connector-connected__JvDQb","connector-checkmark":"auth-module_connector-checkmark__ZS6zU","unlink-connector-button":"auth-module_unlink-connector-button__6Fwkp","loader":"auth-module_loader__gH3ZC","no-socials":"auth-module_no-socials__wEx0t","tiktok-input":"auth-module_tiktok-input__FeqdG","invalid":"auth-module_invalid__qqgK6","otp-input-container":"auth-module_otp-input-container__B2NH6","otp-input":"auth-module_otp-input__vjImt","tabs":"auth-module_tabs__RcUmV","tab-button":"auth-module_tab-button__HT6wc","active-tab":"auth-module_active-tab__l6P44","tab-content":"auth-module_tab-content__noHF0","vertical-tabs-container":"auth-module_vertical-tabs-container__6sAOL","vertical-tabs":"auth-module_vertical-tabs__-ba-W","vertical-tab-content":"auth-module_vertical-tab-content__wTqKF","ip-tab-container":"auth-module_ip-tab-container__ck0F8","ip-tab-content":"auth-module_ip-tab-content__VI4zC","ip-tab-content-text":"auth-module_ip-tab-content-text__y2BRh","contract-button-container":"auth-module_contract-button-container__7HH9n","
|
|
4078
|
+
var css_248z$1 = "@import url(\"https://api.fontshare.com/v2/css?f[]=satoshi@1&display=swap\");@import url(\"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap\");@import url(\"https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100..900;1,100..900&display=swap\");.auth-module_modal__yyg5L{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000;background-color:rgba(0,0,0,.4);height:100%;left:0;overflow:auto;position:fixed;top:0;transition:all .3s;width:100%;z-index:85}.auth-module_modal__yyg5L .auth-module_outer-container__RraOQ{align-items:center;box-sizing:border-box;display:flex;flex-direction:row;font-family:Work Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);@media screen and (max-width:440px){border-bottom-left-radius:0;border-bottom-right-radius:0;bottom:0;top:auto;transform:translate(-50%);width:100%}}.auth-module_outer-container__RraOQ .auth-module_container__7utns{align-items:center;background-color:#fefefe;border:1px solid #888;box-sizing:border-box;flex-direction:column;justify-content:center;padding:1.5rem 1.5rem 1rem;position:relative;text-align:center;width:400px;@media screen and (max-width:440px){border-radius:0;height:auto;max-height:100vh;overflow-y:auto;padding-bottom:1rem;padding-bottom:.5rem;padding-left:1rem;padding-right:1rem;padding-top:1rem;width:100%}}.auth-module_container__7utns.auth-module_linking-container__mYNwD{max-width:300px;@media screen and (max-width:440px){max-width:100%}}.auth-module_origin-tab__miOUK{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:space-between;width:100%}.auth-module_origin-section__UBhBB{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:space-evenly;width:100%}.auth-module_origin-section__UBhBB .auth-module_origin-container__ZIk4c{align-items:center;color:#333;display:flex;flex-direction:column;font-size:.875rem;font-weight:400;justify-content:center;margin-bottom:.5rem;margin-top:.5rem;min-height:3rem;min-width:1rem;text-align:center;width:100%}.auth-module_origin-wrapper__JQfEI{align-items:center;display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:space-between;width:100%}.auth-module_origin-container__ZIk4c .auth-module_origin-label__l-1q9{color:#777;font-family:Geist Mono,monospace;font-size:.65rem;font-weight:400;margin-bottom:.25rem;text-align:center;text-transform:uppercase}.auth-module_horizontal-divider__YfWCy{background-color:#ddd;height:1px;margin-bottom:.5rem;margin-top:.5rem;width:100%}.auth-module_origin-section__UBhBB .auth-module_divider__z65Me{background-color:#ddd;height:1rem;width:1px}.auth-module_origin-dashboard-button__-pch4{align-items:center;border:none;color:#ff6f00;display:flex;flex-direction:row;font-size:.875rem;gap:.5rem;justify-content:center;padding:.25rem;width:100%}.auth-module_origin-dashboard-button__-pch4:hover{color:#cc4e02;cursor:pointer}.auth-module_origin-dashboard-button__-pch4:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_container__7utns h2{font-size:1.25rem;margin-bottom:1rem;margin-top:0}.auth-module_container__7utns .auth-module_header__pX9nM{align-items:center;color:#333;display:flex;flex-direction:row;font-family:Geist Mono,monospace;gap:.5rem;justify-content:flex-start;margin-bottom:1rem;text-align:left;text-transform:uppercase;width:100%;@media screen and (max-width:440px){margin-bottom:.5rem;margin-top:0}}.auth-module_linking-container__mYNwD .auth-module_header__pX9nM{justify-content:center}.auth-module_container__7utns .auth-module_auth-header__LsM1f{align-items:center;color:#333;display:flex;flex-direction:column;font-family:Geist Mono,monospace;gap:.5rem;justify-content:center;margin-bottom:1rem;text-align:center;text-transform:uppercase;width:100%}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_small-modal-icon__YayD1{height:2rem;margin-bottom:.5rem;margin-top:.5rem;width:2rem}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_wallet-address__AVVA5{color:#777;display:flex;flex-direction:row;font-family:Geist Mono,monospace;font-size:.75rem;font-weight:400;gap:.25rem;text-transform:uppercase}.auth-module_container__7utns .auth-module_header__pX9nM .auth-module_wallet-address__AVVA5:hover{color:#555;cursor:pointer}.auth-module_container__7utns .auth-module_close-button__uZrho{background-color:#fff;border:1px solid #ddd;color:#aaa;font-size:1.5rem;height:1.25rem;padding:.075rem;position:absolute;right:1rem;top:1rem;transition:color .15s;width:1.25rem}.auth-module_close-button__uZrho>.auth-module_close-icon__SSCni{display:block;height:1rem;padding:.15rem;position:relative;width:1rem}.auth-module_container__7utns .auth-module_close-button__uZrho:hover{border-color:#ff6f00;color:#ff6f00;cursor:pointer}.auth-module_container__7utns .auth-module_linking-text__uz3ud{color:#777;font-size:1rem;text-align:center}.auth-module_provider-list__6vISy{box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;max-height:17.9rem;overflow-y:auto;padding:.25rem .5rem;scrollbar-color:#ccc #f1f1f1;scrollbar-width:thin;width:100%}.auth-module_provider-list__6vISy.auth-module_big__jQxvN{max-height:16rem}.auth-module_provider-list__6vISy::-webkit-scrollbar{border-radius:.25rem;width:.5rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_provider-list__6vISy::-webkit-scrollbar-track{background-color:#f1f1f1;border-radius:.25rem}.auth-module_spinner__hfzlH:after{animation:auth-module_spin__tm9l6 1s linear infinite;border:.25rem solid #f3f3f3;border-radius:50%;border-top-color:#ff6f00;content:\"\";display:block;height:1rem;width:1rem}.auth-module_spinner__hfzlH{align-self:center;display:flex;justify-content:center;margin-left:auto;margin-right:.25rem}@keyframes auth-module_spin__tm9l6{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.auth-module_modal-icon__CV7ah{align-items:center;display:flex;height:4rem;justify-content:center;margin-bottom:.25rem;margin-top:.5rem;padding:.35rem;width:4rem}.auth-module_modal-icon__CV7ah svg{height:3.6rem;width:3.6rem}.auth-module_container__7utns a.auth-module_footer-text__CQnh6{color:#bbb;font-size:.75rem;text-decoration:none}.auth-module_container__7utns a.auth-module_footer-text__CQnh6:hover{text-decoration:underline}.auth-module_footer-container__UJBZk{align-items:center;display:flex;justify-content:center;position:relative;width:100%}.auth-module_environment-indicator__5loWh{border:2px solid #ff8c00;border-radius:50%;height:12px;position:absolute;right:0;width:12px}.auth-module_environment-tooltip__R0PTI{display:block!important;position:absolute!important;right:0!important}.auth-module_disconnect-button__bsu-3{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_disconnect-button__bsu-3:hover{background-color:#cc4e02;cursor:pointer}.auth-module_disconnect-button__bsu-3:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_linking-button__g1GlL{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-size:1rem;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;width:100%}.auth-module_linking-button__g1GlL:hover{background-color:#cc4e02;cursor:pointer}.auth-module_linking-button__g1GlL:disabled{background-color:#ccc;cursor:not-allowed}.auth-module_socials-wrapper__PshV3{display:flex;flex-direction:column;gap:1rem;margin-block:.5rem;width:100%}.auth-module_socials-container__iDzfJ{display:flex;flex-direction:column;gap:.5rem;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-container__4wn11{align-items:center;display:flex;gap:.25rem;justify-content:flex-start;position:relative}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA{align-items:center;background-color:#fefefe;border:1px solid #ddd;color:#333;display:flex;font-size:.875rem;gap:.25rem;height:2.5rem;padding:.75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:hover{background-color:#ddd;cursor:pointer}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA:disabled{background-color:#fefefe;cursor:default}.auth-module_socials-container__iDzfJ .auth-module_connector-button__j79HA svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb{align-items:center;background-color:#eee;border:1px solid #ddd;color:#333;display:flex;flex:1;font-size:.875rem;gap:.25rem;padding:.5rem .75rem;position:relative;width:100%}.auth-module_socials-container__iDzfJ .auth-module_connector-connected__JvDQb svg{color:#333;height:1.5rem;margin-right:.5rem;width:1.5rem}.auth-module_socials-container__iDzfJ h3{color:#333;font-family:Geist Mono;font-size:small;margin:0;text-transform:uppercase}.auth-module_connector-button__j79HA .auth-module_connector-checkmark__ZS6zU{height:1rem!important;position:absolute;right:-.5rem;top:-.5rem;width:1rem!important}.auth-module_unlink-connector-button__6Fwkp{align-items:center;border:none;color:#333;display:flex;font-size:.75rem;gap:.25rem;padding:.25rem .675rem .25rem .5rem;position:absolute;right:.375rem;text-align:center;transition:background-color .15s}.auth-module_unlink-connector-button__6Fwkp svg{stroke:#333!important;height:.875rem!important;margin-right:0!important;width:.875rem!important}.auth-module_unlink-connector-button__6Fwkp:hover{color:#000;cursor:pointer}.auth-module_unlink-connector-button__6Fwkp:disabled{color:#777;cursor:not-allowed}@keyframes auth-module_loader__gH3ZC{0%{transform:translateX(0)}50%{transform:translateX(100%)}to{transform:translateX(0)}}.auth-module_loader__gH3ZC{background-color:#ddd;border-radius:.125rem;height:.4rem;margin-bottom:.5rem;margin-top:.5rem;position:relative;width:4rem}.auth-module_loader__gH3ZC:before{animation:auth-module_loader__gH3ZC 1.5s ease-in-out infinite;background-color:#ff6f00;border-radius:.125rem;content:\"\";display:block;height:.4rem;left:0;position:absolute;width:2rem}.auth-module_no-socials__wEx0t{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_divider__z65Me{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem;margin-top:.5rem}.auth-module_divider__z65Me:after,.auth-module_divider__z65Me:before{border-bottom:1px solid #ddd;content:\"\";flex:1}input.auth-module_tiktok-input__FeqdG{border:1px solid gray;color:#000;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;margin-top:1rem;padding-inline:1rem;width:100%}input.auth-module_tiktok-input__FeqdG.auth-module_invalid__qqgK6{border-color:#dc3545;outline-color:#dc3545}.auth-module_otp-input-container__B2NH6{display:flex;gap:.5rem;justify-content:center;margin-top:1rem}.auth-module_otp-input__vjImt{border:1px solid #ccc;font-size:1.5rem;height:2.5rem;outline:none;text-align:center;transition:border-color .2s;width:2rem}.auth-module_otp-input__vjImt:focus{border-color:#ff6f00}.auth-module_tabs__RcUmV{display:flex;justify-content:flex-start;margin-bottom:calc(-.5rem - 1px);max-width:100%;overflow-x:auto}.auth-module_tabs__RcUmV::-webkit-scrollbar{display:none}.auth-module_tabs__RcUmV::-webkit-scrollbar-thumb{background-color:#ccc;border-radius:.25rem}.auth-module_tab-button__HT6wc{background-color:#fefefe;border:2px transparent;border-radius:0;border-right:2px solid #ddd;color:#333;cursor:pointer;font-family:Geist Mono,monospace;font-size:.825rem;font-weight:400;padding:.5rem .75rem;text-align:left;text-transform:uppercase;transition:background-color .2s}.auth-module_tab-button__HT6wc:hover{background-color:#eee}.auth-module_active-tab__l6P44{border-right-color:#ff6f00}.auth-module_tab-content__noHF0{height:20rem;margin-top:.25rem;min-height:20rem;width:100%}.auth-module_vertical-tabs-container__6sAOL{box-sizing:border-box;display:flex;flex-direction:row;gap:.5rem;width:100%}.auth-module_vertical-tabs__-ba-W{display:flex;flex-direction:column;gap:.25rem;height:100%;margin-left:-1rem;min-width:-moz-fit-content!important;min-width:fit-content!important;overflow-y:auto}.auth-module_vertical-tab-content__wTqKF{background-color:#f9f7f4;border:1px solid #ddd;flex:1 1 0%;height:22rem;max-width:100%;min-height:22rem;overflow:hidden;padding:1rem;position:relative}.auth-module_ip-tab-container__ck0F8{justify-content:space-between}.auth-module_ip-tab-container__ck0F8,.auth-module_ip-tab-content__VI4zC{align-items:center;display:flex;flex-direction:column;gap:1rem;height:100%;width:100%}.auth-module_ip-tab-content__VI4zC{justify-content:center}.auth-module_ip-tab-content-text__y2BRh{color:#777;font-size:.875rem;margin-top:.5rem;text-align:center}.auth-module_contract-button-container__7HH9n{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.auth-module_no-provider-warning__YzGd-{align-items:center;background-color:#fff3cd;border:1px solid #ffeeba;box-shadow:0 2px 4px rgba(255,223,0,.05);color:#856404;cursor:pointer;display:flex;font-size:1rem;justify-content:center;line-height:1.4;margin-top:1rem;min-height:3.25rem;padding:.5rem;text-align:center;transition:background-color .2s,color .2s,border-color .2s;white-space:normal;width:100%}.auth-module_no-provider-warning__YzGd-:hover{background-color:#ffe8a1;border-color:#ffd966;color:#7a5c00}.auth-module_no-provider-warning__YzGd-:active{background-color:#ffe8a1;border-color:#ffd966;color:#5c4300}.auth-module_no-provider-warning__YzGd-:focus{outline:2px solid #ff6f00;outline-offset:2px}.auth-module_tab-provider-required-overlay__dvmIR{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.7);border-radius:inherit;color:#333;display:flex;font-size:1.1rem;font-weight:600;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%;z-index:10}.auth-module_corner-svg__WYa3o{height:12px;pointer-events:none;position:absolute;width:12px;z-index:10}.auth-module_corner-top-left__mYKEQ{left:2px;top:2px}.auth-module_corner-top-right__LejG2{right:2px;top:2px}.auth-module_corner-bottom-left__gSw9-{bottom:2px;left:2px}.auth-module_corner-bottom-right__I-KCA{bottom:2px;right:2px}.auth-module_corner-square__eC1DH{pointer-events:none;position:absolute;z-index:10}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImF1dGgubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEUsQ0FDMUUsOE9BQThPLENBQzlPLDhHQUE4RyxDQUU5RywwQkFVRSxpQ0FBMEIsQ0FBMUIseUJBQTBCLENBRjFCLHFCQUE4QixDQUM5QiwrQkFBb0MsQ0FIcEMsV0FBWSxDQUhaLE1BQU8sQ0FJUCxhQUFjLENBTmQsY0FBZSxDQUdmLEtBQU0sQ0FPTixrQkFBb0IsQ0FOcEIsVUFBVyxDQUhYLFVBVUYsQ0FFQSw4REFXRSxrQkFBbUIsQ0FWbkIscUJBQXNCLENBT3RCLFlBQWEsQ0FDYixrQkFBbUIsQ0FKbkIsNElBRVksQ0FHWixzQkFBdUIsQ0FJdkIsUUFBUyxDQUZULGlCQUFrQixDQUNsQixPQUFRLENBRVIsOEJBQWdDLENBR2hDLG9DQUVFLDJCQUE0QixDQUM1Qiw0QkFBNkIsQ0FDN0IsUUFBUyxDQUNULFFBQVMsQ0FDVCx5QkFBNkIsQ0FMN0IsVUFNRixDQUNGLENBRUEsa0VBWUUsa0JBQW1CLENBUm5CLHdCQUF5QixDQUN6QixxQkFBc0IsQ0FGdEIscUJBQXNCLENBTXRCLHFCQUFzQixDQUN0QixzQkFBdUIsQ0FDdkIsMEJBQW9CLENBVHBCLGlCQUFrQixDQVdsQixpQkFBa0IsQ0FObEIsV0FBWSxDQVFaLG9DQUVFLGVBQWdCLENBR2hCLFdBQVksQ0FDWixnQkFBaUIsQ0FDakIsZUFBZ0IsQ0FKaEIsbUJBQWEsQ0FDYixvQkFBc0IsQ0FEdEIsaUJBQWEsQ0FBYixrQkFBYSxDQUFiLGdCQUFhLENBRmIsVUFPRixDQUNGLENBRUEsbUVBQ0UsZUFBZ0IsQ0FFaEIsb0NBQ0UsY0FDRixDQUNGLENBRUEsK0JBS0Usa0JBQW1CLENBSG5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FHdEIsU0FBVyxDQUxYLFdBQVksQ0FHWiw2QkFBOEIsQ0FHOUIsVUFDRixDQUNBLG1DQUlFLGtCQUFtQixDQUhuQixZQUFhLENBQ2Isa0JBQW1CLENBR25CLFNBQVcsQ0FGWCw0QkFBNkIsQ0FHN0IsVUFDRixDQUVBLHdFQVVFLGtCQUFtQixDQUpuQixVQUFXLENBS1gsWUFBYSxDQUNiLHFCQUFzQixDQVJ0QixpQkFBbUIsQ0FDbkIsZUFBZ0IsQ0FJaEIsc0JBQXVCLENBSXZCLG1CQUFxQixDQUNyQixnQkFBa0IsQ0FYbEIsZUFBZ0IsQ0FGaEIsY0FBZSxDQU1mLGlCQUFrQixDQUxsQixVQWFGLENBRUEsbUNBSUUsa0JBQW1CLENBSG5CLFlBQWEsQ0FDYixxQkFBc0IsQ0FHdEIsU0FBVyxDQUVYLFdBQVksQ0FKWiw2QkFBOEIsQ0FHOUIsVUFFRixDQUVBLHNFQUdFLFVBQWMsQ0FHZCxnQ0FBb0MsQ0FMcEMsZ0JBQWtCLENBQ2xCLGVBQWdCLENBR2hCLG9CQUFzQixDQUR0QixpQkFBa0IsQ0FHbEIsd0JBQ0YsQ0FFQSx1Q0FHRSxxQkFBc0IsQ0FEdEIsVUFBVyxDQUdYLG1CQUFxQixDQURyQixnQkFBa0IsQ0FIbEIsVUFLRixDQUVBLCtEQUdFLHFCQUFzQixDQUR0QixXQUFZLENBRFosU0FHRixDQUVBLDRDQWFFLGtCQUFtQixDQVZuQixXQUFZLENBRFosYUFBYyxDQVFkLFlBQWEsQ0FDYixrQkFBbUIsQ0FMbkIsaUJBQW1CLENBUW5CLFNBQVcsQ0FGWCxzQkFBdUIsQ0FQdkIsY0FBZ0IsQ0FFaEIsVUFRRixDQUVBLGtEQUdFLGFBQWMsQ0FEZCxjQUVGLENBRUEscURBQ0UscUJBQXNCLENBQ3RCLGtCQUNGLENBRUEsaUNBR0UsaUJBQWtCLENBRGxCLGtCQUFtQixDQURuQixZQUdGLENBRUEseURBUUUsa0JBQW1CLENBSG5CLFVBQVcsQ0FKWCxZQUFhLENBR2Isa0JBQW1CLENBU25CLGdDQUFvQyxDQURwQyxTQUFXLENBVlgsMEJBQTJCLENBTzNCLGtCQUFtQixDQUZuQixlQUFnQixDQU9oQix3QkFBeUIsQ0FSekIsVUFBVyxDQVVYLG9DQUVFLG1CQUFxQixDQURyQixZQUVGLENBQ0YsQ0FFQSxpRUFDRSxzQkFDRixDQUVBLDhEQUdFLGtCQUFtQixDQUVuQixVQUFXLENBSlgsWUFBYSxDQUdiLHFCQUFzQixDQU90QixnQ0FBb0MsQ0FEcEMsU0FBVyxDQVJYLHNCQUF1QixDQU12QixrQkFBbUIsQ0FEbkIsaUJBQWtCLENBS2xCLHdCQUF5QixDQU56QixVQU9GLENBRUEsOEZBRUUsV0FBWSxDQUNaLG1CQUFxQixDQUNyQixnQkFBa0IsQ0FIbEIsVUFJRixDQUVBLDRGQUVFLFVBQVcsQ0FHWCxZQUFhLENBQ2Isa0JBQW1CLENBRW5CLGdDQUFvQyxDQVBwQyxnQkFBa0IsQ0FFbEIsZUFBbUIsQ0FJbkIsVUFBWSxDQUVaLHdCQUNGLENBQ0Esa0dBRUUsVUFBVyxDQURYLGNBRUYsQ0FFQSwrREFJRSxxQkFBdUIsQ0FDdkIscUJBQXNCLENBSXRCLFVBQVcsQ0FEWCxnQkFBaUIsQ0FHakIsY0FBZSxDQUpmLGVBQWlCLENBTmpCLGlCQUFrQixDQUVsQixVQUFXLENBRFgsUUFBUyxDQVVULHFCQUF1QixDQUZ2QixhQUdGLENBRUEsZ0VBRUUsYUFBYyxDQUVkLFdBQVksQ0FDWixjQUFnQixDQUpoQixpQkFBa0IsQ0FFbEIsVUFHRixDQUVBLHFFQUNFLG9CQUFxQixDQUNyQixhQUFjLENBQ2QsY0FDRixDQUVBLCtEQUNFLFVBQVcsQ0FDWCxjQUFlLENBQ2YsaUJBR0YsQ0FFQSxrQ0FDRSxxQkFBc0IsQ0FDdEIsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixTQUFXLENBRVgsb0JBQXNCLENBQ3RCLGtCQUFtQixDQUNuQixlQUFnQixDQUloQixvQkFBdUIsQ0FFdkIsNEJBQTZCLENBRDdCLG9CQUFxQixDQVJyQixVQVVGLENBRUEseURBQ0UsZ0JBQ0YsQ0FFQSxxREFFRSxvQkFBc0IsQ0FEdEIsV0FFRixDQUNBLDJEQUNFLHFCQUFzQixDQUN0QixvQkFDRixDQUNBLDJEQUNFLHdCQUF5QixDQUN6QixvQkFDRixDQUVBLGtDQVFFLG9EQUFrQyxDQUZsQywyQkFBaUMsQ0FDakMsaUJBQWtCLENBRGxCLHdCQUFpQyxDQUxqQyxVQUFXLENBQ1gsYUFBYyxDQUVkLFdBQVksQ0FEWixVQU1GLENBQ0EsNEJBSUUsaUJBQWtCLENBSGxCLFlBQWEsQ0FJYixzQkFBdUIsQ0FIdkIsZ0JBQWlCLENBQ2pCLG1CQUdGLENBRUEsbUNBQ0UsR0FDRSxzQkFDRixDQUNBLEdBQ0UsdUJBQ0YsQ0FDRixDQUVBLCtCQUdFLGtCQUFtQixDQUZuQixZQUFhLENBSWIsV0FBWSxDQUhaLHNCQUF1QixDQUt2QixvQkFBc0IsQ0FEdEIsZ0JBQWtCLENBRWxCLGNBQWdCLENBSmhCLFVBS0YsQ0FDQSxtQ0FFRSxhQUFjLENBRGQsWUFFRixDQUVBLCtEQUdFLFVBQWMsQ0FEZCxnQkFBa0IsQ0FFbEIsb0JBQ0YsQ0FFQSxxRUFDRSx5QkFDRixDQUVBLHFDQUdFLGtCQUFtQixDQUZuQixZQUFhLENBQ2Isc0JBQXVCLENBRXZCLGlCQUFrQixDQUNsQixVQUNGLENBRUEsMENBTUUsd0JBQXlCLENBRHpCLGlCQUFrQixDQURsQixXQUFZLENBSFosaUJBQWtCLENBQ2xCLE9BQVEsQ0FDUixVQUlGLENBRUEsd0NBR0UsdUJBQXlCLENBRnpCLDJCQUE2QixDQUM3QixpQkFFRixDQUVBLHNDQUNFLHdCQUF5QixDQUV6QixXQUFZLENBQ1osb0JBQXNCLENBUXRCLDJHQUN5RSxDQVh6RSxVQUFZLENBS1osY0FBZSxDQUlmLGFBQWMsQ0FGZCxvQkFBc0IsQ0FDdEIsZUFBZ0IsQ0FMaEIsWUFBYSxDQUNiLGVBQWdCLENBRWhCLFVBTUYsQ0FFQSw0Q0FDRSx3QkFBeUIsQ0FDekIsY0FDRixDQUVBLCtDQUNFLHFCQUFzQixDQUN0QixrQkFDRixDQUVBLG1DQUNFLHdCQUF5QixDQUV6QixXQUFZLENBQ1osb0JBQXNCLENBUXRCLDJHQUN5RSxDQVh6RSxVQUFZLENBS1osY0FBZSxDQUlmLGFBQWMsQ0FGZCxvQkFBc0IsQ0FDdEIsZUFBZ0IsQ0FMaEIsWUFBYSxDQUNiLGVBQWdCLENBRWhCLFVBTUYsQ0FFQSx5Q0FDRSx3QkFBeUIsQ0FDekIsY0FDRixDQUVBLDRDQUNFLHFCQUFzQixDQUN0QixrQkFDRixDQUVBLG9DQUNFLFlBQWEsQ0FDYixxQkFBc0IsQ0FDdEIsUUFBUyxDQUNULGtCQUFvQixDQUNwQixVQUNGLENBRUEsc0NBQ0UsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixTQUFXLENBQ1gsVUFDRixDQUVBLDhFQUlFLGtCQUFtQixDQUZuQixZQUFhLENBR2IsVUFBWSxDQUZaLDBCQUEyQixDQUYzQixpQkFLRixDQUVBLDJFQUdFLGtCQUFtQixDQUtuQix3QkFBeUIsQ0FFekIscUJBQXNCLENBRHRCLFVBQVcsQ0FQWCxZQUFhLENBS2IsaUJBQW1CLENBSG5CLFVBQVksQ0FRWixhQUFjLENBUGQsY0FBZ0IsQ0FKaEIsaUJBQWtCLENBVWxCLFVBRUYsQ0FFQSxpRkFDRSxxQkFBc0IsQ0FDdEIsY0FDRixDQUVBLG9GQUVFLHdCQUF5QixDQUR6QixjQUVGLENBRUEsK0VBR0UsVUFBVyxDQURYLGFBQWMsQ0FFZCxrQkFBb0IsQ0FIcEIsWUFJRixDQUVBLDhFQUdFLGtCQUFtQixDQU1uQixxQkFBc0IsQ0FHdEIscUJBQXNCLENBRHRCLFVBQVcsQ0FUWCxZQUFhLENBWWIsTUFBTyxDQU5QLGlCQUFtQixDQUpuQixVQUFZLENBR1osb0JBQXNCLENBTnRCLGlCQUFrQixDQVlsQixVQUVGLENBRUEsa0ZBR0UsVUFBVyxDQURYLGFBQWMsQ0FFZCxrQkFBb0IsQ0FIcEIsWUFJRixDQUVBLHlDQUNFLFVBQVcsQ0FFWCxzQkFBeUIsQ0FFekIsZUFBZ0IsQ0FIaEIsUUFBUyxDQUVULHdCQUVGLENBRUEsNkVBS0UscUJBQXVCLENBSnZCLGlCQUFrQixDQUVsQixZQUFjLENBRGQsVUFBWSxDQUVaLG9CQUVGLENBRUEsNENBWUUsa0JBQW1CLENBVG5CLFdBQVksQ0FPWixVQUFXLENBQ1gsWUFBYSxDQVBiLGdCQUFrQixDQVNsQixVQUFZLENBUFosbUNBQXVCLENBTHZCLGlCQUFrQixDQUNsQixhQUFlLENBTWYsaUJBQWtCLENBUWxCLGdDQUNGLENBRUEsZ0RBQ0UscUJBQXVCLENBRXZCLHdCQUEyQixDQUMzQix3QkFBMEIsQ0FGMUIsdUJBR0YsQ0FFQSxrREFFRSxVQUFXLENBQ1gsY0FDRixDQUVBLHFEQUVFLFVBQVcsQ0FDWCxrQkFDRixDQUVBLHFDQUNFLEdBQ0UsdUJBQ0YsQ0FDQSxJQUNFLDBCQUNGLENBQ0EsR0FDRSx1QkFDRixDQUNGLENBRUEsMkJBSUUscUJBQXNCLENBR3RCLHFCQUF1QixDQUp2QixZQUFjLENBR2QsbUJBQXFCLENBRHJCLGdCQUFrQixDQUpsQixpQkFBa0IsQ0FDbEIsVUFNRixDQUVBLGtDQVFFLDZEQUEyQyxDQUgzQyx3QkFBeUIsQ0FJekIscUJBQXVCLENBUnZCLFVBQVcsQ0FDWCxhQUFjLENBRWQsWUFBYyxDQUdkLE1BQU8sQ0FEUCxpQkFBa0IsQ0FIbEIsVUFPRixDQUVBLCtCQUNFLFVBQVcsQ0FDWCxpQkFBbUIsQ0FFbkIsZ0JBQWtCLENBRGxCLGlCQUVGLENBRUEsNEJBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FFYixTQUFXLENBRVgsbUJBQXFCLENBRHJCLGdCQUVGLENBRUEscUVBSUUsNEJBQTZCLENBRjdCLFVBQVcsQ0FDWCxNQUVGLENBRUEsc0NBQ0UscUJBQXNCLENBRXRCLFVBQVksQ0FDWiwwSUFDMEUsQ0FDMUUsY0FBZSxDQUNmLGVBQWdCLENBQ2hCLGNBQWUsQ0FDZixvQkFBcUIsQ0FFckIsZUFBZ0IsQ0FEaEIsbUJBQW9CLENBRXBCLFVBQ0YsQ0FFQSxpRUFDRSxvQkFBcUIsQ0FDckIscUJBQ0YsQ0FFQSx3Q0FDRSxZQUFhLENBRWIsU0FBVyxDQURYLHNCQUF1QixDQUV2QixlQUNGLENBRUEsOEJBS0UscUJBQXNCLENBRHRCLGdCQUFpQixDQUZqQixhQUFjLENBS2QsWUFBYSxDQUpiLGlCQUFrQixDQUtsQiwyQkFBNkIsQ0FQN0IsVUFRRixDQUVBLG9DQUNFLG9CQUNGLENBRUEseUJBQ0UsWUFBYSxDQUNiLDBCQUEyQixDQUMzQixnQ0FBa0MsQ0FDbEMsY0FBZSxDQUNmLGVBQ0YsQ0FDQSw0Q0FDRSxZQUNGLENBQ0Esa0RBQ0UscUJBQXNCLENBQ3RCLG9CQUNGLENBRUEsK0JBRUUsd0JBQXlCLENBRXpCLHNCQUE0QixDQUg1QixlQUFnQixDQUdoQiwyQkFBNEIsQ0FPNUIsVUFBVyxDQUhYLGNBQWUsQ0FJZixnQ0FBb0MsQ0FOcEMsaUJBQW1CLENBQ25CLGVBQWdCLENBRmhCLG9CQUF1QixDQUt2QixlQUFnQixDQUdoQix3QkFBeUIsQ0FKekIsK0JBS0YsQ0FFQSxxQ0FDRSxxQkFDRixDQUVBLCtCQUNFLDBCQUNGLENBRUEsZ0NBSUUsWUFBYSxDQUhiLGlCQUFtQixDQUVuQixnQkFBaUIsQ0FEakIsVUFHRixDQUVBLDRDQUlFLHFCQUFzQixDQUh0QixZQUFhLENBQ2Isa0JBQW1CLENBQ25CLFNBQVcsQ0FFWCxVQUNGLENBRUEsa0NBQ0UsWUFBYSxDQUNiLHFCQUFzQixDQUN0QixVQUFZLENBR1osV0FBWSxDQURaLGlCQUFrQixDQURsQixvQ0FBaUMsQ0FBakMsK0JBQWlDLENBR2pDLGVBQ0YsQ0FFQSx5Q0FTRSx3QkFBeUIsQ0FIekIscUJBQXNCLENBSnRCLFdBQVksQ0FHWixZQUFhLENBS2IsY0FBZSxDQU5mLGdCQUFpQixDQURqQixlQUFnQixDQUtoQixZQUFhLENBUGIsaUJBVUYsQ0FFQSxxQ0FLRSw2QkFHRixDQUVBLHdFQUpFLGtCQUFtQixDQUxuQixZQUFhLENBQ2IscUJBQXNCLENBQ3RCLFFBQVMsQ0FJVCxXQUFZLENBSFosVUFjRixDQVJBLG1DQUtFLHNCQUdGLENBRUEsd0NBQ0UsVUFBVyxDQUNYLGlCQUFtQixDQUVuQixnQkFBa0IsQ0FEbEIsaUJBRUYsQ0FFQSw4Q0FHRSxrQkFBbUIsQ0FGbkIsWUFBYSxDQUNiLHFCQUFzQixDQUV0QixRQUFTLENBQ1QsZUFDRixDQUVBLHdDQWlCRSxrQkFBbUIsQ0FoQm5CLHdCQUF5QixDQUV6Qix3QkFBeUIsQ0FPekIsd0NBQTZDLENBUjdDLGFBQWMsQ0FTZCxjQUFlLENBS2YsWUFBYSxDQVZiLGNBQWUsQ0FZZixzQkFBdUIsQ0FKdkIsZUFBZ0IsQ0FOaEIsZUFBZ0IsQ0FDaEIsa0JBQW1CLENBSm5CLGFBQWUsQ0FVZixpQkFBa0IsQ0FIbEIsMERBQWdFLENBQ2hFLGtCQUFtQixDQU5uQixVQVlGLENBRUEsOENBQ0Usd0JBQXlCLENBRXpCLG9CQUFxQixDQURyQixhQUVGLENBRUEsK0NBQ0Usd0JBQXlCLENBRXpCLG9CQUFxQixDQURyQixhQUVGLENBRUEsOENBQ0UseUJBQTBCLENBQzFCLGtCQUNGLENBRUEsa0RBVUUsa0JBQW1CLENBSG5CLGlDQUEwQixDQUExQix5QkFBMEIsQ0FEMUIsNkJBQW9DLENBVXBDLHFCQUFzQixDQUZ0QixVQUFXLENBTFgsWUFBYSxDQUliLGdCQUFpQixDQURqQixlQUFnQixDQVBoQixXQUFZLENBTVosc0JBQXVCLENBUnZCLE1BQU8sQ0FGUCxpQkFBa0IsQ0FjbEIsaUJBQWtCLENBYmxCLEtBQU0sQ0FFTixVQUFXLENBSVgsVUFTRixDQUdBLCtCQUdFLFdBQVksQ0FDWixtQkFBb0IsQ0FIcEIsaUJBQWtCLENBQ2xCLFVBQVcsQ0FHWCxVQUNGLENBRUEsb0NBRUUsUUFBUyxDQURULE9BRUYsQ0FFQSxxQ0FFRSxTQUFVLENBRFYsT0FFRixDQUVBLHVDQUNFLFVBQVcsQ0FDWCxRQUNGLENBRUEsd0NBQ0UsVUFBVyxDQUNYLFNBQ0YsQ0FFQSxrQ0FFRSxtQkFBb0IsQ0FEcEIsaUJBQWtCLENBRWxCLFVBQ0YiLCJmaWxlIjoiYXV0aC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoXCJodHRwczovL2FwaS5mb250c2hhcmUuY29tL3YyL2Nzcz9mW109c2F0b3NoaUAxJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1HZWlzdCtNb25vOndnaHRAMTAwLi45MDAmZmFtaWx5PVJvYm90bzppdGFsLHdnaHRAMCwxMDA7MCwzMDA7MCw0MDA7MCw1MDA7MCw3MDA7MCw5MDA7MSwxMDA7MSwzMDA7MSw0MDA7MSw1MDA7MSw3MDA7MSw5MDAmZmFtaWx5PVdvcmsrU2FuczppdGFsLHdnaHRAMCwxMDAuLjkwMDsxLDEwMC4uOTAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Xb3JrK1NhbnM6aXRhbCx3Z2h0QDAsMTAwLi45MDA7MSwxMDAuLjkwMCZkaXNwbGF5PXN3YXBcIik7XG5cbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogODU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG59XG5cbi5tb2RhbCAub3V0ZXItY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogZm9udC1mYW1pbHk6IFwiU2F0b3NoaVwiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCxcbiAgICBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLFxuICAgIHNhbnMtc2VyaWY7ICovXG4gIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCxcbiAgICBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgXCJPcGVuIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLFxuICAgIHNhbnMtc2VyaWY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gIC8qIGRpYWxvZyBvbiBtb2JpbGUgKi9cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIH1cbn1cblxuLm91dGVyLWNvbnRhaW5lciAuY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICAvKiBib3JkZXItcmFkaXVzOiAxLjVyZW07ICovXG4gIHdpZHRoOiA0MDBweDsgLyogdGVtcG9yYXJ5ICovXG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxufVxuXG4uY29udGFpbmVyLmxpbmtpbmctY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAzMDBweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ub3JpZ2luLXRhYiB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG4ub3JpZ2luLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ub3JpZ2luLXNlY3Rpb24gLm9yaWdpbi1jb250YWluZXIge1xuICBtaW4td2lkdGg6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzcmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5vcmlnaW4td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5vcmlnaW4tY29udGFpbmVyIC5vcmlnaW4tbGFiZWwge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjNzc3Nzc3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaG9yaXpvbnRhbC1kaXZpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLm9yaWdpbi1zZWN0aW9uIC5kaXZpZGVyIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xufVxuXG4ub3JpZ2luLWRhc2hib2FyZC1idXR0b24ge1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwOyAqL1xuICBjb2xvcjogI2ZmNmYwMDtcbiAgYm9yZGVyOiBub25lO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBwYWRkaW5nOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgLyogYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDsgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xufVxuXG4ub3JpZ2luLWRhc2hib2FyZC1idXR0b246aG92ZXIge1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyOyAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjY2M0ZTAyO1xufVxuXG4ub3JpZ2luLWRhc2hib2FyZC1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuXG4uY29udGFpbmVyIC5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGNvbG9yOiAjMzMzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgLyogbWFyZ2luLXRvcDogLTAuNnJlbTsgKi9cbiAgLyogZm9udC13ZWlnaHQ6IGJvbGQ7ICovXG4gIGdhcDogMC41cmVtO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG5cbi5saW5raW5nLWNvbnRhaW5lciAuaGVhZGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jb250YWluZXIgLmF1dGgtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGNvbG9yOiAjMzMzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAvKiBmb250LXdlaWdodDogYm9sZDsgKi9cbiAgZ2FwOiAwLjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY29udGFpbmVyIC5oZWFkZXIgLnNtYWxsLW1vZGFsLWljb24ge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmNvbnRhaW5lciAuaGVhZGVyIC53YWxsZXQtYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8qIG1hcmdpbi10b3A6IDAuMnJlbTsgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAwLjI1cmVtO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5jb250YWluZXIgLmhlYWRlciAud2FsbGV0LWFkZHJlc3M6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNTU1O1xufVxuXG4uY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgcmlnaHQ6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAvKiBib3JkZXItcmFkaXVzOiAxMDAlOyAqL1xuICBwYWRkaW5nOiAwLjA3NXJlbTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGNvbG9yOiAjYWFhO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbn1cblxuLmNsb3NlLWJ1dHRvbiA+IC5jbG9zZS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgcGFkZGluZzogMC4xNXJlbTtcbn1cblxuLmNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogI2ZmNmYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29udGFpbmVyIC5saW5raW5nLXRleHQge1xuICBjb2xvcjogIzc3NztcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIG1hcmdpbi10b3A6IDA7ICovXG4gIC8qIG1hcmdpbi1ib3R0b206IDJyZW07ICovXG59XG5cbi5wcm92aWRlci1saXN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBtYXgtaGVpZ2h0OiAxNy45cmVtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjY2NjICNmMWYxZjE7XG59XG5cbi5wcm92aWRlci1saXN0LmJpZyB7XG4gIG1heC1oZWlnaHQ6IDE2cmVtO1xufVxuXG4ucHJvdmlkZXItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xufVxuLnByb3ZpZGVyLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cbi5wcm92aWRlci1saXN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi5zcGlubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgI2YzZjNmMztcbiAgYm9yZGVyLXRvcDogMC4yNXJlbSBzb2xpZCAjZmY2ZjAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG59XG4uc3Bpbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cbi5tb2RhbC1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDRyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZzogMC4zNXJlbTtcbn1cbi5tb2RhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAzLjZyZW07XG4gIGhlaWdodDogMy42cmVtO1xufVxuXG4uY29udGFpbmVyIGEuZm9vdGVyLXRleHQge1xuICAvKiBtYXJnaW4tdG9wOiAxcmVtOyAqL1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjYmJiYmJiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jb250YWluZXIgYS5mb290ZXItdGV4dDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZW52aXJvbm1lbnQtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY4YzAwO1xufVxuXG4uZW52aXJvbm1lbnQtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uZGlzY29ubmVjdC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcGFkZGluZy1ibG9jazogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0LCByZ2JhKDQ2LCA1NCwgODAsIDAuMDc1KSAwIDFweCAxcHg7XG59XG5cbi5kaXNjb25uZWN0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpc2Nvbm5lY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmtpbmctYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xufVxuXG4ubGlua2luZy1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0ZTAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5raW5nLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5zb2NpYWxzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi1ibG9jazogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjI1cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIC5jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1idXR0b246ZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbi5zb2NpYWxzLWNvbnRhaW5lciAuY29ubmVjdG9yLWJ1dHRvbiBzdmcge1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgKi9cbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxO1xufVxuXG4uc29jaWFscy1jb250YWluZXIgLmNvbm5lY3Rvci1jb25uZWN0ZWQgc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuLnNvY2lhbHMtY29udGFpbmVyIGgzIHtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiR2Vpc3QgTW9ub1wiO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IHNtYWxsO1xufVxuXG4uY29ubmVjdG9yLWJ1dHRvbiAuY29ubmVjdG9yLWNoZWNrbWFyayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMC41cmVtO1xuICByaWdodDogLTAuNXJlbTtcbiAgd2lkdGg6IDFyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi51bmxpbmstY29ubmVjdG9yLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDAuMzc1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjc1cmVtO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjVyZW07ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgKi9cbiAgY29sb3I6ICMzMzM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMC4yNXJlbTtcbiAgLyogYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDsgKi9cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uIHN2ZyB7XG4gIHN0cm9rZTogIzMzMyAhaW1wb3J0YW50O1xuICB3aWR0aDogMC44NzVyZW0gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uOmhvdmVyIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogIzg4ODsgKi9cbiAgY29sb3I6ICMwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVubGluay1jb25uZWN0b3ItYnV0dG9uOmRpc2FibGVkIHtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgKi9cbiAgY29sb3I6ICM3Nzc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG4ubG9hZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAwLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbn1cblxuLmxvYWRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDAuNHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBhbmltYXRpb246IGxvYWRlciAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiAwLjEyNXJlbTtcbn1cblxuLm5vLXNvY2lhbHMge1xuICBjb2xvcjogIzc3NztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbi5kaXZpZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZGl2aWRlcjo6YmVmb3JlLFxuLmRpdmlkZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZmxleDogMTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG5cbmlucHV0LnRpa3Rvay1pbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6IFNhdG9zaGksIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSxcbiAgICBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIE9wZW4gU2FucywgSGVsdmV0aWNhIE5ldWUsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzNyZW07XG4gIHBhZGRpbmctaW5saW5lOiAxcmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXQudGlrdG9rLWlucHV0LmludmFsaWQge1xuICBib3JkZXItY29sb3I6ICNkYzM1NDU7XG4gIG91dGxpbmUtY29sb3I6ICNkYzM1NDU7XG59XG5cbi5vdHAtaW5wdXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4ub3RwLWlucHV0IHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjVyZW07ICovXG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzO1xufVxuXG4ub3RwLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4udGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygtMC41cmVtIC0gMXB4KTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLnRhYnM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWJzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG5cbi50YWItYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyOiAycHggdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBmb250LXNpemU6IDAuODI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGFiLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5hY3RpdmUtdGFiIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmY2ZjAwO1xufVxuXG4udGFiLWNvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjByZW07XG4gIGhlaWdodDogMjByZW07XG59XG5cbi52ZXJ0aWNhbC10YWJzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMC41cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnZlcnRpY2FsLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDAuMjVyZW07XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi52ZXJ0aWNhbC10YWItY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAyMnJlbTtcbiAgaGVpZ2h0OiAyMnJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgLyogYm9yZGVyLXJhZGl1czogMC4yNXJlbTsgKi9cbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjdmNDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaXAtdGFiLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaXAtdGFiLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDFyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaXAtdGFiLWNvbnRlbnQtdGV4dCB7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLmNvbnRyYWN0LWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDFyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5uby1wcm92aWRlci13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNjZDtcbiAgY29sb3I6ICM4NTY0MDQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmVlYmE7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07ICovXG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWluLWhlaWdodDogMy4yNXJlbTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMjU1LCAyMjMsIDAsIDAuMDUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5uby1wcm92aWRlci13YXJuaW5nOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcbiAgY29sb3I6ICM3YTVjMDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDk2Njtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmc6YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThhMTtcbiAgY29sb3I6ICM1YzQzMDA7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDk2Njtcbn1cblxuLm5vLXByb3ZpZGVyLXdhcm5pbmc6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgI2ZmNmYwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnRhYi1wcm92aWRlci1yZXF1aXJlZC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi8qIENvcm5lciBTVkcgc3R5bGVzICovXG4uY29ybmVyLXN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4uY29ybmVyLXRvcC1sZWZ0IHtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDJweDtcbn1cblxuLmNvcm5lci10b3AtcmlnaHQge1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbn1cblxuLmNvcm5lci1ib3R0b20tbGVmdCB7XG4gIGJvdHRvbTogMnB4O1xuICBsZWZ0OiAycHg7XG59XG5cbi5jb3JuZXItYm90dG9tLXJpZ2h0IHtcbiAgYm90dG9tOiAycHg7XG4gIHJpZ2h0OiAycHg7XG59XG5cbi5jb3JuZXItc3F1YXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7XG59XG4iXX0= */";
|
|
4079
|
+
var styles = {"modal":"auth-module_modal__yyg5L","outer-container":"auth-module_outer-container__RraOQ","container":"auth-module_container__7utns","linking-container":"auth-module_linking-container__mYNwD","origin-tab":"auth-module_origin-tab__miOUK","origin-section":"auth-module_origin-section__UBhBB","origin-container":"auth-module_origin-container__ZIk4c","origin-wrapper":"auth-module_origin-wrapper__JQfEI","origin-label":"auth-module_origin-label__l-1q9","horizontal-divider":"auth-module_horizontal-divider__YfWCy","divider":"auth-module_divider__z65Me","origin-dashboard-button":"auth-module_origin-dashboard-button__-pch4","header":"auth-module_header__pX9nM","auth-header":"auth-module_auth-header__LsM1f","small-modal-icon":"auth-module_small-modal-icon__YayD1","wallet-address":"auth-module_wallet-address__AVVA5","close-button":"auth-module_close-button__uZrho","close-icon":"auth-module_close-icon__SSCni","linking-text":"auth-module_linking-text__uz3ud","provider-list":"auth-module_provider-list__6vISy","big":"auth-module_big__jQxvN","spinner":"auth-module_spinner__hfzlH","spin":"auth-module_spin__tm9l6","modal-icon":"auth-module_modal-icon__CV7ah","footer-text":"auth-module_footer-text__CQnh6","footer-container":"auth-module_footer-container__UJBZk","environment-indicator":"auth-module_environment-indicator__5loWh","environment-tooltip":"auth-module_environment-tooltip__R0PTI","disconnect-button":"auth-module_disconnect-button__bsu-3","linking-button":"auth-module_linking-button__g1GlL","socials-wrapper":"auth-module_socials-wrapper__PshV3","socials-container":"auth-module_socials-container__iDzfJ","connector-container":"auth-module_connector-container__4wn11","connector-button":"auth-module_connector-button__j79HA","connector-connected":"auth-module_connector-connected__JvDQb","connector-checkmark":"auth-module_connector-checkmark__ZS6zU","unlink-connector-button":"auth-module_unlink-connector-button__6Fwkp","loader":"auth-module_loader__gH3ZC","no-socials":"auth-module_no-socials__wEx0t","tiktok-input":"auth-module_tiktok-input__FeqdG","invalid":"auth-module_invalid__qqgK6","otp-input-container":"auth-module_otp-input-container__B2NH6","otp-input":"auth-module_otp-input__vjImt","tabs":"auth-module_tabs__RcUmV","tab-button":"auth-module_tab-button__HT6wc","active-tab":"auth-module_active-tab__l6P44","tab-content":"auth-module_tab-content__noHF0","vertical-tabs-container":"auth-module_vertical-tabs-container__6sAOL","vertical-tabs":"auth-module_vertical-tabs__-ba-W","vertical-tab-content":"auth-module_vertical-tab-content__wTqKF","ip-tab-container":"auth-module_ip-tab-container__ck0F8","ip-tab-content":"auth-module_ip-tab-content__VI4zC","ip-tab-content-text":"auth-module_ip-tab-content-text__y2BRh","contract-button-container":"auth-module_contract-button-container__7HH9n","no-provider-warning":"auth-module_no-provider-warning__YzGd-","tab-provider-required-overlay":"auth-module_tab-provider-required-overlay__dvmIR","corner-svg":"auth-module_corner-svg__WYa3o","corner-top-left":"auth-module_corner-top-left__mYKEQ","corner-top-right":"auth-module_corner-top-right__LejG2","corner-bottom-left":"auth-module_corner-bottom-left__gSw9-","corner-bottom-right":"auth-module_corner-bottom-right__I-KCA","corner-square":"auth-module_corner-square__eC1DH"};
|
|
3517
4080
|
styleInject(css_248z$1);
|
|
3518
4081
|
|
|
3519
4082
|
const getIconBySocial = (social) => {
|
|
@@ -3532,11 +4095,6 @@ const getIconBySocial = (social) => {
|
|
|
3532
4095
|
return () => React.createElement(React.Fragment, null);
|
|
3533
4096
|
}
|
|
3534
4097
|
};
|
|
3535
|
-
const CheckMarkIcon = ({ w, h }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: w || "1rem", height: h || "1rem" },
|
|
3536
|
-
React.createElement("path", { d: "M20 6L9 17l-5-5" })));
|
|
3537
|
-
const XMarkIcon = ({ w, h }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: w || "1rem", height: h || "1rem" },
|
|
3538
|
-
React.createElement("path", { d: "M18 6L6 18" }),
|
|
3539
|
-
React.createElement("path", { d: "M6 6l12 12" })));
|
|
3540
4098
|
const LinkIcon = ({ w, h }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", width: w || "1rem", height: h || "1rem" },
|
|
3541
4099
|
React.createElement("path", { d: "M14 4h-13v18h20v-11h1v12h-22v-20h14v1zm10 5h-1v-6.293l-11.646 11.647-.708-.708 11.647-11.646h-6.293v-1h8v8z" })));
|
|
3542
4100
|
const BinIcon = ({ w, h }) => (React.createElement("svg", { clipRule: "evenodd", fillRule: "evenodd", strokeLinejoin: "round", strokeMiterlimit: "2", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", width: w || "1rem", height: h || "1rem" },
|
|
@@ -3559,6 +4117,55 @@ const TelegramIcon = () => (React.createElement("svg", { role: "img", viewBox: "
|
|
|
3559
4117
|
const CloseIcon = () => (React.createElement("svg", { className: styles["close-icon"], viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
|
|
3560
4118
|
React.createElement("path", { d: "M18 6L6 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
3561
4119
|
React.createElement("path", { d: "M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })));
|
|
4120
|
+
const CopyIcon = ({ w, h }) => (React.createElement("svg", { clipRule: "evenodd", fillRule: "evenodd", strokeLinejoin: "round", strokeMiterlimit: "2", width: w, height: h, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" },
|
|
4121
|
+
React.createElement("path", { d: "m6 19v2c0 .621.52 1 1 1h2v-1.5h-1.5v-1.5zm7.5 3h-3.5v-1.5h3.5zm4.5 0h-3.5v-1.5h3.5zm4-3h-1.5v1.5h-1.5v1.5h2c.478 0 1-.379 1-1zm-1.5-1v-3.363h1.5v3.363zm0-4.363v-3.637h1.5v3.637zm-13-3.637v3.637h-1.5v-3.637zm11.5-4v1.5h1.5v1.5h1.5v-2c0-.478-.379-1-1-1zm-10 0h-2c-.62 0-1 .519-1 1v2h1.5v-1.5h1.5zm4.5 1.5h-3.5v-1.5h3.5zm3-1.5v-2.5h-13v13h2.5v-1.863h1.5v3.363h-4.5c-.48 0-1-.379-1-1v-14c0-.481.38-1 1-1h14c.621 0 1 .522 1 1v4.5h-3.5v-1.5z", fillRule: "nonzero" })));
|
|
4122
|
+
const CornerSVG = ({ position, padding = 2, color = "currentColor", thickness = 1, width = 12, height = 12, className = "", }) => {
|
|
4123
|
+
let rotation = 0;
|
|
4124
|
+
if (position === "top-right")
|
|
4125
|
+
rotation = 90;
|
|
4126
|
+
if (position === "bottom-right")
|
|
4127
|
+
rotation = 180;
|
|
4128
|
+
if (position === "bottom-left")
|
|
4129
|
+
rotation = 270;
|
|
4130
|
+
const strokeWidth = typeof thickness === "number" ? thickness : parseFloat(thickness);
|
|
4131
|
+
const positionClass = styles[`corner-${position.replace("-", "-")}`];
|
|
4132
|
+
return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 25 25", fill: "none", className: `${styles["corner-svg"]} ${positionClass} ${className}`, style: Object.assign({ transform: `rotate(${rotation}deg)`, color, width: typeof width === "number" ? `${width}px` : width, height: typeof height === "number" ? `${height}px` : height }, (typeof padding === "number"
|
|
4133
|
+
? {
|
|
4134
|
+
[position.includes("top") ? "top" : "bottom"]: `${padding}px`,
|
|
4135
|
+
[position.includes("left") ? "left" : "right"]: `${padding}px`,
|
|
4136
|
+
}
|
|
4137
|
+
: {
|
|
4138
|
+
[position.includes("top") ? "top" : "bottom"]: padding,
|
|
4139
|
+
[position.includes("left") ? "left" : "right"]: padding,
|
|
4140
|
+
})) },
|
|
4141
|
+
React.createElement("path", { d: "M1 25L0.999999 1L25 1", stroke: "currentColor", strokeWidth: strokeWidth })));
|
|
4142
|
+
};
|
|
4143
|
+
const CornerSquare = ({ position, padding = 4, color = "white", size = 4, className = "", opacity = 0.5, }) => {
|
|
4144
|
+
const positionClass = styles[`corner-${position.replace("-", "-")}`];
|
|
4145
|
+
return (React.createElement("div", { className: `${styles["corner-square"]} ${positionClass} ${className}`, style: Object.assign({ backgroundColor: color, width: typeof size === "number" ? `${size}px` : size, height: typeof size === "number" ? `${size}px` : size, opacity }, (typeof padding === "number"
|
|
4146
|
+
? {
|
|
4147
|
+
[position.includes("top") ? "top" : "bottom"]: `${padding}px`,
|
|
4148
|
+
[position.includes("left") ? "left" : "right"]: `${padding}px`,
|
|
4149
|
+
}
|
|
4150
|
+
: {
|
|
4151
|
+
[position.includes("top") ? "top" : "bottom"]: padding,
|
|
4152
|
+
[position.includes("left") ? "left" : "right"]: padding,
|
|
4153
|
+
})) }));
|
|
4154
|
+
};
|
|
4155
|
+
const SquareCorners = ({ padding = 2, color = "white", size = 4, className = "", opacity = 0.5, }) => {
|
|
4156
|
+
return (React.createElement(React.Fragment, null,
|
|
4157
|
+
React.createElement(CornerSquare, { position: "top-left", padding: padding, color: color, size: size, className: className, opacity: opacity }),
|
|
4158
|
+
React.createElement(CornerSquare, { position: "top-right", padding: padding, color: color, size: size, className: className, opacity: opacity }),
|
|
4159
|
+
React.createElement(CornerSquare, { position: "bottom-left", padding: padding, color: color, size: size, className: className, opacity: opacity }),
|
|
4160
|
+
React.createElement(CornerSquare, { position: "bottom-right", padding: padding, color: color, size: size, className: className, opacity: opacity })));
|
|
4161
|
+
};
|
|
4162
|
+
const ArrowCorners = ({ padding = 2, color = "currentColor", thickness = 1, size = 12, className = "", }) => {
|
|
4163
|
+
return (React.createElement(React.Fragment, null,
|
|
4164
|
+
React.createElement(CornerSVG, { position: "top-left", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className }),
|
|
4165
|
+
React.createElement(CornerSVG, { position: "top-right", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className }),
|
|
4166
|
+
React.createElement(CornerSVG, { position: "bottom-left", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className }),
|
|
4167
|
+
React.createElement(CornerSVG, { position: "bottom-right", padding: padding, color: color, thickness: thickness, width: size, height: size, className: className })));
|
|
4168
|
+
};
|
|
3562
4169
|
|
|
3563
4170
|
/**
|
|
3564
4171
|
* Creates a wrapper element and appends it to the body.
|
|
@@ -3728,6 +4335,7 @@ const CampContext = createContext({
|
|
|
3728
4335
|
wagmiAvailable: false,
|
|
3729
4336
|
ackee: null,
|
|
3730
4337
|
setAckee: () => { },
|
|
4338
|
+
environment: ENVIRONMENTS.DEVELOPMENT,
|
|
3731
4339
|
});
|
|
3732
4340
|
/**
|
|
3733
4341
|
* CampProvider
|
|
@@ -3738,27 +4346,19 @@ const CampContext = createContext({
|
|
|
3738
4346
|
* @param {boolean} props.allowAnalytics Whether to allow analytics to be sent
|
|
3739
4347
|
* @returns {JSX.Element} The CampProvider component
|
|
3740
4348
|
*/
|
|
3741
|
-
const CampProvider = ({ clientId, redirectUri, children,
|
|
4349
|
+
const CampProvider = ({ clientId, redirectUri, children, environment = "DEVELOPMENT", }) => {
|
|
3742
4350
|
const isServer = typeof window === "undefined";
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
redirectUri: redirectUri
|
|
3755
|
-
? redirectUri
|
|
3756
|
-
: !isServer
|
|
3757
|
-
? window.location.href
|
|
3758
|
-
: "",
|
|
3759
|
-
// ackeeInstance,
|
|
3760
|
-
}) : null);
|
|
3761
|
-
// const wagmiContext = useContext(WagmiContext);
|
|
4351
|
+
const [auth, setAuth] = useState(!isServer
|
|
4352
|
+
? new Auth({
|
|
4353
|
+
clientId,
|
|
4354
|
+
redirectUri: redirectUri
|
|
4355
|
+
? redirectUri
|
|
4356
|
+
: !isServer
|
|
4357
|
+
? window.location.href
|
|
4358
|
+
: "",
|
|
4359
|
+
environment: environment,
|
|
4360
|
+
})
|
|
4361
|
+
: null);
|
|
3762
4362
|
const wagmiContext = typeof window !== "undefined" ? useContext(WagmiContext) : undefined;
|
|
3763
4363
|
return (React.createElement(CampContext.Provider, { value: {
|
|
3764
4364
|
clientId,
|
|
@@ -3767,6 +4367,7 @@ const CampProvider = ({ clientId, redirectUri, children, allowAnalytics = true,
|
|
|
3767
4367
|
wagmiAvailable: wagmiContext !== undefined,
|
|
3768
4368
|
ackee: null,
|
|
3769
4369
|
setAckee: () => { },
|
|
4370
|
+
environment: ENVIRONMENTS[environment],
|
|
3770
4371
|
} },
|
|
3771
4372
|
React.createElement(SocialsProvider, null,
|
|
3772
4373
|
React.createElement(OriginProvider, null,
|
|
@@ -3774,23 +4375,23 @@ const CampProvider = ({ clientId, redirectUri, children, allowAnalytics = true,
|
|
|
3774
4375
|
React.createElement(ModalProvider, null, children))))));
|
|
3775
4376
|
};
|
|
3776
4377
|
|
|
3777
|
-
const getWalletConnectProvider = (projectId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
4378
|
+
const getWalletConnectProvider = (projectId, chain) => __awaiter(void 0, void 0, void 0, function* () {
|
|
3778
4379
|
const { EthereumProvider } = yield import('@walletconnect/ethereum-provider');
|
|
3779
4380
|
const provider = yield EthereumProvider.init({
|
|
3780
|
-
optionalChains: [
|
|
3781
|
-
chains: [
|
|
4381
|
+
optionalChains: [chain.id],
|
|
4382
|
+
chains: [chain.id],
|
|
3782
4383
|
projectId,
|
|
3783
4384
|
showQrModal: true,
|
|
3784
4385
|
methods: ["personal_sign"],
|
|
3785
4386
|
});
|
|
3786
4387
|
return provider;
|
|
3787
4388
|
});
|
|
3788
|
-
const useWalletConnectProvider = (projectId) => {
|
|
4389
|
+
const useWalletConnectProvider = (projectId, chain) => {
|
|
3789
4390
|
const [walletConnectProvider, setWalletConnectProvider] = useState(null);
|
|
3790
4391
|
useEffect(() => {
|
|
3791
4392
|
const fetchWalletConnectProvider = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
3792
4393
|
try {
|
|
3793
|
-
const provider = yield getWalletConnectProvider(projectId);
|
|
4394
|
+
const provider = yield getWalletConnectProvider(projectId, chain);
|
|
3794
4395
|
setWalletConnectProvider(provider);
|
|
3795
4396
|
}
|
|
3796
4397
|
catch (error) {
|
|
@@ -3831,8 +4432,8 @@ const createLicenseTerms = (price, duration, royaltyBps, paymentToken) => {
|
|
|
3831
4432
|
};
|
|
3832
4433
|
};
|
|
3833
4434
|
|
|
3834
|
-
var css_248z = ".buttons-module_connect-button__CJhUa{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Satoshi,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;padding-inline:2.5rem;padding-left:5rem;position:relative;transition:background-color .15s;width:12rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.75);border-radius:.75rem 0 0 .75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05);display:grid;height:100%;left:0;margin-right:.5rem;place-items:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s;width:3rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2 svg{height:1.25rem;width:1.25rem}.buttons-module_connect-button__CJhUa:hover{background-color:#cc4e02;border-color:#cc4e02;cursor:pointer}.buttons-module_connect-button__CJhUa:hover .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.675)}.buttons-module_connect-button__CJhUa:focus{outline:none}.buttons-module_connect-button__CJhUa:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_provider-button__6JY7s{align-items:center;background-color:#fefefe;border:1px solid #ddd;border-radius:.5rem;display:flex;font-family:inherit;gap:.5rem;justify-content:flex-start;padding:.5rem;transition:background-color .15s;width:100%}.buttons-module_provider-button__6JY7s:focus{outline:1px solid #43b7c4}.buttons-module_provider-button__6JY7s:hover{border-color:#43b7c4}.buttons-module_provider-button__6JY7s:hover:not(:disabled){background-color:#ddd;cursor:pointer}.buttons-module_provider-button__6JY7s img{height:2rem;width:2rem}.buttons-module_provider-button__6JY7s .buttons-module_provider-icon__MOhr8{border-radius:.2rem}.buttons-module_provider-button__6JY7s span{line-height:1rem;margin-left:.5rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-name__tHWO2{color:#333;font-size:.875rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-label__CEGRr{color:#777;font-size:.7rem}.buttons-module_link-button-default__EcKUT{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:2.6rem;position:relative;width:7rem}.buttons-module_link-button-default__EcKUT:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-default__EcKUT:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-default__EcKUT:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:2rem;left:0;opacity:0;padding:.25rem;place-items:center;position:absolute;right:0;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s;-webkit-user-select:none;-moz-user-select:none;user-select:none;visibility:hidden}.buttons-module_link-button-default__EcKUT:disabled:hover:after{opacity:1;transform:translateY(0);visibility:visible}.buttons-module_link-button-default__EcKUT:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-default__EcKUT .buttons-module_button-container__-oPqd{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe{align-items:center;color:#fff;display:flex;height:1.5rem;justify-content:center;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg path{fill:#fff!important}.buttons-module_button-container__-oPqd .buttons-module_link-icon__8V8FP{align-items:center;color:hsla(0,0%,100%,.8);display:flex;height:1.25rem;justify-content:center;width:1.25rem}.buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;padding:.15rem;width:1.5rem}.buttons-module_link-button-default__EcKUT:disabled .buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0 svg path{fill:#b8b8b8!important}.buttons-module_link-button-icon__llX8m{background-color:#ff6f00;border:none;border-radius:.75rem;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:3rem;min-height:3rem;min-width:3rem;padding:0;position:relative;width:3rem}.buttons-module_link-button-icon__llX8m:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-icon__llX8m:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;box-sizing:border-box;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:-moz-fit-content;height:fit-content;left:-1rem;opacity:0;padding:.25rem;place-items:center;position:absolute;right:-1rem;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s}.buttons-module_link-button-icon__llX8m:disabled:hover:after{opacity:1;transform:translateY(0)}.buttons-module_link-button-icon__llX8m:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-icon__llX8m:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1{align-items:center;display:flex;flex:1;height:100%;justify-content:center;position:relative;width:100%}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg path{fill:#fff!important}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;bottom:-.5rem;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;position:absolute;right:-.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0 svg{height:1.1rem;width:1.1rem}.buttons-module_link-button-icon__llX8m:disabled .buttons-module_camp-logo__slNl0 svg path,.buttons-module_not-linked__ua4va svg path{fill:#b8b8b8!important}.buttons-module_file-upload-container__le7Cg{align-items:center;border:2px dashed #ccc;border-radius:.75rem;box-sizing:border-box;color:#777;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:12rem;min-width:0;padding:1rem;position:relative;text-align:center;transition:background-color .2s,border-color .2s;width:100%}.buttons-module_file-upload-container__le7Cg:hover{border-color:#e2e2e2}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ{background-color:#f9f9f9;border-color:#ff6f00}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ .buttons-module_file-preview__yuM5i{opacity:.2;transition:opacity .2s}.buttons-module_file-upload-container__le7Cg.buttons-module_file-selected__YY6ms{background-color:#f9f9f9;border:none;height:auto;min-height:auto;padding:0}.buttons-module_file-input__gbD5T{display:none}.buttons-module_selected-file-container__E1AXM{align-items:center;display:flex;flex-direction:column;gap:.25rem;height:100%;justify-content:space-between;max-width:100%;position:relative;width:100%}.buttons-module_remove-file-button__Q1FMa{border:1px solid #ff6f00;border-radius:.5rem;color:#fff;color:#ff6f00;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s}.buttons-module_remove-file-button__Q1FMa:hover{background-color:#cc4e02;border-color:#cc4e02;color:#fff;cursor:pointer}.buttons-module_upload-file-button__vTwWd{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s;width:100%}.buttons-module_upload-file-button__vTwWd:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_file-preview__yuM5i{border-radius:.5rem;max-height:8rem;max-width:100%}.buttons-module_file-preview-text__80Ju0{color:#333;font-size:.875rem;margin-bottom:.5rem}.buttons-module_file-name__3iskR{color:#333;font-size:.875rem;max-width:100%;min-height:-moz-fit-content;min-height:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_upload-buttons__3SAw6{align-items:center;display:flex;gap:.25rem;justify-content:space-between;width:100%}.buttons-module_upload-buttons__3SAw6 .buttons-module_upload-file-button__vTwWd{flex-grow:1}.buttons-module_upload-buttons__3SAw6 .buttons-module_remove-file-button__Q1FMa{flex-grow:0}.buttons-module_accepted-types__Ys-D2{color:#777;font-size:.875rem;font-style:italic;margin-top:.5rem}.buttons-module_loading-bar-container__nrgPX{background-color:#e0e0e0;border-radius:4px;height:8px;margin-top:8px;overflow:hidden;width:100%}.buttons-module_loading-bar__IUAg1{background-color:#ff6f00;height:100%;transition:width .3s ease}.buttons-module_date-picker__V6gRM{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_date-picker__V6gRM input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px}.buttons-module_percentage-slider__M84tC{display:flex;flex-direction:row;font-family:sans-serif;gap:8px;justify-content:space-between;width:100%}.buttons-module_percentage-slider__M84tC input[type=range]{width:100%}.buttons-module_percentage-slider__M84tC label{min-width:50px}.buttons-module_price-input-container__teIRS{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_price-input__22j0n{border:1px solid #ccc;border-radius:4px;font-family:sans-serif;padding:6px 10px}.buttons-module_duration-input-container__Rh9Na{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_duration-input__-gt3p{border:1px solid #ccc;border-radius:4px;font-family:sans-serif;padding:6px 10px}\n/*# sourceMappingURL=data:application/json;base64,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QixpQkFBa0IsQ0FIbEIsc0JBQXVCLENBQ3ZCLGdCQUdGIiwiZmlsZSI6ImJ1dHRvbnMubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb25uZWN0LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIHBhZGRpbmctaW5saW5lOiAyLjVyZW07XG4gIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzNyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgd2lkdGg6IDEycmVtO1xuICBmb250LWZhbWlseTogXCJTYXRvc2hpXCIsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICAgIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgc2Fucy1zZXJpZjtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLmNvbm5lY3QtYnV0dG9uIC5idXR0b24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJveC1zaGFkb3c6IGhzbGEoMCwgMCUsIDEwMCUsIDAuMTUpIDAgMnB4IDAgaW5zZXQsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjA1KSAwIC0ycHggNHB4IGluc2V0O1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtIDAgMCAwLjc1cmVtO1xufVxuXG4uY29ubmVjdC1idXR0b24gLmJ1dHRvbi1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjY2M0ZTAyO1xufVxuXG4uY29ubmVjdC1idXR0b246aG92ZXIgLmJ1dHRvbi1pY29uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY3NSk7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5wcm92aWRlci1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4ucHJvdmlkZXItYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICM0M2I3YzQ7XG59XG5cbi5wcm92aWRlci1idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM0M2I3YzQ7XG59XG5cbi5wcm92aWRlci1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wcm92aWRlci1idXR0b24gaW1nIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiAucHJvdmlkZXItaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBzcGFuIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gc3Bhbi5wcm92aWRlci1uYW1lIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5wcm92aWRlci1idXR0b24gc3Bhbi5wcm92aWRlci1sYWJlbCB7XG4gIGNvbG9yOiAjNzc3O1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLyogXCJkZWZhdWx0XCIgdmFyaWFudCAqL1xuLmxpbmstYnV0dG9uLWRlZmF1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDdyZW07XG4gIGhlaWdodDogMi42cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4YjhiODtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMi43cmVtO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLnNwb3RpZnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRiOTU0O1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS5kaXNjb3JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyODlkYTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGlrdG9rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGVsZWdyYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNjO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLnNvY2lhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24gc3ZnIHBhdGgge1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAubGluay1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDAuMTVyZW07XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIC5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28gc3ZnIHBhdGgge1xuICBmaWxsOiAjYjhiOGI4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFwiaWNvblwiIHZhcmlhbnQgKi9cbi5saW5rLWJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDNyZW07XG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgYm9yZGVyLXJhZGl1czogMC43NXJlbTtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOmRpc2FibGVkOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIuN3JlbTtcbiAgbGVmdDogLTFyZW07XG4gIHJpZ2h0OiAtMXJlbTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRhMWYyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS5zcG90aWZ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYjk1NDtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkuZGlzY29yZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Mjg5ZGE7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRpa3RvayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRlbGVncmFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODhjYztcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyID4gc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5pY29uLWNvbnRhaW5lciA+IHN2ZyBwYXRoIHtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmNhbXAtbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHJpZ2h0OiAtMC41cmVtO1xuICBib3R0b206IC0wLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubGluay1idXR0b24taWNvbiAuY2FtcC1sb2dvIHN2ZyB7XG4gIHdpZHRoOiAxLjFyZW07XG4gIGhlaWdodDogMS4xcmVtO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCAuY2FtcC1sb2dvIHN2ZyBwYXRoIHtcbiAgZmlsbDogI2I4YjhiOCAhaW1wb3J0YW50O1xufVxuXG4ubm90LWxpbmtlZCBzdmcgcGF0aCB7XG4gIGZpbGw6ICNiOGI4YjggIWltcG9ydGFudDtcbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNzc3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlMmUyZTI7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcgLmZpbGUtcHJldmlldyB7XG4gIG9wYWNpdHk6IDAuMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyLmZpbGUtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbn1cblxuLmZpbGUtaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0ZWQtZmlsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDAuMjVyZW07XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjZmMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmNmYwMDtcbn1cblxuLnJlbW92ZS1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGJvcmRlci1jb2xvcjogI2NjNGUwMjtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51cGxvYWQtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZmMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVwbG9hZC1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpbGUtcHJldmlldyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogOHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuXG4uZmlsZS1wcmV2aWV3LXRleHQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuXG4uZmlsZS1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtaW4taGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDAuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi51cGxvYWQtYnV0dG9ucyAudXBsb2FkLWZpbGUtYnV0dG9uIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMgLnJlbW92ZS1maWxlLWJ1dHRvbiB7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuLmFjY2VwdGVkLXR5cGVzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM3Nzc7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ubG9hZGluZy1iYXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmxvYWRpbmctYmFyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG59XG5cbi5kYXRlLXBpY2tlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5kYXRlLXBpY2tlciBpbnB1dCB7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnBlcmNlbnRhZ2Utc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogOHB4O1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucGVyY2VudGFnZS1zbGlkZXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wZXJjZW50YWdlLXNsaWRlciBsYWJlbCB7XG4gIG1pbi13aWR0aDogNTBweDtcbn1cblxuLnByaWNlLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG59XG5cbi5wcmljZS1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG5cbi5kdXJhdGlvbi1pbnB1dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuXG4uZHVyYXRpb24taW5wdXQge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbiJdfQ== */";
|
|
3835
|
-
var buttonStyles = {"connect-button":"buttons-module_connect-button__CJhUa","button-icon":"buttons-module_button-icon__JM4-2","provider-button":"buttons-module_provider-button__6JY7s","provider-icon":"buttons-module_provider-icon__MOhr8","provider-name":"buttons-module_provider-name__tHWO2","provider-label":"buttons-module_provider-label__CEGRr","link-button-default":"buttons-module_link-button-default__EcKUT","twitter":"buttons-module_twitter__9sRaz","spotify":"buttons-module_spotify__-fiKQ","discord":"buttons-module_discord__I-YjZ","tiktok":"buttons-module_tiktok__a80-0","telegram":"buttons-module_telegram__ExOTS","button-container":"buttons-module_button-container__-oPqd","social-icon":"buttons-module_social-icon__DPdPe","link-icon":"buttons-module_link-icon__8V8FP","camp-logo":"buttons-module_camp-logo__slNl0","link-button-icon":"buttons-module_link-button-icon__llX8m","icon-container":"buttons-module_icon-container__Q5bI1","not-linked":"buttons-module_not-linked__ua4va","file-upload-container":"buttons-module_file-upload-container__le7Cg","dragging":"buttons-module_dragging__cfggZ","file-preview":"buttons-module_file-preview__yuM5i","file-selected":"buttons-module_file-selected__YY6ms","file-input":"buttons-module_file-input__gbD5T","selected-file-container":"buttons-module_selected-file-container__E1AXM","remove-file-button":"buttons-module_remove-file-button__Q1FMa","upload-file-button":"buttons-module_upload-file-button__vTwWd","file-preview-text":"buttons-module_file-preview-text__80Ju0","file-name":"buttons-module_file-name__3iskR","upload-buttons":"buttons-module_upload-buttons__3SAw6","accepted-types":"buttons-module_accepted-types__Ys-D2","loading-bar-container":"buttons-module_loading-bar-container__nrgPX","loading-bar":"buttons-module_loading-bar__IUAg1","date-picker":"buttons-module_date-picker__V6gRM","percentage-slider":"buttons-module_percentage-slider__M84tC","price-input-container":"buttons-module_price-input-container__teIRS","price-input":"buttons-module_price-input__22j0n","duration-input-container":"buttons-module_duration-input-container__Rh9Na","duration-input":"buttons-module_duration-input__-gt3p"};
|
|
4435
|
+
var css_248z = ".buttons-module_button__4Ogad{background-color:#ff6f00;border:none;border-radius:0;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-size:.875rem;font-weight:600;height:2.5rem;margin-bottom:.75rem;margin-top:1rem;padding:1rem;padding-block:0;position:relative;text-transform:uppercase;width:100%}.buttons-module_button__4Ogad:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_button__4Ogad:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_connect-button__CJhUa{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);color:#fff;font-family:Geist Mono,monospace;font-size:1rem;font-weight:600;height:2.75rem;line-height:1.333rem;padding-inline:2.5rem;padding-left:5rem;position:relative;text-transform:uppercase;transition:background-color .15s;width:13rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.75);box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05);display:grid;height:100%;left:0;margin-right:.5rem;place-items:center;position:absolute;top:50%;transform:translateY(-50%);transition:background-color .15s;width:3rem}.buttons-module_connect-button__CJhUa .buttons-module_button-icon__JM4-2 svg{height:1.25rem;width:1.25rem}.buttons-module_connect-button__CJhUa:hover{background-color:#cc4e02;border-color:#cc4e02;cursor:pointer}.buttons-module_connect-button__CJhUa:hover .buttons-module_button-icon__JM4-2{background:hsla(0,0%,100%,.675)}.buttons-module_connect-button__CJhUa:focus{outline:none}.buttons-module_connect-button__CJhUa:disabled{background-color:#ccc;cursor:not-allowed}.buttons-module_provider-button__6JY7s{align-items:center;border:1px solid #ddd;display:flex;gap:.5rem;justify-content:flex-start;padding:.5rem;position:relative;transition:border-color .15s;width:100%}.buttons-module_provider-button__6JY7s:focus{outline:1px solid #ff6f00;outline-offset:2px}.buttons-module_provider-button__6JY7s:hover{border-color:#ff6f00}.buttons-module_provider-button__6JY7s:hover:not(:disabled){cursor:pointer}.buttons-module_provider-button__6JY7s img{height:2rem;width:2rem}.buttons-module_provider-button__6JY7s .buttons-module_provider-icon__MOhr8{border-radius:.2rem}.buttons-module_provider-button__6JY7s span{line-height:1rem;margin-left:.5rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-name__tHWO2{color:#333;font-size:.875rem}.buttons-module_provider-button__6JY7s span.buttons-module_provider-label__CEGRr{color:#777;font-family:Geist Mono,monospace;font-size:.7rem;text-transform:uppercase}.buttons-module_link-button-default__EcKUT{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:2.6rem;position:relative;width:7rem}.buttons-module_link-button-default__EcKUT:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-default__EcKUT:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-default__EcKUT:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:2rem;left:0;opacity:0;padding:.25rem;place-items:center;position:absolute;right:0;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s;-webkit-user-select:none;-moz-user-select:none;user-select:none;visibility:hidden}.buttons-module_link-button-default__EcKUT:disabled:hover:after{opacity:1;transform:translateY(0);visibility:visible}.buttons-module_link-button-default__EcKUT:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-default__EcKUT:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-default__EcKUT .buttons-module_button-container__-oPqd{align-items:center;display:flex;flex-direction:row;gap:.5rem;justify-content:center;padding:.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe{align-items:center;color:#fff;display:flex;height:1.5rem;justify-content:center;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_button-container__-oPqd .buttons-module_social-icon__DPdPe svg path{fill:#fff!important}.buttons-module_button-container__-oPqd .buttons-module_link-icon__8V8FP{align-items:center;color:hsla(0,0%,100%,.8);display:flex;height:1.25rem;justify-content:center;width:1.25rem}.buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;padding:.15rem;width:1.5rem}.buttons-module_link-button-default__EcKUT:disabled .buttons-module_button-container__-oPqd .buttons-module_camp-logo__slNl0 svg path{fill:#b8b8b8!important}.buttons-module_link-button-icon__llX8m{background-color:#ff6f00;border:none;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.15),inset 0 -2px 4px rgba(0,0,0,.05),0 1px 1px rgba(46,54,80,.075);box-sizing:border-box;cursor:pointer;height:3rem;min-height:3rem;min-width:3rem;padding:0;position:relative;width:3rem}.buttons-module_link-button-icon__llX8m:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_link-button-icon__llX8m:disabled:after{background-color:rgba(0,0,0,.35);border-radius:.35rem;box-sizing:border-box;color:#fff;content:\"Not connected\";display:grid;font-size:.75rem;height:-moz-fit-content;height:fit-content;left:-1rem;opacity:0;padding:.25rem;place-items:center;position:absolute;right:-1rem;top:-2.7rem;transform:translateY(-.5rem);transition:all .25s}.buttons-module_link-button-icon__llX8m:disabled:hover:after{opacity:1;transform:translateY(0)}.buttons-module_link-button-icon__llX8m:after{background-color:transparent;border-radius:.75rem;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transition:background-color .15s}.buttons-module_link-button-icon__llX8m:not(:disabled):hover:after{background-color:rgba(0,0,0,.1)}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_twitter__9sRaz{background-color:#1da1f2}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_spotify__-fiKQ{background-color:#1db954}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_discord__I-YjZ{background-color:#7289da}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_tiktok__a80-0{background-color:#000}.buttons-module_link-button-icon__llX8m:not(:disabled).buttons-module_telegram__ExOTS{background-color:#08c}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1{align-items:center;display:flex;flex:1;height:100%;justify-content:center;position:relative;width:100%}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg{fill:#fff!important;height:1.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_icon-container__Q5bI1>svg path{fill:#fff!important}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0{align-items:center;background-color:#fff;border-radius:50%;bottom:-.5rem;box-sizing:border-box;display:flex;height:1.5rem;justify-content:center;position:absolute;right:-.5rem;width:1.5rem}.buttons-module_link-button-icon__llX8m .buttons-module_camp-logo__slNl0 svg{height:1.1rem;width:1.1rem}.buttons-module_link-button-icon__llX8m:disabled .buttons-module_camp-logo__slNl0 svg path,.buttons-module_not-linked__ua4va svg path{fill:#b8b8b8!important}.buttons-module_file-upload-container__le7Cg{align-items:center;border:2px dashed #ccc;box-sizing:border-box;color:#777;cursor:pointer;display:flex;flex-direction:column;justify-content:center;max-width:100%;min-height:12rem;min-width:0;padding:1rem;position:relative;text-align:center;transition:background-color .2s,border-color .2s;width:100%}.buttons-module_file-upload-container__le7Cg:hover{border-color:#e2e2e2}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ{background-color:#f9f9f9;border-color:#ff6f00}.buttons-module_file-upload-container__le7Cg.buttons-module_dragging__cfggZ .buttons-module_file-preview__yuM5i{opacity:.2;transition:opacity .2s}.buttons-module_file-upload-container__le7Cg.buttons-module_file-selected__YY6ms{background-color:#f9f9f9;border:none;height:auto;min-height:auto;padding:0}.buttons-module_file-input__gbD5T{display:none}.buttons-module_selected-file-container__E1AXM{align-items:center;display:flex;flex-direction:column;gap:.25rem;height:100%;justify-content:space-between;max-width:100%;position:relative;width:100%}.buttons-module_remove-file-button__Q1FMa{border:1px solid #ff6f00;color:#fff;color:#ff6f00;cursor:pointer;font-size:.875rem;margin-bottom:.75rem;margin-top:1rem;padding:.5rem;text-align:center;transition:background-color .2s}.buttons-module_remove-file-button__Q1FMa:hover{background-color:#cc4e02;border-color:#cc4e02;color:#fff;cursor:pointer}.buttons-module_remove-file-button__Q1FMa:disabled{background-color:#b8b8b8;border-color:#b8b8b8;color:#fff;cursor:not-allowed}.buttons-module_upload-file-button__vTwWd{background-color:#ff6f00;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem;text-align:center;transition:background-color .2s;width:100%}.buttons-module_upload-file-button__vTwWd:hover{background-color:#cc4e02;cursor:pointer}.buttons-module_upload-file-button__vTwWd:disabled{background-color:#b8b8b8;cursor:not-allowed}.buttons-module_file-preview__yuM5i{max-height:8rem;max-width:100%}.buttons-module_file-preview-text__80Ju0{color:#333;font-size:.875rem;margin-bottom:.5rem}.buttons-module_file-name__3iskR{color:#333;font-size:.875rem;max-width:100%;min-height:-moz-fit-content;min-height:fit-content;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons-module_upload-buttons__3SAw6{align-items:center;display:flex;gap:.25rem;justify-content:space-between;width:100%}.buttons-module_upload-buttons__3SAw6 .buttons-module_upload-file-button__vTwWd{flex-grow:1}.buttons-module_upload-buttons__3SAw6 .buttons-module_remove-file-button__Q1FMa{flex-grow:0}.buttons-module_accepted-types__Ys-D2{color:#777;font-size:.875rem;font-style:italic;margin-top:.5rem}.buttons-module_loading-bar-container__nrgPX{background-color:#e0e0e0;border-radius:4px;height:8px;margin-top:8px;overflow:hidden;width:100%}.buttons-module_loading-bar__IUAg1{background-color:#ff6f00;height:100%;transition:width .3s ease}.buttons-module_date-picker__V6gRM{display:flex;flex-direction:column;font-family:sans-serif;gap:6px;width:100%}.buttons-module_date-picker__V6gRM input{border:1px solid #ccc;border-radius:4px;font-size:14px;padding:6px 10px}.buttons-module_percentage-slider__M84tC{display:flex;flex-direction:row;font-family:sans-serif;gap:8px;justify-content:space-between;width:100%}.buttons-module_percentage-slider__M84tC input[type=range]{width:100%}.buttons-module_percentage-slider__M84tC label{min-width:50px}.buttons-module_price-input-container__teIRS{align-items:center;border:1px solid #ccc;display:flex;font-family:sans-serif;gap:0;overflow:hidden;position:relative;width:100%}.buttons-module_price-input__22j0n{background:transparent;border:none;flex:1;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_price-divider__UjXUe{background-color:#ccc;height:24px;margin:0;width:1px}.buttons-module_camp-icon-container__S9vEH{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-width:40px;padding:6px 10px}.buttons-module_camp-icon-container__S9vEH svg{height:16px;width:16px}.buttons-module_duration-input-container__Rh9Na{align-items:stretch;border:1px solid #ccc;box-sizing:border-box;display:flex;font-family:sans-serif;gap:0;overflow:hidden;width:100%}.buttons-module_duration-input__-gt3p{background:transparent;flex:1;min-width:0}.buttons-module_duration-input__-gt3p,.buttons-module_duration-unit-select__VKFf6{border:none;box-sizing:border-box;font-family:sans-serif;outline:none;padding:6px 10px}.buttons-module_duration-unit-select__VKFf6{background-color:#f8f9fa;border-left:1px solid #ccc;cursor:pointer;flex:0 0 auto;width:auto}.buttons-module_price-input-container__teIRS:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:focus-within{border-color:#ff6f00;box-shadow:0 0 0 1px #ff6f00}.buttons-module_duration-input-container__Rh9Na:hover,.buttons-module_price-input-container__teIRS:hover{border-color:#999}.buttons-module_duration-unit-select__VKFf6:focus,.buttons-module_duration-unit-select__VKFf6:hover{background-color:#e9ecef}\n/*# sourceMappingURL=data:application/json;base64,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QWEsQ0FDYixrQkFBbUIsQ0FFbkIsc0JBQXVCLENBRHZCLE9BQVEsQ0FFUiw2QkFBOEIsQ0FMOUIsVUFNRixDQUVBLDJEQUNFLFVBQ0YsQ0FFQSwrQ0FDRSxjQUNGLENBRUEsNkNBR0Usa0JBQW1CLENBSW5CLHFCQUFzQixDQUx0QixZQUFhLENBSWIsc0JBQXVCLENBRHZCLEtBQU0sQ0FJTixlQUFnQixDQUxoQixpQkFBa0IsQ0FIbEIsVUFTRixDQUVBLG1DQU1FLHNCQUF1QixDQUh2QixXQUFZLENBRVosTUFBTyxDQUpQLHNCQUF1QixDQUd2QixZQUFhLENBRmIsZ0JBS0YsQ0FFQSxxQ0FHRSxxQkFBc0IsQ0FEdEIsV0FBWSxDQUVaLFFBQVMsQ0FIVCxTQUlGLENBRUEsMkNBR0Usa0JBQW1CLENBRW5CLHdCQUF5QixDQUh6QixZQUFhLENBRWIsc0JBQXVCLENBRXZCLGNBQWUsQ0FMZixnQkFNRixDQUVBLCtDQUVFLFdBQVksQ0FEWixVQUVGLENBRUEsZ0RBR0UsbUJBQW9CLENBR3BCLHFCQUFzQixDQUd0QixxQkFBc0IsQ0FQdEIsWUFBYSxDQUdiLHNCQUF1QixDQUR2QixLQUFNLENBSU4sZUFBZ0IsQ0FQaEIsVUFTRixDQUVBLHNDQU1FLHNCQUF1QixDQUR2QixNQUFPLENBR1AsV0FDRixDQUVBLGtGQVJFLFdBQVksQ0FJWixxQkFBc0IsQ0FOdEIsc0JBQXVCLENBR3ZCLFlBQWEsQ0FGYixnQkFvQkYsQ0FYQSw0Q0FLRSx3QkFBeUIsQ0FDekIsMEJBQTJCLENBQzNCLGNBQWUsQ0FDZixhQUFjLENBQ2QsVUFFRixDQUVBLDBEQUNFLG9CQUFxQixDQUNyQiw0QkFDRixDQUVBLDZEQUNFLG9CQUFxQixDQUNyQiw0QkFDRixDQUVBLHlHQUVFLGlCQUNGLENBTUEsb0dBQ0Usd0JBQ0YiLCJmaWxlIjoiYnV0dG9ucy5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBhZGRpbmctYmxvY2s6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuXG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmNvbm5lY3QtYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgcGFkZGluZy1pbmxpbmU6IDIuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuICBoZWlnaHQ6IDIuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzM3JlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB3aWR0aDogMTNyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkdlaXN0IE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uY29ubmVjdC1idXR0b24gLmJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQ7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNzVyZW0gMCAwIDAuNzVyZW07ICovXG59XG5cbi5jb25uZWN0LWJ1dHRvbiAuYnV0dG9uLWljb24gc3ZnIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbn1cblxuLmNvbm5lY3QtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNjYzRlMDI7XG59XG5cbi5jb25uZWN0LWJ1dHRvbjpob3ZlciAuYnV0dG9uLWljb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjc1KTtcbn1cblxuLmNvbm5lY3QtYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmNvbm5lY3QtYnV0dG9uOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjVyZW07ICovXG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7ICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXM7XG59XG5cbi5wcm92aWRlci1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggc29saWQgI2ZmNmYwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNmYwMDtcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogI2VlZTsgKi9cbn1cblxuLnByb3ZpZGVyLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7ICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBpbWcge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIC5wcm92aWRlci1pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xufVxuXG4ucHJvdmlkZXItYnV0dG9uIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBzcGFuLnByb3ZpZGVyLW5hbWUge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnByb3ZpZGVyLWJ1dHRvbiBzcGFuLnByb3ZpZGVyLWxhYmVsIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LWZhbWlseTogXCJHZWlzdCBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyogXCJkZWZhdWx0XCIgdmFyaWFudCAqL1xuLmxpbmstYnV0dG9uLWRlZmF1bHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDdyZW07XG4gIGhlaWdodDogMi42cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2ZjAwO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBib3gtc2hhZG93OiBoc2xhKDAsIDAlLCAxMDAlLCAwLjE1KSAwIDJweCAwIGluc2V0LFxuICAgIHJnYmEoMCwgMCwgMCwgMC4wNSkgMCAtMnB4IDRweCBpbnNldCwgcmdiYSg0NiwgNTQsIDgwLCAwLjA3NSkgMCAxcHggMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I4YjhiODtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMi43cmVtO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpOmhvdmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0Om5vdCg6ZGlzYWJsZWQpLnNwb3RpZnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRiOTU0O1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdDpub3QoOmRpc2FibGVkKS5kaXNjb3JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcyODlkYTtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGlrdG9rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLmxpbmstYnV0dG9uLWRlZmF1bHQ6bm90KDpkaXNhYmxlZCkudGVsZWdyYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4OGNjO1xufVxuXG4ubGluay1idXR0b24tZGVmYXVsdCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIgLnNvY2lhbC1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAuc29jaWFsLWljb24gc3ZnIHBhdGgge1xuICBmaWxsOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciAubGluay1pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG5cbi5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDAuMTVyZW07XG59XG5cbi5saW5rLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkIC5idXR0b24tY29udGFpbmVyIC5jYW1wLWxvZ28gc3ZnIHBhdGgge1xuICBmaWxsOiAjYjhiOGI4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFwiaWNvblwiIHZhcmlhbnQgKi9cbi5saW5rLWJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDNyZW07XG4gIG1pbi1oZWlnaHQ6IDNyZW07XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDNyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgLyogYm9yZGVyLXJhZGl1czogMC43NXJlbTsgKi9cbiAgYm94LXNoYWRvdzogaHNsYSgwLCAwJSwgMTAwJSwgMC4xNSkgMCAycHggMCBpbnNldCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMDUpIDAgLTJweCA0cHggaW5zZXQsIHJnYmEoNDYsIDU0LCA4MCwgMC4wNzUpIDAgMXB4IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOmRpc2FibGVkOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbnRlbnQ6IFwiTm90IGNvbm5lY3RlZFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIuN3JlbTtcbiAgbGVmdDogLTFyZW07XG4gIHJpZ2h0OiAtMXJlbTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZDpob3Zlcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKTpob3Zlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWRhMWYyO1xufVxuXG4ubGluay1idXR0b24taWNvbjpub3QoOmRpc2FibGVkKS5zcG90aWZ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkYjk1NDtcbn1cblxuLmxpbmstYnV0dG9uLWljb246bm90KDpkaXNhYmxlZCkuZGlzY29yZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Mjg5ZGE7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRpa3RvayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uOm5vdCg6ZGlzYWJsZWQpLnRlbGVncmFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODhjYztcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbGV4OiAxO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmljb24tY29udGFpbmVyID4gc3ZnIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZpbGw6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi5saW5rLWJ1dHRvbi1pY29uIC5pY29uLWNvbnRhaW5lciA+IHN2ZyBwYXRoIHtcbiAgZmlsbDogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmxpbmstYnV0dG9uLWljb24gLmNhbXAtbG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHJpZ2h0OiAtMC41cmVtO1xuICBib3R0b206IC0wLjVyZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubGluay1idXR0b24taWNvbiAuY2FtcC1sb2dvIHN2ZyB7XG4gIHdpZHRoOiAxLjFyZW07XG4gIGhlaWdodDogMS4xcmVtO1xufVxuXG4ubGluay1idXR0b24taWNvbjpkaXNhYmxlZCAuY2FtcC1sb2dvIHN2ZyBwYXRoIHtcbiAgZmlsbDogI2I4YjhiOCAhaW1wb3J0YW50O1xufVxuXG4ubm90LWxpbmtlZCBzdmcgcGF0aCB7XG4gIGZpbGw6ICNiOGI4YjggIWltcG9ydGFudDtcbn1cblxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMnB4IGRhc2hlZCAjY2NjO1xuICAvKiBib3JkZXItcmFkaXVzOiAwLjc1cmVtOyAqL1xuICBwYWRkaW5nOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNzc3O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNlMmUyZTI7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG59XG5cbi5maWxlLXVwbG9hZC1jb250YWluZXIuZHJhZ2dpbmcgLmZpbGUtcHJldmlldyB7XG4gIG9wYWNpdHk6IDAuMjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uZmlsZS11cGxvYWQtY29udGFpbmVyLmZpbGUtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bztcbn1cblxuLmZpbGUtaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0ZWQtZmlsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDAuMjVyZW07XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjZmMDA7XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgKi9cbiAgcGFkZGluZzogMC41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBjb2xvcjogI2ZmNmYwMDtcbn1cblxuLnJlbW92ZS1maWxlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzRlMDI7XG4gIGJvcmRlci1jb2xvcjogI2NjNGUwMjtcbiAgY29sb3I6IHdoaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5yZW1vdmUtZmlsZS1idXR0b246ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGI4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBib3JkZXItY29sb3I6ICNiOGI4Yjg7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnVwbG9hZC1maWxlLWJ1dHRvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udXBsb2FkLWZpbGUtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGUwMjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVwbG9hZC1maWxlLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGI4Yjg7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5maWxlLXByZXZpZXcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDhyZW07XG4gIC8qIGJvcmRlci1yYWRpdXM6IDAuNXJlbTsgKi9cbn1cblxuLmZpbGUtcHJldmlldy10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmZpbGUtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjMzMzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWluLWhlaWdodDogZml0LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnVwbG9hZC1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjI1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udXBsb2FkLWJ1dHRvbnMgLnVwbG9hZC1maWxlLWJ1dHRvbiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnVwbG9hZC1idXR0b25zIC5yZW1vdmUtZmlsZS1idXR0b24ge1xuICBmbGV4LWdyb3c6IDA7XG59XG5cbi5hY2NlcHRlZC10eXBlcyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjNzc3O1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmxvYWRpbmctYmFyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5sb2FkaW5nLWJhciB7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNmYwMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlO1xufVxuXG4uZGF0ZS1waWNrZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xufVxuXG4uZGF0ZS1waWNrZXIgaW5wdXQge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5wZXJjZW50YWdlLXNsaWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDhweDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnBlcmNlbnRhZ2Utc2xpZGVyIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGVyY2VudGFnZS1zbGlkZXIgbGFiZWwge1xuICBtaW4td2lkdGg6IDUwcHg7XG59XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6IDA7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAvKiBib3JkZXItcmFkaXVzOiA0cHg7ICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wcmljZS1pbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBmbGV4OiAxO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnByaWNlLWRpdmlkZXIge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNhbXAtaWNvbi1jb250YWluZXIge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gIG1pbi13aWR0aDogNDBweDtcbn1cblxuLmNhbXAtaWNvbi1jb250YWluZXIgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuLmR1cmF0aW9uLWlucHV0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZ2FwOiAwO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgLyogYm9yZGVyLXJhZGl1czogNHB4OyAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZHVyYXRpb24taW5wdXQge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmR1cmF0aW9uLXVuaXQtc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY5ZmE7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5wcmljZS1pbnB1dC1jb250YWluZXI6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2ZjAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2ZmNmYwMDtcbn1cblxuLmR1cmF0aW9uLWlucHV0LWNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICBib3JkZXItY29sb3I6ICNmZjZmMDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmY2ZjAwO1xufVxuXG4ucHJpY2UtaW5wdXQtY29udGFpbmVyOmhvdmVyLFxuLmR1cmF0aW9uLWlucHV0LWNvbnRhaW5lcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzk5OTtcbn1cblxuLmR1cmF0aW9uLXVuaXQtc2VsZWN0OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cblxuLmR1cmF0aW9uLXVuaXQtc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNlZjtcbn1cbiJdfQ== */";
|
|
4436
|
+
var buttonStyles = {"button":"buttons-module_button__4Ogad","connect-button":"buttons-module_connect-button__CJhUa","button-icon":"buttons-module_button-icon__JM4-2","provider-button":"buttons-module_provider-button__6JY7s","provider-icon":"buttons-module_provider-icon__MOhr8","provider-name":"buttons-module_provider-name__tHWO2","provider-label":"buttons-module_provider-label__CEGRr","link-button-default":"buttons-module_link-button-default__EcKUT","twitter":"buttons-module_twitter__9sRaz","spotify":"buttons-module_spotify__-fiKQ","discord":"buttons-module_discord__I-YjZ","tiktok":"buttons-module_tiktok__a80-0","telegram":"buttons-module_telegram__ExOTS","button-container":"buttons-module_button-container__-oPqd","social-icon":"buttons-module_social-icon__DPdPe","link-icon":"buttons-module_link-icon__8V8FP","camp-logo":"buttons-module_camp-logo__slNl0","link-button-icon":"buttons-module_link-button-icon__llX8m","icon-container":"buttons-module_icon-container__Q5bI1","not-linked":"buttons-module_not-linked__ua4va","file-upload-container":"buttons-module_file-upload-container__le7Cg","dragging":"buttons-module_dragging__cfggZ","file-preview":"buttons-module_file-preview__yuM5i","file-selected":"buttons-module_file-selected__YY6ms","file-input":"buttons-module_file-input__gbD5T","selected-file-container":"buttons-module_selected-file-container__E1AXM","remove-file-button":"buttons-module_remove-file-button__Q1FMa","upload-file-button":"buttons-module_upload-file-button__vTwWd","file-preview-text":"buttons-module_file-preview-text__80Ju0","file-name":"buttons-module_file-name__3iskR","upload-buttons":"buttons-module_upload-buttons__3SAw6","accepted-types":"buttons-module_accepted-types__Ys-D2","loading-bar-container":"buttons-module_loading-bar-container__nrgPX","loading-bar":"buttons-module_loading-bar__IUAg1","date-picker":"buttons-module_date-picker__V6gRM","percentage-slider":"buttons-module_percentage-slider__M84tC","price-input-container":"buttons-module_price-input-container__teIRS","price-input":"buttons-module_price-input__22j0n","price-divider":"buttons-module_price-divider__UjXUe","camp-icon-container":"buttons-module_camp-icon-container__S9vEH","duration-input-container":"buttons-module_duration-input-container__Rh9Na","duration-input":"buttons-module_duration-input__-gt3p","duration-unit-select":"buttons-module_duration-unit-select__VKFf6"};
|
|
3836
4437
|
styleInject(css_248z);
|
|
3837
4438
|
|
|
3838
4439
|
/**
|
|
@@ -3842,6 +4443,7 @@ styleInject(css_248z);
|
|
|
3842
4443
|
*/
|
|
3843
4444
|
const CampButton = ({ onClick, authenticated, disabled, }) => {
|
|
3844
4445
|
return (React.createElement("button", { className: buttonStyles["connect-button"], onClick: onClick, disabled: disabled },
|
|
4446
|
+
React.createElement(SquareCorners, null),
|
|
3845
4447
|
React.createElement("div", { className: buttonStyles["button-icon"] },
|
|
3846
4448
|
React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 571.95 611.12", height: "1rem", width: "1rem" },
|
|
3847
4449
|
React.createElement("path", { d: "m563.25 431.49-66.17-51.46c-11.11-8.64-27.28-5.06-33.82 7.4-16.24 30.9-41.69 56.36-70.85 73.73l-69.35-69.35c-3.73-3.73-8.79-5.83-14.07-5.83s-10.34 2.1-14.07 5.83l-73.78 73.78c-57.37-30.39-96.55-90.71-96.55-160.03 0-99.79 81.19-180.98 180.98-180.98 60.35 0 118.17 26.28 156.39 89.44 6.85 11.32 21.92 14.33 32.59 6.51l64.21-47.06c9.53-6.98 12.06-20.15 5.78-30.16C508.83 54.41 411.43 0 305.56 0 137.07 0 0 137.07 0 305.56s137.07 305.56 305.56 305.56c57.6 0 113.72-16.13 162.31-46.63A306.573 306.573 0 0 0 568.8 460.8c5.78-9.78 3.42-22.34-5.55-29.31Zm-301.42 49.69 47.15-47.15 44.69 44.69c-15.92 5.1-32.2 7.83-48.1 7.83-15.08 0-29.72-1.87-43.74-5.36Zm42.36-222.47c-.07 1.49-.08 21.29 49.54 55.11 37.02 25.24 19.68 75.52 12.1 92.05a147.07 147.07 0 0 0-20.12-38.91c-12.73-17.59-26.87-28.9-36.74-35.59-10.38 6.36-27.41 18.74-41.07 40.02-8.27 12.89-12.82 25.16-15.42 34.48l-.03-.05c-15.1-40.6-9.75-60.88-1.95-71.9 6.12-8.65 17.24-20.6 17.24-20.6 9.71-9.66 19.96-19.06 29.82-38.17 6.06-11.75 6.59-15.84 6.63-16.45Z", fill: "#000", strokeWidth: "0" }),
|
|
@@ -3895,6 +4497,7 @@ const ProviderButton = ({ provider, handleConnect, loading, label, }) => {
|
|
|
3895
4497
|
}
|
|
3896
4498
|
}, [loading]);
|
|
3897
4499
|
return (React.createElement("button", { className: buttonStyles["provider-button"], onClick: handleClick, disabled: loading },
|
|
4500
|
+
React.createElement(SquareCorners, { color: "#ddd" }),
|
|
3898
4501
|
React.createElement("img", { src: provider.info.icon ||
|
|
3899
4502
|
"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='%23777777' d='M21 7.28V5c0-1.1-.9-2-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2v-2.28A2 2 0 0 0 22 15V9a2 2 0 0 0-1-1.72M20 9v6h-7V9zM5 19V5h14v2h-6c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h6v2z'/%3E%3Ccircle cx='16' cy='12' r='1.5' fill='%23777777'/%3E%3C/svg%3E", className: buttonStyles["provider-icon"], alt: provider.info.name }),
|
|
3900
4503
|
React.createElement("div", { style: {
|
|
@@ -3938,6 +4541,7 @@ const ConnectorButton = ({ name, link, unlink, icon, isConnected, refetch, }) =>
|
|
|
3938
4541
|
React.createElement("path", { fill: "none", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M17 22v-2m-8-5l6-6m-4-3l.463-.536a5 5 0 0 1 7.071 7.072L18 13m-5 5l-.397.534a5.07 5.07 0 0 1-7.127 0a4.97 4.97 0 0 1 0-7.071L6 11m14 6h2M2 7h2m3-5v2" })),
|
|
3939
4542
|
"Unlink")))) : (React.createElement("button", { onClick: handleClick, className: styles["connector-button"], disabled: isConnected },
|
|
3940
4543
|
icon,
|
|
4544
|
+
React.createElement(SquareCorners, { color: "#ddd" }),
|
|
3941
4545
|
React.createElement("span", null, name)))));
|
|
3942
4546
|
};
|
|
3943
4547
|
/**
|
|
@@ -3968,9 +4572,11 @@ const LinkButton = ({ variant = "default", social, theme = "default", }) => {
|
|
|
3968
4572
|
return (React.createElement("button", { disabled: !authenticated, className: `${buttonStyles[`link-button-${variant}`]}
|
|
3969
4573
|
${theme === "default" ? buttonStyles[social] : ""}
|
|
3970
4574
|
`, onClick: handleClick }, variant === "icon" ? (React.createElement("div", { className: buttonStyles["icon-container"] },
|
|
4575
|
+
React.createElement(SquareCorners, { color: "#ffffffaa" }),
|
|
3971
4576
|
React.createElement(Icon, null),
|
|
3972
4577
|
React.createElement("div", { className: `${buttonStyles["camp-logo"]} ${!isLinked ? buttonStyles["not-linked"] : ""}` },
|
|
3973
4578
|
React.createElement(CampIcon, null)))) : (React.createElement("div", { className: buttonStyles["button-container"] },
|
|
4579
|
+
React.createElement(SquareCorners, { color: "#ffffffaa" }),
|
|
3974
4580
|
React.createElement("div", { className: `${buttonStyles["camp-logo"]} ${!isLinked ? buttonStyles["not-linked"] : ""}` },
|
|
3975
4581
|
React.createElement(CampIcon, null)),
|
|
3976
4582
|
React.createElement("div", { className: buttonStyles["link-icon"] },
|
|
@@ -3988,19 +4594,6 @@ const LoadingBar = ({ progress }) => {
|
|
|
3988
4594
|
return (React.createElement("div", { className: buttonStyles["loading-bar-container"] },
|
|
3989
4595
|
React.createElement("div", { className: buttonStyles["loading-bar"], style: { width: `${progress}%` } })));
|
|
3990
4596
|
};
|
|
3991
|
-
const PercentageSlider = ({ onChange, }) => {
|
|
3992
|
-
const [value, setValue] = useState(0);
|
|
3993
|
-
const handleChange = (e) => {
|
|
3994
|
-
const val = Number(e.target.value);
|
|
3995
|
-
setValue(val);
|
|
3996
|
-
onChange(val);
|
|
3997
|
-
};
|
|
3998
|
-
return (React.createElement("div", { className: buttonStyles["percentage-slider"] },
|
|
3999
|
-
React.createElement("input", { id: "slider", type: "range", min: "0", max: "100", value: value, onChange: handleChange }),
|
|
4000
|
-
React.createElement("label", { htmlFor: "slider" },
|
|
4001
|
-
value,
|
|
4002
|
-
"%")));
|
|
4003
|
-
};
|
|
4004
4597
|
/**
|
|
4005
4598
|
* The FileUpload component.
|
|
4006
4599
|
* Provides a file upload field with drag-and-drop support.
|
|
@@ -4017,17 +4610,62 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
4017
4610
|
const [uploadProgress, setUploadProgress] = useState(0);
|
|
4018
4611
|
const fileInputRef = useRef(null);
|
|
4019
4612
|
const { addToast } = useToast();
|
|
4020
|
-
const [price, setPrice] = useState(
|
|
4021
|
-
const [royaltyBps, setRoyaltyBps] = useState(
|
|
4022
|
-
const [licenseDuration, setLicenseDuration] = useState(
|
|
4023
|
-
);
|
|
4613
|
+
const [price, setPrice] = useState("");
|
|
4614
|
+
const [royaltyBps, setRoyaltyBps] = useState(10); // default 10 bps = 0.1%
|
|
4615
|
+
const [licenseDuration, setLicenseDuration] = useState(24);
|
|
4616
|
+
const [durationUnit, setDurationUnit] = useState("hours");
|
|
4617
|
+
const [isValidInput, setIsValidInput] = useState(false);
|
|
4618
|
+
const validateInputs = () => {
|
|
4619
|
+
let durationInSeconds = licenseDuration;
|
|
4620
|
+
switch (durationUnit) {
|
|
4621
|
+
case "hours":
|
|
4622
|
+
durationInSeconds = licenseDuration * 3600; // 60 * 60
|
|
4623
|
+
break;
|
|
4624
|
+
case "days":
|
|
4625
|
+
durationInSeconds = licenseDuration * 86400; // 60 * 60 * 24
|
|
4626
|
+
break;
|
|
4627
|
+
case "weeks":
|
|
4628
|
+
durationInSeconds = licenseDuration * 604800; // 60 * 60 * 24 * 7
|
|
4629
|
+
break;
|
|
4630
|
+
}
|
|
4631
|
+
const isDurationValid = durationInSeconds >= constants.MIN_LICENSE_DURATION &&
|
|
4632
|
+
durationInSeconds <= constants.MAX_LICENSE_DURATION;
|
|
4633
|
+
let isPriceValid = true;
|
|
4634
|
+
if (price && price.trim() !== "") {
|
|
4635
|
+
const priceInWei = BigInt(Math.floor(parseFloat(price) * Math.pow(10, 18)));
|
|
4636
|
+
isPriceValid = priceInWei >= BigInt(constants.MIN_PRICE);
|
|
4637
|
+
}
|
|
4638
|
+
else {
|
|
4639
|
+
isPriceValid = false;
|
|
4640
|
+
}
|
|
4641
|
+
setIsValidInput(isDurationValid && isPriceValid);
|
|
4642
|
+
};
|
|
4643
|
+
useEffect(() => {
|
|
4644
|
+
validateInputs();
|
|
4645
|
+
}, [price, licenseDuration, durationUnit]);
|
|
4024
4646
|
const handleUpload = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
4025
4647
|
var _a;
|
|
4026
4648
|
if (selectedFile) {
|
|
4027
4649
|
setIsUploading(true);
|
|
4028
4650
|
try {
|
|
4029
|
-
|
|
4030
|
-
|
|
4651
|
+
// convert duration to seconds based on selected unit
|
|
4652
|
+
let durationInSeconds = licenseDuration;
|
|
4653
|
+
switch (durationUnit) {
|
|
4654
|
+
case "hours":
|
|
4655
|
+
durationInSeconds = licenseDuration * 3600; // 60 * 60
|
|
4656
|
+
break;
|
|
4657
|
+
case "days":
|
|
4658
|
+
durationInSeconds = licenseDuration * 86400; // 60 * 60 * 24
|
|
4659
|
+
break;
|
|
4660
|
+
case "weeks":
|
|
4661
|
+
durationInSeconds = licenseDuration * 604800; // 60 * 60 * 24 * 7
|
|
4662
|
+
break;
|
|
4663
|
+
}
|
|
4664
|
+
const priceInWei = price
|
|
4665
|
+
? BigInt(Math.floor(parseFloat(price) * Math.pow(10, 18)))
|
|
4666
|
+
: BigInt(0);
|
|
4667
|
+
const license = createLicenseTerms(priceInWei, // price in wei
|
|
4668
|
+
durationInSeconds, // duration in seconds
|
|
4031
4669
|
royaltyBps, // royalty basis points
|
|
4032
4670
|
zeroAddress // payment token
|
|
4033
4671
|
);
|
|
@@ -4035,7 +4673,7 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
4035
4673
|
name: selectedFile.name,
|
|
4036
4674
|
description: `This is a file uploaded by ${auth === null || auth === void 0 ? void 0 : auth.walletAddress}`,
|
|
4037
4675
|
};
|
|
4038
|
-
const res = yield ((_a = auth === null || auth === void 0 ? void 0 : auth.origin) === null || _a === void 0 ? void 0 : _a.mintFile(selectedFile, metadata, license,
|
|
4676
|
+
const res = yield ((_a = auth === null || auth === void 0 ? void 0 : auth.origin) === null || _a === void 0 ? void 0 : _a.mintFile(selectedFile, metadata, license, [], {
|
|
4039
4677
|
progressCallback(percent) {
|
|
4040
4678
|
setUploadProgress(percent);
|
|
4041
4679
|
},
|
|
@@ -4047,6 +4685,7 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
4047
4685
|
refetch();
|
|
4048
4686
|
}
|
|
4049
4687
|
catch (error) {
|
|
4688
|
+
console.error(error);
|
|
4050
4689
|
addToast(`Error minting file: ${error}`, "error", 5000);
|
|
4051
4690
|
setIsUploading(false);
|
|
4052
4691
|
}
|
|
@@ -4057,6 +4696,13 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
4057
4696
|
}
|
|
4058
4697
|
}
|
|
4059
4698
|
});
|
|
4699
|
+
useEffect(() => {
|
|
4700
|
+
return () => {
|
|
4701
|
+
if (selectedFile && selectedFile.type.startsWith("image/")) {
|
|
4702
|
+
URL.revokeObjectURL(URL.createObjectURL(selectedFile));
|
|
4703
|
+
}
|
|
4704
|
+
};
|
|
4705
|
+
}, [selectedFile]);
|
|
4060
4706
|
const handleDragOver = (e) => {
|
|
4061
4707
|
e.preventDefault();
|
|
4062
4708
|
setIsDragging(true);
|
|
@@ -4136,23 +4782,32 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
4136
4782
|
React.createElement("span", { className: buttonStyles["file-name"] }, selectedFile.name),
|
|
4137
4783
|
isUploading && React.createElement(LoadingBar, { progress: uploadProgress }),
|
|
4138
4784
|
React.createElement("div", { className: buttonStyles["price-input-container"] },
|
|
4139
|
-
React.createElement("input", { type: "number", placeholder: "Price in
|
|
4785
|
+
React.createElement("input", { type: "number", step: "0.000000000000000001", placeholder: "Price in CAMP", className: buttonStyles["price-input"], value: price, onChange: (e) => {
|
|
4140
4786
|
const value = e.target.value;
|
|
4141
|
-
setPrice(value
|
|
4142
|
-
} })
|
|
4787
|
+
setPrice(value);
|
|
4788
|
+
} }),
|
|
4789
|
+
React.createElement("div", { className: buttonStyles["price-divider"] }),
|
|
4790
|
+
React.createElement("div", { className: buttonStyles["camp-icon-container"] },
|
|
4791
|
+
React.createElement(CampIcon, null))),
|
|
4143
4792
|
React.createElement("div", { className: buttonStyles["duration-input-container"] },
|
|
4144
|
-
React.createElement("input", { type: "number", placeholder: "
|
|
4793
|
+
React.createElement("input", { type: "number", placeholder: "Duration", className: buttonStyles["duration-input"], value: licenseDuration > 0 ? licenseDuration.toString() : "", onChange: (e) => {
|
|
4145
4794
|
const value = e.target.value;
|
|
4146
4795
|
setLicenseDuration(value ? Number(value) : 0);
|
|
4147
|
-
} })
|
|
4148
|
-
|
|
4149
|
-
|
|
4150
|
-
|
|
4151
|
-
|
|
4796
|
+
} }),
|
|
4797
|
+
React.createElement("select", { className: buttonStyles["duration-unit-select"], value: durationUnit, onChange: (e) => {
|
|
4798
|
+
setDurationUnit(e.target.value);
|
|
4799
|
+
} },
|
|
4800
|
+
React.createElement("option", { value: "hours" }, "Hours"),
|
|
4801
|
+
React.createElement("option", { value: "days" }, "Days"),
|
|
4802
|
+
React.createElement("option", { value: "weeks" }, "Weeks"))),
|
|
4152
4803
|
React.createElement("div", { className: buttonStyles["upload-buttons"] },
|
|
4153
4804
|
React.createElement("button", { className: buttonStyles["remove-file-button"], disabled: isUploading, onClick: handleRemoveFile },
|
|
4154
|
-
React.createElement(BinIcon, { w: "
|
|
4155
|
-
React.createElement(
|
|
4805
|
+
React.createElement(BinIcon, { w: "1.25rem", h: "1.25rem" })),
|
|
4806
|
+
React.createElement(Button
|
|
4807
|
+
// className={buttonStyles["upload-file-button"]}
|
|
4808
|
+
, {
|
|
4809
|
+
// className={buttonStyles["upload-file-button"]}
|
|
4810
|
+
onClick: handleUpload, disabled: !selectedFile || isUploading || !isValidInput }, "Mint")))) : (React.createElement("p", null,
|
|
4156
4811
|
"Drag and drop your file here, or click to select a file.",
|
|
4157
4812
|
React.createElement("br", null),
|
|
4158
4813
|
accept && (React.createElement("span", { className: buttonStyles["accepted-types"] }, accept
|
|
@@ -4167,6 +4822,14 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
4167
4822
|
(maxFileSize / 1024 / 1024).toPrecision(2),
|
|
4168
4823
|
" MB"))))));
|
|
4169
4824
|
};
|
|
4825
|
+
const Button = ({ children, onClick, disabled, }) => {
|
|
4826
|
+
return (React.createElement("button", { className: buttonStyles["button"], onClick: onClick, disabled: disabled },
|
|
4827
|
+
React.createElement(CornerSquare, { position: "top-left", padding: 4 }),
|
|
4828
|
+
React.createElement(CornerSquare, { position: "top-right", padding: 4 }),
|
|
4829
|
+
React.createElement(CornerSquare, { position: "bottom-left", padding: 4 }),
|
|
4830
|
+
React.createElement(CornerSquare, { position: "bottom-right", padding: 4 }),
|
|
4831
|
+
children));
|
|
4832
|
+
};
|
|
4170
4833
|
|
|
4171
4834
|
/**
|
|
4172
4835
|
* The Auth modal component.
|
|
@@ -4176,7 +4839,7 @@ const FileUpload = ({ onFileUpload, accept, maxFileSize, }) => {
|
|
|
4176
4839
|
const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvider, }) => {
|
|
4177
4840
|
const { connect } = useConnect();
|
|
4178
4841
|
const { setProvider } = useProvider();
|
|
4179
|
-
const { auth, wagmiAvailable } = useContext(CampContext);
|
|
4842
|
+
const { auth, wagmiAvailable, environment } = useContext(CampContext);
|
|
4180
4843
|
const [customProvider, setCustomProvider] = useState(null);
|
|
4181
4844
|
const providers = useProviders();
|
|
4182
4845
|
const [customConnector, setCustomConnector] = useState(null);
|
|
@@ -4281,6 +4944,7 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
|
|
|
4281
4944
|
};
|
|
4282
4945
|
return (React.createElement("div", { className: styles["outer-container"] },
|
|
4283
4946
|
React.createElement("div", { className: `${styles.container} ${styles["linking-container"]}` },
|
|
4947
|
+
React.createElement(ArrowCorners, { padding: 8, color: "#AAA" }),
|
|
4284
4948
|
React.createElement("div", { className: styles["close-button"], onClick: () => setIsVisible(false) },
|
|
4285
4949
|
React.createElement(CloseIcon, null)),
|
|
4286
4950
|
React.createElement("div", { className: styles["auth-header"] },
|
|
@@ -4296,7 +4960,7 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
|
|
|
4296
4960
|
icon: customAccount.connector.icon ||
|
|
4297
4961
|
getIconByConnectorName(customAccount.connector.name),
|
|
4298
4962
|
},
|
|
4299
|
-
}, label: formatAddress(customAccount.address), handleConnect: handleConnect, loading: loading }),
|
|
4963
|
+
}, label: formatAddress(customAccount.address, 6), handleConnect: handleConnect, loading: loading }),
|
|
4300
4964
|
(providers.length || wcProvider || window.ethereum) &&
|
|
4301
4965
|
!onlyWagmi &&
|
|
4302
4966
|
!(defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.exclusive) && (React.createElement("div", { className: styles["divider"] })))),
|
|
@@ -4316,7 +4980,8 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
|
|
|
4316
4980
|
name: "Browser Wallet",
|
|
4317
4981
|
},
|
|
4318
4982
|
}, label: "window.ethereum", handleConnect: handleConnect, loading: loading }))),
|
|
4319
|
-
React.createElement("
|
|
4983
|
+
React.createElement("div", { className: styles["footer-container"] },
|
|
4984
|
+
React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer" }, "Powered by Camp Network")))));
|
|
4320
4985
|
};
|
|
4321
4986
|
/**
|
|
4322
4987
|
* The CampModal component.
|
|
@@ -4325,7 +4990,7 @@ const AuthModal = ({ setIsVisible, wcProvider, loading, onlyWagmi, defaultProvid
|
|
|
4325
4990
|
*/
|
|
4326
4991
|
const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaultProvider, }) => {
|
|
4327
4992
|
// const [isButtonDisabled, setIsButtonDisabled] = useState(false);
|
|
4328
|
-
const { auth } = useContext(CampContext);
|
|
4993
|
+
const { auth, environment } = useContext(CampContext);
|
|
4329
4994
|
const { authenticated, loading } = useAuthState();
|
|
4330
4995
|
const { isVisible, setIsVisible, isButtonDisabled, setIsButtonDisabled } = useContext(ModalContext);
|
|
4331
4996
|
const { isLinkingVisible } = useContext(ModalContext);
|
|
@@ -4337,7 +5002,7 @@ const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaul
|
|
|
4337
5002
|
customAccount = useAccount();
|
|
4338
5003
|
}
|
|
4339
5004
|
const walletConnectProvider = wcProjectId
|
|
4340
|
-
? useWalletConnectProvider(wcProjectId)
|
|
5005
|
+
? useWalletConnectProvider(wcProjectId, environment.CHAIN)
|
|
4341
5006
|
: null;
|
|
4342
5007
|
const handleModalButton = () => {
|
|
4343
5008
|
setIsVisible(true);
|
|
@@ -4350,6 +5015,8 @@ const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaul
|
|
|
4350
5015
|
}
|
|
4351
5016
|
}, [authenticated]);
|
|
4352
5017
|
useEffect(() => {
|
|
5018
|
+
// handles recovering the provider if it was passed as a defaultProvider or if WalletConnect was used
|
|
5019
|
+
// the core module handles the other cases (injected providers) automatically
|
|
4353
5020
|
const recoverProvider = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
4354
5021
|
var _a, _b;
|
|
4355
5022
|
try {
|
|
@@ -4392,7 +5059,13 @@ const CampModal = ({ injectButton = true, wcProjectId, onlyWagmi = false, defaul
|
|
|
4392
5059
|
if (authenticated) {
|
|
4393
5060
|
recoverProvider();
|
|
4394
5061
|
}
|
|
4395
|
-
}, [
|
|
5062
|
+
}, [
|
|
5063
|
+
authenticated,
|
|
5064
|
+
defaultProvider,
|
|
5065
|
+
defaultProvider === null || defaultProvider === void 0 ? void 0 : defaultProvider.provider,
|
|
5066
|
+
auth,
|
|
5067
|
+
walletConnectProvider,
|
|
5068
|
+
]);
|
|
4396
5069
|
// Cases where the button should be disabled
|
|
4397
5070
|
useEffect(() => {
|
|
4398
5071
|
const noProvider = !provider.provider;
|
|
@@ -4442,6 +5115,7 @@ const TikTokFlow = () => {
|
|
|
4442
5115
|
const { auth } = useContext(CampContext);
|
|
4443
5116
|
const [IsLoading, setIsLoading] = useState(false);
|
|
4444
5117
|
const [handleInput, setHandleInput] = useState("");
|
|
5118
|
+
const { addToast: toast } = useToast();
|
|
4445
5119
|
if (!auth) {
|
|
4446
5120
|
throw new Error("Auth instance is not available. Make sure to wrap your component with CampProvider.");
|
|
4447
5121
|
}
|
|
@@ -4461,6 +5135,7 @@ const TikTokFlow = () => {
|
|
|
4461
5135
|
catch (error) {
|
|
4462
5136
|
resetState();
|
|
4463
5137
|
console.error(error);
|
|
5138
|
+
toast("Error unlinking TikTok account", "error", 5000);
|
|
4464
5139
|
return;
|
|
4465
5140
|
}
|
|
4466
5141
|
}
|
|
@@ -4472,6 +5147,7 @@ const TikTokFlow = () => {
|
|
|
4472
5147
|
}
|
|
4473
5148
|
catch (error) {
|
|
4474
5149
|
resetState();
|
|
5150
|
+
toast(error.message ? error.message : "Error linking TikTok account", "error", 5000);
|
|
4475
5151
|
console.error(error);
|
|
4476
5152
|
return;
|
|
4477
5153
|
}
|
|
@@ -4491,7 +5167,11 @@ const TikTokFlow = () => {
|
|
|
4491
5167
|
" account.",
|
|
4492
5168
|
React.createElement("div", null,
|
|
4493
5169
|
React.createElement("input", { value: handleInput, onChange: (e) => setHandleInput(e.target.value), type: "text", placeholder: "Enter your TikTok username", className: styles["tiktok-input"] }))))),
|
|
4494
|
-
React.createElement(
|
|
5170
|
+
React.createElement(Button
|
|
5171
|
+
// className={styles["linking-button"]}
|
|
5172
|
+
, {
|
|
5173
|
+
// className={styles["linking-button"]}
|
|
5174
|
+
onClick: handleLink, disabled: IsLoading }, !IsLoading ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : ("Link")) : (React.createElement("div", { className: styles.spinner })))));
|
|
4495
5175
|
};
|
|
4496
5176
|
/**
|
|
4497
5177
|
* The OTPInput component. Handles OTP input with customizable number of inputs.
|
|
@@ -4608,7 +5288,11 @@ const TelegramFlow = () => {
|
|
|
4608
5288
|
React.createElement("span", null, "This will only work if you have 2FA disabled on your Telegram account."),
|
|
4609
5289
|
React.createElement("div", null,
|
|
4610
5290
|
React.createElement("input", { value: phoneInput, onChange: handlePhoneInput, type: "tel", placeholder: "Enter your phone number", className: `${styles["tiktok-input"]} ${!isPhoneValid ? styles["invalid"] : ""}` }))))))),
|
|
4611
|
-
React.createElement(
|
|
5291
|
+
React.createElement(Button
|
|
5292
|
+
// className={styles["linking-button"]}
|
|
5293
|
+
, {
|
|
5294
|
+
// className={styles["linking-button"]}
|
|
5295
|
+
onClick: handleAction, disabled: IsLoading ||
|
|
4612
5296
|
(!isPhoneValid && !isOTPSent) ||
|
|
4613
5297
|
(!phoneInput && !isOTPSent) ||
|
|
4614
5298
|
(isOTPSent && otpInput.length < 5) }, !IsLoading ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : isOTPSent ? ("Link") : ("Send OTP")) : (React.createElement("div", { className: styles.spinner })))));
|
|
@@ -4664,7 +5348,11 @@ const BasicFlow = () => {
|
|
|
4664
5348
|
" ",
|
|
4665
5349
|
capitalize(currentlyLinking),
|
|
4666
5350
|
" account."))),
|
|
4667
|
-
React.createElement(
|
|
5351
|
+
React.createElement(Button
|
|
5352
|
+
// className={styles["linking-button"]}
|
|
5353
|
+
, {
|
|
5354
|
+
// className={styles["linking-button"]}
|
|
5355
|
+
onClick: handleLink, disabled: isUnlinking }, !isUnlinking ? (currentlyLinking && socials[currentlyLinking] ? ("Unlink") : ("Link")) : (React.createElement("div", { className: styles.spinner })))));
|
|
4668
5356
|
};
|
|
4669
5357
|
/**
|
|
4670
5358
|
* The LinkingModal component. Handles the linking and unlinking of socials.
|
|
@@ -4695,6 +5383,7 @@ const LinkingModal = () => {
|
|
|
4695
5383
|
} },
|
|
4696
5384
|
React.createElement("div", { className: styles["outer-container"] },
|
|
4697
5385
|
React.createElement("div", { className: `${styles.container} ${styles["linking-container"]}` },
|
|
5386
|
+
React.createElement(ArrowCorners, { padding: 8, color: "#AAA" }),
|
|
4698
5387
|
React.createElement("div", { className: styles["close-button"], onClick: () => setIsLinkingVisible(false) },
|
|
4699
5388
|
React.createElement(CloseIcon, null)),
|
|
4700
5389
|
isSocialsLoading ? (React.createElement("div", { style: {
|
|
@@ -4713,7 +5402,8 @@ const LinkingModal = () => {
|
|
|
4713
5402
|
flow === "basic" && React.createElement(BasicFlow, null),
|
|
4714
5403
|
flow === "tiktok" && React.createElement(TikTokFlow, null),
|
|
4715
5404
|
flow === "telegram" && React.createElement(TelegramFlow, null))),
|
|
4716
|
-
React.createElement("
|
|
5405
|
+
React.createElement("div", { className: styles["footer-container"] },
|
|
5406
|
+
React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer", style: { marginTop: 0 } }, "Powered by Camp Network"))))));
|
|
4717
5407
|
};
|
|
4718
5408
|
/**
|
|
4719
5409
|
* The OriginSection component. Displays the Origin status, royalty multiplier, and royalty credits.
|
|
@@ -4721,25 +5411,17 @@ const LinkingModal = () => {
|
|
|
4721
5411
|
*/
|
|
4722
5412
|
const OriginSection = () => {
|
|
4723
5413
|
const { stats, uploads } = useOrigin();
|
|
4724
|
-
const [isOriginAuthorized, setIsOriginAuthorized] = useState(true);
|
|
4725
|
-
const [royaltyMultiplier, setRoyaltyMultiplier] = useState(1);
|
|
4726
|
-
const [royaltyCredits, setRoyaltyCredits] = useState(0);
|
|
5414
|
+
// const [isOriginAuthorized, setIsOriginAuthorized] = useState(true);
|
|
5415
|
+
// const [royaltyMultiplier, setRoyaltyMultiplier] = useState(1);
|
|
5416
|
+
// const [royaltyCredits, setRoyaltyCredits] = useState(0);
|
|
5417
|
+
const { environment } = useContext(CampContext);
|
|
4727
5418
|
const [uploadedImages, setUploadedImages] = useState(0);
|
|
4728
5419
|
const [uploadedVideos, setUploadedVideos] = useState(0);
|
|
4729
5420
|
const [uploadedAudio, setUploadedAudio] = useState(0);
|
|
4730
5421
|
const [uploadedText, setUploadedText] = useState(0);
|
|
4731
5422
|
useEffect(() => {
|
|
4732
|
-
|
|
4733
|
-
if (
|
|
4734
|
-
setIsOriginAuthorized((_d = (_c = (_b = (_a = stats.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.user) === null || _c === void 0 ? void 0 : _c.active) !== null && _d !== void 0 ? _d : true);
|
|
4735
|
-
setRoyaltyMultiplier((_h = (_g = (_f = (_e = stats.data) === null || _e === void 0 ? void 0 : _e.data) === null || _f === void 0 ? void 0 : _f.user) === null || _g === void 0 ? void 0 : _g.multiplier) !== null && _h !== void 0 ? _h : 1);
|
|
4736
|
-
setRoyaltyCredits((_m = (_l = (_k = (_j = stats.data) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.user) === null || _l === void 0 ? void 0 : _l.points) !== null && _m !== void 0 ? _m : 0);
|
|
4737
|
-
}
|
|
4738
|
-
if (stats.isError) {
|
|
4739
|
-
setIsOriginAuthorized(true);
|
|
4740
|
-
setRoyaltyMultiplier(1);
|
|
4741
|
-
setRoyaltyCredits(0);
|
|
4742
|
-
}
|
|
5423
|
+
if (!stats.isLoading && !stats.isError) ;
|
|
5424
|
+
if (stats.isError) ;
|
|
4743
5425
|
}, [stats.data, stats.isError, stats.isLoading]);
|
|
4744
5426
|
useEffect(() => {
|
|
4745
5427
|
if (uploads.data) {
|
|
@@ -4769,16 +5451,6 @@ const OriginSection = () => {
|
|
|
4769
5451
|
}, [uploads.data]);
|
|
4770
5452
|
return stats.isLoading ? (React.createElement("div", { style: { marginTop: "1rem", marginBottom: "1rem", flex: 1 } },
|
|
4771
5453
|
React.createElement("div", { className: styles.spinner }))) : (React.createElement("div", { className: styles["origin-wrapper"] },
|
|
4772
|
-
React.createElement("div", { className: styles["origin-section"] },
|
|
4773
|
-
React.createElement(Tooltip, { content: isOriginAuthorized ? "Origin Authorized" : "Origin Unauthorized", position: "top", containerStyle: { width: "100%" } },
|
|
4774
|
-
React.createElement("div", { className: styles["origin-container"] },
|
|
4775
|
-
React.createElement("span", null, isOriginAuthorized ? (React.createElement(CheckMarkIcon, { w: "1.2rem", h: "1.2rem" })) : (React.createElement(XMarkIcon, { w: "1.2rem", h: "1.2rem" }))),
|
|
4776
|
-
React.createElement("span", { className: styles["origin-label"] }, isOriginAuthorized ? "Authorized" : "Unauthorized"))),
|
|
4777
|
-
React.createElement("div", { className: styles["divider"] }),
|
|
4778
|
-
React.createElement(Tooltip, { content: `Royalty Credits: ${royaltyCredits.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
|
|
4779
|
-
React.createElement("div", { className: styles["origin-container"] },
|
|
4780
|
-
React.createElement("span", null, formatCampAmount(royaltyCredits)),
|
|
4781
|
-
React.createElement("span", { className: styles["origin-label"] }, "Credits")))),
|
|
4782
5454
|
React.createElement("div", { className: styles["origin-section"] },
|
|
4783
5455
|
React.createElement(Tooltip, { content: `Images uploaded: ${uploadedImages.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
|
|
4784
5456
|
React.createElement("div", { className: styles["origin-container"] },
|
|
@@ -4798,7 +5470,24 @@ const OriginSection = () => {
|
|
|
4798
5470
|
React.createElement(Tooltip, { content: `Text uploaded: ${uploadedText.toLocaleString()}`, position: "top", containerStyle: { width: "100%" } },
|
|
4799
5471
|
React.createElement("div", { className: styles["origin-container"] },
|
|
4800
5472
|
React.createElement("span", null, formatCampAmount(uploadedText)),
|
|
4801
|
-
React.createElement("span", { className: styles["origin-label"] }, "Text"))))
|
|
5473
|
+
React.createElement("span", { className: styles["origin-label"] }, "Text")))),
|
|
5474
|
+
React.createElement("div", { className: styles["origin-section"] },
|
|
5475
|
+
React.createElement(Tooltip, { content: environment.NAME === "PRODUCTION"
|
|
5476
|
+
? "You are connected to Camp Mainnet"
|
|
5477
|
+
: "You are connected to Camp Testnet", position: "top", containerStyle: { width: "100%" } },
|
|
5478
|
+
React.createElement("div", { className: styles["origin-container"] },
|
|
5479
|
+
React.createElement("span", null, environment.NAME === "PRODUCTION" ? "Mainnet" : "Testnet"),
|
|
5480
|
+
React.createElement("span", { className: styles["origin-label"] }, "Chain"))),
|
|
5481
|
+
React.createElement("div", { className: styles["divider"] }),
|
|
5482
|
+
React.createElement(Tooltip, { content: environment.DATANFT_CONTRACT_ADDRESS, position: "top", containerStyle: { width: "100%" } },
|
|
5483
|
+
React.createElement("div", { className: styles["origin-container"] },
|
|
5484
|
+
React.createElement("span", null, formatAddress(environment.DATANFT_CONTRACT_ADDRESS, 4)),
|
|
5485
|
+
React.createElement("span", { className: styles["origin-label"] }, "IP NFT"))),
|
|
5486
|
+
React.createElement("div", { className: styles["divider"] }),
|
|
5487
|
+
React.createElement(Tooltip, { content: environment.MARKETPLACE_CONTRACT_ADDRESS, position: "top", containerStyle: { width: "100%" } },
|
|
5488
|
+
React.createElement("div", { className: styles["origin-container"] },
|
|
5489
|
+
React.createElement("span", null, formatAddress(environment.MARKETPLACE_CONTRACT_ADDRESS, 4)),
|
|
5490
|
+
React.createElement("span", { className: styles["origin-label"] }, "Marketplace"))))));
|
|
4802
5491
|
};
|
|
4803
5492
|
/**
|
|
4804
5493
|
* The MyCampModal component.
|
|
@@ -4806,13 +5495,14 @@ const OriginSection = () => {
|
|
|
4806
5495
|
* @returns { JSX.Element } The MyCampModal component.
|
|
4807
5496
|
*/
|
|
4808
5497
|
const MyCampModal = ({ wcProvider, }) => {
|
|
4809
|
-
const { auth } = useContext(CampContext);
|
|
5498
|
+
const { auth, environment } = useContext(CampContext);
|
|
4810
5499
|
const { setIsVisible: setIsVisible } = useContext(ModalContext);
|
|
4811
5500
|
const { disconnect } = useConnect();
|
|
4812
5501
|
const { socials, isLoading, refetch } = useSocials();
|
|
4813
5502
|
const [isLoadingSocials, setIsLoadingSocials] = useState(true);
|
|
4814
5503
|
const { linkTiktok, linkTelegram } = useLinkModal();
|
|
4815
5504
|
const [activeTab, setActiveTab] = useState("socials");
|
|
5505
|
+
const { addToast: toast } = useToast();
|
|
4816
5506
|
const { provider } = useProvider();
|
|
4817
5507
|
if (!auth) {
|
|
4818
5508
|
throw new Error("Auth instance is not available. Make sure to wrap your component with CampProvider.");
|
|
@@ -4867,11 +5557,22 @@ const MyCampModal = ({ wcProvider, }) => {
|
|
|
4867
5557
|
const notConnected = connectedSocials.filter((social) => !social.isConnected);
|
|
4868
5558
|
return (React.createElement("div", { className: styles["outer-container"] },
|
|
4869
5559
|
React.createElement("div", { className: styles.container },
|
|
5560
|
+
React.createElement(ArrowCorners, { padding: 8, color: "#AAA" }),
|
|
4870
5561
|
React.createElement("div", { className: styles["close-button"], onClick: () => setIsVisible(false) },
|
|
4871
5562
|
React.createElement(CloseIcon, null)),
|
|
4872
5563
|
React.createElement("div", { className: styles.header },
|
|
4873
|
-
React.createElement(
|
|
4874
|
-
React.createElement("span", { className: styles["wallet-address"]
|
|
5564
|
+
React.createElement(CampIcon, { customStyles: { marginRight: "0.5rem" } }),
|
|
5565
|
+
React.createElement("span", { className: styles["wallet-address"], onClick: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
5566
|
+
try {
|
|
5567
|
+
yield navigator.clipboard.writeText(auth.walletAddress);
|
|
5568
|
+
toast("Address copied to clipboard", "success", 3000);
|
|
5569
|
+
}
|
|
5570
|
+
catch (error) {
|
|
5571
|
+
toast("Failed to copy address", "error", 3000);
|
|
5572
|
+
}
|
|
5573
|
+
}) },
|
|
5574
|
+
formatAddress(auth.walletAddress, 6),
|
|
5575
|
+
React.createElement(CopyIcon, { w: 16, h: 16 }))),
|
|
4875
5576
|
React.createElement("div", { className: styles["vertical-tabs-container"] },
|
|
4876
5577
|
React.createElement("div", { className: styles["vertical-tabs"] },
|
|
4877
5578
|
React.createElement(TabButton, { label: "Stats", isActive: activeTab === "origin", onClick: () => setActiveTab("origin") }),
|
|
@@ -4886,13 +5587,15 @@ const MyCampModal = ({ wcProvider, }) => {
|
|
|
4886
5587
|
activeTab === "images" && React.createElement(ImagesTab, null),
|
|
4887
5588
|
activeTab === "audio" && React.createElement(AudioTab, null),
|
|
4888
5589
|
activeTab === "videos" && React.createElement(VideosTab, null),
|
|
4889
|
-
activeTab === "text" && React.createElement(TextTab, null)
|
|
5590
|
+
activeTab === "text" && React.createElement(TextTab, null),
|
|
5591
|
+
React.createElement(ArrowCorners, { padding: 8, color: "#DDD" }))),
|
|
4890
5592
|
!provider.provider && (React.createElement("button", { className: styles["no-provider-warning"], onClick: () => auth.recoverProvider(), style: { cursor: "pointer" }, type: "button" },
|
|
4891
5593
|
"Click to try reconnecting your wallet. ",
|
|
4892
5594
|
React.createElement("br", null),
|
|
4893
5595
|
"If this doesn't work, please disconnect and connect again.")),
|
|
4894
|
-
React.createElement(
|
|
4895
|
-
React.createElement("
|
|
5596
|
+
React.createElement(Button, { onClick: handleDisconnect }, "Disconnect"),
|
|
5597
|
+
React.createElement("div", { className: styles["footer-container"] },
|
|
5598
|
+
React.createElement("a", { href: "https://campnetwork.xyz", className: styles["footer-text"], target: "_blank", rel: "noopener noreferrer", style: { marginTop: 0 } }, "Powered by Camp Network")))));
|
|
4896
5599
|
};
|
|
4897
5600
|
const TabContent = ({ children, className, requiresProvider = false, }) => {
|
|
4898
5601
|
const { provider } = useProvider();
|