@bipopush/cli 0.3.0-beta.2 → 0.3.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/diff.wasm +0 -0
- package/dist/index.js +1 -224
- package/package.json +3 -5
- package/dist/commands.js +0 -363
- package/dist/compat.js +0 -96
- package/dist/config.js +0 -29
- package/dist/http.js +0 -41
- package/dist/keys.js +0 -41
- package/dist/login.js +0 -73
- package/dist/migrate.js +0 -65
- package/dist/pack.js +0 -174
- package/dist/project.js +0 -191
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ For each platform:
|
|
|
28
28
|
2. **Compile** to Hermes bytecode with the app's `hermesc` (delta-optimized against the previous release when there is one).
|
|
29
29
|
3. **Hash** (SHA-256) the bundle and every asset, and **sign** with the app's ed25519 key (a manifest of all hashes when there are assets).
|
|
30
30
|
4. **Compress** with brotli (quality 11).
|
|
31
|
-
5. **Diff** against the previous release of the same channel + native version (
|
|
31
|
+
5. **Diff** against the previous release of the same channel + native version (BIPOPAT1, `core/diff`, brotli); the patch is kept only when it is under 60% of the compressed full bundle.
|
|
32
32
|
6. **Upload** straight to storage with presigned URLs (files never pass through the API server) — assets the app already has in storage are skipped — then **publish**. The API assigns `v1, v2, …` per channel, platform and native version.
|
|
33
33
|
|
|
34
34
|
Example output for a 2 MB app where only an image changed:
|
|
@@ -46,7 +46,7 @@ Published iOS 1.0 v7 to production.
|
|
|
46
46
|
|
|
47
47
|
- The signing key is saved at `~/.config/bipopush/keys/<appId>.pem`. Keep it private — whoever has it can ship code to your users.
|
|
48
48
|
- In CI set `BIPOPUSH_TOKEN` (a CLI token) and `BIPOPUSH_SIGNING_KEY` (the PEM, or its base64).
|
|
49
|
-
-
|
|
49
|
+
- Patches are made by BipoPush's own diff engine, shipped as WebAssembly (`core/diff.wasm`): no dependencies, nothing compiled on install.
|
|
50
50
|
|
|
51
51
|
## Environment
|
|
52
52
|
|
|
@@ -61,5 +61,5 @@ Published iOS 1.0 v7 to production.
|
|
|
61
61
|
## Develop
|
|
62
62
|
|
|
63
63
|
```bash
|
|
64
|
-
npm test # runs the real hermesc, brotli and
|
|
64
|
+
npm test # runs the real hermesc, brotli and the diff/patch engine on sample bundles
|
|
65
65
|
```
|
package/dist/diff.wasm
ADDED
|
Binary file
|
package/dist/index.js
CHANGED
|
@@ -1,225 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { parseArgs } from "node:util";
|
|
4
|
-
import { disable, init, listApps, patchRelease, promote, release, rollout } from "./commands.js";
|
|
5
|
-
import { parseCompat, percent } from "./compat.js";
|
|
6
|
-
import { migrate } from "./migrate.js";
|
|
7
|
-
import { API_URL, CREDENTIALS_FILE, clearCredentials, loadCredentials } from "./config.js";
|
|
8
|
-
import { ApiError, request } from "./http.js";
|
|
9
|
-
import { login } from "./login.js";
|
|
10
|
-
const HELP = `BipoPush CLI
|
|
11
|
-
|
|
12
|
-
Usage:
|
|
13
|
-
bipopush login Log in through your browser
|
|
14
|
-
bipopush whoami Show the logged-in account, organizations and plans
|
|
15
|
-
bipopush init Register this React Native / Expo project as an app
|
|
16
|
-
--name <name> App name (default: project name)
|
|
17
|
-
--scheme <scheme> URL scheme for deeplinks, if the project has none
|
|
18
|
-
--org <slug> Organization for the new app (needed if you belong to several)
|
|
19
|
-
--app <id> Link to an existing app instead of creating one
|
|
20
|
-
--new-signing-key Replace a lost signing key (installed builds need a store update)
|
|
21
|
-
bipopush release Bundle, sign, compress, diff and publish an OTA update
|
|
22
|
-
-p, --platform ios|android|all (default: all detected)
|
|
23
|
-
-c, --channel <name> production (default), staging, beta… — created if the plan allows
|
|
24
|
-
-m, --message <text> Release note
|
|
25
|
-
--mandatory Devices install it right away (critical fix)
|
|
26
|
-
--rollout <percent> Only this share of devices gets it at first (e.g. 10; Plus and above)
|
|
27
|
-
--dry-run Build and show sizes without uploading
|
|
28
|
-
bipopush rollout <percent> Change how many devices get the newest version (100 finishes; Plus and above)
|
|
29
|
-
-c, --channel <name> -p, --platform ios|android|all --number <n>
|
|
30
|
-
bipopush disable Disable the newest version (or --number); devices get the newest enabled one
|
|
31
|
-
-c, --channel <name> -p, --platform ios|android|all --number <n>
|
|
32
|
-
bipopush promote Re-publish a tested version in another channel (same bundle)
|
|
33
|
-
--from <channel> --to <channel> (default: staging → production)
|
|
34
|
-
-p, --platform ios|android|all (default: all)
|
|
35
|
-
--number <n> Version to promote, e.g. 3 for v3 (default: newest live one)
|
|
36
|
-
bipopush apps List your apps by organization
|
|
37
|
-
bipopush migrate Steps to move this project from CodePush, RevoPush or expo-updates
|
|
38
|
-
bipopush logout Revoke this CLI's token and forget it
|
|
39
|
-
|
|
40
|
-
Coming from CodePush, RevoPush or Expo? Their commands work too, e.g.
|
|
41
|
-
bipopush release-react MyApp ios -d Production --description "Fix" -m -r 25
|
|
42
|
-
bipopush promote MyApp Staging Production bipopush rollback MyApp Production
|
|
43
|
-
bipopush patch MyApp Production -m true -r 50
|
|
44
|
-
bipopush update --channel production --message "Fix" --rollout-percentage 10
|
|
45
|
-
|
|
46
|
-
Environment:
|
|
47
|
-
BIPOPUSH_API_URL API base URL (default https://api.bipopush.com)
|
|
48
|
-
BIPOPUSH_SIGN_URL Sign-in URL (default https://sign.bipopush.com)
|
|
49
|
-
BIPOPUSH_TOKEN Use this token instead of the saved login (CI)
|
|
50
|
-
BIPOPUSH_SIGNING_KEY Release signing key, PEM or base64 of the PEM (CI)
|
|
51
|
-
`;
|
|
52
|
-
async function requireToken() {
|
|
53
|
-
const creds = await loadCredentials();
|
|
54
|
-
if (!creds) {
|
|
55
|
-
throw new Error(`Not logged in to ${API_URL}. Run: bipopush login`);
|
|
56
|
-
}
|
|
57
|
-
return creds.token;
|
|
58
|
-
}
|
|
59
|
-
function describeUsage(usage) {
|
|
60
|
-
const next = usage.nextAvailableAt ? ` Resets at ${new Date(usage.nextAvailableAt).toLocaleString()}.` : "";
|
|
61
|
-
return `${usage.used}/${usage.limit} releases used for this app in the last 24h.${next}`;
|
|
62
|
-
}
|
|
63
|
-
async function whoami() {
|
|
64
|
-
const token = await requireToken();
|
|
65
|
-
const me = await request("/me", { token });
|
|
66
|
-
console.log(me.user.email);
|
|
67
|
-
for (const org of me.organizations) {
|
|
68
|
-
const plan = me.plans.find((p) => p.id === org.plan);
|
|
69
|
-
const channels = plan?.unlimitedChannels ? `unlimited channels (fair use ${plan.maxChannels})` : `${plan?.maxChannels} channel(s) per app`;
|
|
70
|
-
const limits = plan ? ` — ${plan.maxApps ?? "unlimited"} app(s), ${channels}, ${plan.mau.toLocaleString()} MAU` : "";
|
|
71
|
-
console.log(` ${org.name} (--org ${org.slug.current}) · ${org.role.name} · ${plan?.name ?? org.plan} plan${limits}`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
async function logout() {
|
|
75
|
-
const creds = await loadCredentials();
|
|
76
|
-
if (creds) {
|
|
77
|
-
await request("/auth/logout", { method: "POST", token: creds.token }).catch(() => undefined);
|
|
78
|
-
}
|
|
79
|
-
await clearCredentials();
|
|
80
|
-
console.log("Logged out.");
|
|
81
|
-
}
|
|
82
|
-
function channelArg(value, fallback, flag) {
|
|
83
|
-
const name = (value ?? fallback).trim().toLowerCase();
|
|
84
|
-
if (!/^[a-z][a-z0-9-]{1,31}$/.test(name))
|
|
85
|
-
throw new Error(`${flag} must be a channel name like production, staging or beta`);
|
|
86
|
-
return name;
|
|
87
|
-
}
|
|
88
|
-
function oneOf(value, allowed, fallback, flag) {
|
|
89
|
-
if (value === undefined)
|
|
90
|
-
return fallback;
|
|
91
|
-
if (!allowed.includes(value))
|
|
92
|
-
throw new Error(`${flag} must be one of: ${allowed.join(", ")}`);
|
|
93
|
-
return value;
|
|
94
|
-
}
|
|
95
|
-
async function runCompat(compat) {
|
|
96
|
-
const cwd = process.cwd();
|
|
97
|
-
const token = await requireToken();
|
|
98
|
-
switch (compat.kind) {
|
|
99
|
-
case "release":
|
|
100
|
-
return release(token, { cwd, platform: compat.platform, channel: compat.channel, message: compat.message, mandatory: compat.mandatory, rollout: compat.rollout });
|
|
101
|
-
case "promote":
|
|
102
|
-
return promote(token, { cwd, from: compat.from, to: compat.to, platform: "all" });
|
|
103
|
-
case "rollback":
|
|
104
|
-
return disable(token, { cwd, channel: compat.channel, platform: "all" });
|
|
105
|
-
case "patch":
|
|
106
|
-
return patchRelease(token, { cwd, channel: compat.channel, platform: "all", mandatory: compat.mandatory, percent: compat.rollout });
|
|
107
|
-
case "rollout":
|
|
108
|
-
return rollout(token, { cwd, channel: compat.channel, platform: compat.platform, percent: compat.percent });
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
async function main() {
|
|
112
|
-
const compat = parseCompat(process.argv.slice(2));
|
|
113
|
-
if (compat)
|
|
114
|
-
return runCompat(compat);
|
|
115
|
-
const { positionals, values } = parseArgs({
|
|
116
|
-
allowPositionals: true,
|
|
117
|
-
options: {
|
|
118
|
-
help: { type: "boolean", short: "h" },
|
|
119
|
-
version: { type: "boolean", short: "v" },
|
|
120
|
-
platform: { type: "string", short: "p" },
|
|
121
|
-
channel: { type: "string", short: "c" },
|
|
122
|
-
message: { type: "string", short: "m" },
|
|
123
|
-
"dry-run": { type: "boolean" },
|
|
124
|
-
mandatory: { type: "boolean" },
|
|
125
|
-
name: { type: "string" },
|
|
126
|
-
scheme: { type: "string" },
|
|
127
|
-
app: { type: "string" },
|
|
128
|
-
org: { type: "string" },
|
|
129
|
-
"new-signing-key": { type: "boolean" },
|
|
130
|
-
from: { type: "string" },
|
|
131
|
-
to: { type: "string" },
|
|
132
|
-
number: { type: "string" },
|
|
133
|
-
rollout: { type: "string" },
|
|
134
|
-
},
|
|
135
|
-
});
|
|
136
|
-
const [command] = positionals;
|
|
137
|
-
if (values.version)
|
|
138
|
-
return console.log(createRequire(import.meta.url)("../package.json").version);
|
|
139
|
-
if (values.help || !command)
|
|
140
|
-
return console.log(HELP);
|
|
141
|
-
const cwd = process.cwd();
|
|
142
|
-
switch (command) {
|
|
143
|
-
case "login":
|
|
144
|
-
return login();
|
|
145
|
-
case "whoami":
|
|
146
|
-
return whoami();
|
|
147
|
-
case "init":
|
|
148
|
-
return init(await requireToken(), {
|
|
149
|
-
cwd,
|
|
150
|
-
name: values.name,
|
|
151
|
-
scheme: values.scheme,
|
|
152
|
-
appId: values.app,
|
|
153
|
-
org: values.org,
|
|
154
|
-
newSigningKey: values["new-signing-key"],
|
|
155
|
-
});
|
|
156
|
-
case "release":
|
|
157
|
-
return release(await requireToken(), {
|
|
158
|
-
cwd,
|
|
159
|
-
platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
|
|
160
|
-
channel: channelArg(values.channel, "production", "--channel"),
|
|
161
|
-
message: values.message,
|
|
162
|
-
mandatory: values.mandatory,
|
|
163
|
-
rollout: percent(values.rollout, "--rollout"),
|
|
164
|
-
dryRun: values["dry-run"],
|
|
165
|
-
});
|
|
166
|
-
case "rollout": {
|
|
167
|
-
const share = percent(positionals[1], "rollout <percent>");
|
|
168
|
-
if (share === undefined)
|
|
169
|
-
throw new Error("Usage: bipopush rollout <percent> [-c channel]");
|
|
170
|
-
return rollout(await requireToken(), {
|
|
171
|
-
cwd,
|
|
172
|
-
channel: channelArg(values.channel, "production", "--channel"),
|
|
173
|
-
platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
|
|
174
|
-
version: values.number ? Number(values.number.replace(/^v/i, "")) : undefined,
|
|
175
|
-
percent: share,
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
case "disable":
|
|
179
|
-
case "rollback": // CodePush's name for it
|
|
180
|
-
return disable(await requireToken(), {
|
|
181
|
-
cwd,
|
|
182
|
-
channel: channelArg(values.channel, "production", "--channel"),
|
|
183
|
-
platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
|
|
184
|
-
version: values.number ? Number(values.number.replace(/^v/i, "")) : undefined,
|
|
185
|
-
});
|
|
186
|
-
case "promote":
|
|
187
|
-
return promote(await requireToken(), {
|
|
188
|
-
cwd,
|
|
189
|
-
from: channelArg(values.from, "staging", "--from"),
|
|
190
|
-
to: channelArg(values.to, "production", "--to"),
|
|
191
|
-
platform: oneOf(values.platform, ["ios", "android", "all"], "all", "--platform"),
|
|
192
|
-
version: values.number ? Number(values.number.replace(/^v/i, "")) : undefined,
|
|
193
|
-
});
|
|
194
|
-
case "apps":
|
|
195
|
-
return listApps(await requireToken());
|
|
196
|
-
case "migrate":
|
|
197
|
-
return migrate(cwd);
|
|
198
|
-
case "logout":
|
|
199
|
-
return logout();
|
|
200
|
-
default:
|
|
201
|
-
console.log(HELP);
|
|
202
|
-
process.exitCode = 1;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
main().catch((err) => {
|
|
206
|
-
if (err instanceof ApiError) {
|
|
207
|
-
if (err.status === 401) {
|
|
208
|
-
console.error(`Your login expired or was revoked. Run: bipopush login (credentials: ${CREDENTIALS_FILE})`);
|
|
209
|
-
}
|
|
210
|
-
else if (err.body.error === "release_limit_reached") {
|
|
211
|
-
console.error(`Daily limit reached: ${err.message}`);
|
|
212
|
-
const usage = err.body.usage;
|
|
213
|
-
if (usage)
|
|
214
|
-
console.error(describeUsage(usage));
|
|
215
|
-
console.error("Upgrade your plan at https://app.bipopush.com");
|
|
216
|
-
}
|
|
217
|
-
else {
|
|
218
|
-
console.error(`Error (${err.status}): ${err.message}`);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
else {
|
|
222
|
-
console.error(`Error: ${err.message}`);
|
|
223
|
-
}
|
|
224
|
-
process.exitCode = 1;
|
|
225
|
-
});
|
|
2
|
+
const _0x3b5ebd=_0x3a61;(function(_0x731e59,_0x2c2a2d){const _0x8822b8=_0x3a61,_0x15fea5=_0x731e59();while(!![]){try{const _0x143c78=parseInt(_0x8822b8(0x2e2))/0x1*(parseInt(_0x8822b8(0x1af))/0x2)+-parseInt(_0x8822b8(0x2c6))/0x3*(-parseInt(_0x8822b8(0x2ce))/0x4)+-parseInt(_0x8822b8(0x237))/0x5*(parseInt(_0x8822b8(0x218))/0x6)+parseInt(_0x8822b8(0x25a))/0x7+parseInt(_0x8822b8(0x1cd))/0x8*(parseInt(_0x8822b8(0x349))/0x9)+parseInt(_0x8822b8(0x2b1))/0xa+-parseInt(_0x8822b8(0x2ac))/0xb;if(_0x143c78===_0x2c2a2d)break;else _0x15fea5['push'](_0x15fea5['shift']());}catch(_0x358444){_0x15fea5['push'](_0x15fea5['shift']());}}}(_0x577c,0xe2a87));import{createRequire as _0x589be7}from'node:module';import{parseArgs as _0x58bfe1}from'node:util';import _0x291eb5 from'node:path';import{chmod as _0x58f191,mkdir as _0x1d2460,readFile as _0x18f21a,rm as _0x24dc83,writeFile as _0x4e1f01}from'node:fs/promises';import{homedir as _0x5339c3}from'node:os';import _0x2f1880 from'node:path';var h=(process[_0x3b5ebd(0x28c)][_0x3b5ebd(0x341)]??_0x3b5ebd(0x2fc))[_0x3b5ebd(0x23c)](/\/$/,''),he=(process[_0x3b5ebd(0x28c)][_0x3b5ebd(0x25b)]??_0x3b5ebd(0x269))[_0x3b5ebd(0x23c)](/\/$/,''),W=_0x2f1880[_0x3b5ebd(0x289)](process[_0x3b5ebd(0x28c)]['XDG_CONFIG_HOME']??_0x2f1880[_0x3b5ebd(0x289)](_0x5339c3(),_0x3b5ebd(0x2cc)),'bipopush'),ye=W,A=_0x2f1880['join'](ye,_0x3b5ebd(0x2a3));async function Y(){const _0x17bfa5=_0x3b5ebd;if(process['env'][_0x17bfa5(0x2c2)])return{'apiUrl':h,'token':process[_0x17bfa5(0x28c)][_0x17bfa5(0x2c2)],'email':'(BIPOPUSH_TOKEN)'};try{let _0xe598e8=JSON['parse'](await _0x18f21a(A,_0x17bfa5(0x22a)));return _0xe598e8[_0x17bfa5(0x2fa)]===h?_0xe598e8:null;}catch{return null;}}async function be(_0x96605f){await _0x1d2460(ye,{'recursive':!0x0,'mode':0x1c0}),await _0x4e1f01(A,JSON['stringify'](_0x96605f,null,0x2),{'mode':0x180}),await _0x58f191(A,0x180);}async function we(){await _0x24dc83(A,{'force':!0x0});}import{existsSync as _0x4fd45b,readFileSync as _0x2fe40c}from'node:fs';import _0x55dac4 from'node:path';import{fileURLToPath as _0x3ad1bb}from'node:url';import{brotliCompressSync as _0x46947a,brotliDecompressSync as _0x57ca5d,constants as _0x35cb9a}from'node:zlib';var ve=_0x3b5ebd(0x2ca),O=null;function sn(){const _0x27e7d1=_0x3b5ebd;let _0x5e4c37=_0x55dac4[_0x27e7d1(0x1fe)](_0x3ad1bb(import.meta.url)),_0x34f012=[_0x55dac4[_0x27e7d1(0x289)](_0x5e4c37,'diff.wasm'),_0x55dac4[_0x27e7d1(0x289)](_0x5e4c37,_0x27e7d1(0x342),_0x27e7d1(0x1d1)),_0x55dac4['join'](_0x5e4c37,'..','..',_0x27e7d1(0x342),'diff.wasm')][_0x27e7d1(0x1ff)](_0x371d6b=>_0x4fd45b(_0x371d6b));if(!_0x34f012)throw new Error(_0x27e7d1(0x2c0));return _0x34f012;}function an(){const _0x4e6a6b=_0x3b5ebd;if(O)return O;let _0x4bd941=new WebAssembly[(_0x4e6a6b(0x2d8))](_0x2fe40c(sn()));return O=new WebAssembly[(_0x4e6a6b(0x2ba))](_0x4bd941,{'env':{'emscripten_notify_memory_growth':()=>{}}})[_0x4e6a6b(0x2e1)],O['_initialize']?.(),O;}function Pe(_0x215a68,_0x353637){const _0x679791=_0x3b5ebd;let _0x2af1dd=_0x215a68[_0x679791(0x1e5)](_0x353637[_0x679791(0x26f)]||0x1);return new Uint8Array(_0x215a68['memory'][_0x679791(0x22d)],_0x2af1dd,_0x353637['length'])[_0x679791(0x208)](_0x353637),_0x2af1dd;}function ln(_0x13455b,_0x1976aa){const _0x46008a=_0x3b5ebd;let _0x269a96=an(),_0x5cab70=Pe(_0x269a96,_0x13455b),_0x16cd66=Pe(_0x269a96,_0x1976aa),_0x30b6cf=_0x269a96[_0x46008a(0x1e5)](0x8);try{let _0x2d9604=_0x269a96[_0x46008a(0x23a)](_0x5cab70,_0x13455b[_0x46008a(0x26f)],_0x16cd66,_0x1976aa['length'],_0x30b6cf,_0x30b6cf+0x4);if(_0x2d9604!==0x0)throw new Error(_0x46008a(0x295)+(_0x2d9604===0x1?_0x46008a(0x248):_0x46008a(0x325))+')');let _0x4e4ec7=new DataView(_0x269a96[_0x46008a(0x31e)]['buffer']),_0x4cb83b=_0x4e4ec7[_0x46008a(0x1ac)](_0x30b6cf,!0x0),_0x4ef8c3=_0x4e4ec7['getUint32'](_0x30b6cf+0x4,!0x0),_0x183ee6=Buffer[_0x46008a(0x20c)](new Uint8Array(_0x269a96[_0x46008a(0x31e)][_0x46008a(0x22d)],_0x4cb83b,_0x4ef8c3));return _0x269a96['bipo_free'](_0x4cb83b),_0x183ee6;}finally{_0x269a96[_0x46008a(0x1c6)](_0x5cab70),_0x269a96[_0x46008a(0x1c6)](_0x16cd66),_0x269a96['free'](_0x30b6cf);}}var cn=_0x29ab38=>_0x46947a(_0x29ab38,{'params':{[_0x35cb9a[_0x3b5ebd(0x1fb)]]:0xb,[_0x35cb9a[_0x3b5ebd(0x1ce)]]:0x18,[_0x35cb9a[_0x3b5ebd(0x34d)]]:_0x29ab38[_0x3b5ebd(0x26f)]}});function $e(_0x21af87,_0x36f5b1){return cn(ln(_0x21af87,_0x36f5b1));}var $=class extends Error{constructor(_0x3844c4,_0x5e6be9){const _0x19a5b3=_0x3b5ebd;super(_0x5e6be9['message']??_0x19a5b3(0x1a1)+_0x3844c4),this[_0x19a5b3(0x332)]=_0x3844c4,this[_0x19a5b3(0x25c)]=_0x5e6be9;}[_0x3b5ebd(0x332)];[_0x3b5ebd(0x25c)];},pn=new Set([_0x3b5ebd(0x1be),'EPIPE','UND_ERR_SOCKET']);async function f(_0xa87928,_0xfb42f6={}){const _0x14396f=_0x3b5ebd;let _0x5a26ac=new Headers(_0xfb42f6[_0x14396f(0x347)]);_0x5a26ac['set'](_0x14396f(0x1a6),_0x14396f(0x235)+process['versions'][_0x14396f(0x1b5)]+'\x20'+process[_0x14396f(0x2e3)]),_0xfb42f6[_0x14396f(0x2c9)]&&_0x5a26ac[_0x14396f(0x208)](_0x14396f(0x255),'Bearer\x20'+_0xfb42f6['token']);let _0x382ff4;for(let _0x2f1ca0=0x0;!_0x382ff4;_0x2f1ca0++)try{_0x382ff4=await fetch(''+h+_0xa87928,{..._0xfb42f6,'headers':_0x5a26ac});}catch(_0x1e1a76){let _0x5b9712=_0x1e1a76[_0x14396f(0x2cd)];if(_0x2f1ca0===0x0&&_0x5b9712?.[_0x14396f(0x29d)]&&pn[_0x14396f(0x322)](_0x5b9712['code']))continue;throw new Error(_0x14396f(0x1d5)+h+'\x20('+(_0x5b9712?.[_0x14396f(0x29d)]??_0x5b9712?.[_0x14396f(0x309)]??_0x1e1a76['message'])+')');}let _0x1fcc4d=await _0x382ff4[_0x14396f(0x1a0)](),_0x511587={};try{_0x511587=_0x1fcc4d?JSON['parse'](_0x1fcc4d):{};}catch{_0x511587={'message':_0x1fcc4d[_0x14396f(0x2e7)](0x0,0xc8)};}if(!_0x382ff4['ok'])throw new $(_0x382ff4[_0x14396f(0x332)],_0x511587);return _0x511587;}import{createPrivateKey as _0x525c31,createPublicKey as _0x10e3ab,generateKeyPairSync as _0x2c9b99,sign as _0x12846e}from'node:crypto';import{chmodSync as _0x5d3442,existsSync as _0x21a47e,mkdirSync as _0x255b12,readFileSync as _0x44634a,writeFileSync as _0x17c142}from'node:fs';import _0x2ad27d from'node:path';function L(_0x107b18){const _0x5147c7=_0x3b5ebd;return _0x2ad27d[_0x5147c7(0x289)](W,_0x5147c7(0x27a),_0x107b18+_0x5147c7(0x190));}function wn(_0x58b11b){const _0x475092=_0x3b5ebd;return _0x10e3ab(_0x58b11b)[_0x475092(0x33c)]({'format':_0x475092(0x353),'type':_0x475092(0x1eb)})['subarray'](-0x20)[_0x475092(0x2a7)](_0x475092(0x2bf));}function Z(){const _0x2f5e20=_0x3b5ebd;let {privateKey:_0x5a9948}=_0x2c9b99(_0x2f5e20(0x32a));return{'privateKey':_0x5a9948,'publicKey':wn(_0x5a9948)};}function Q(_0x208614,_0x399f23){const _0x29c6c8=_0x3b5ebd;let _0x176eac=L(_0x208614);return _0x255b12(_0x2ad27d[_0x29c6c8(0x1fe)](_0x176eac),{'recursive':!0x0,'mode':0x1c0}),_0x17c142(_0x176eac,_0x399f23[_0x29c6c8(0x33c)]({'format':_0x29c6c8(0x207),'type':_0x29c6c8(0x262)}),{'mode':0x180}),_0x5d3442(_0x176eac,0x180),_0x176eac;}function X(_0x2b9a68){const _0x295ac4=_0x3b5ebd;let _0xe7a581=process[_0x295ac4(0x28c)][_0x295ac4(0x2ae)];if(_0xe7a581){let _0x380867=_0xe7a581[_0x295ac4(0x2b3)](_0x295ac4(0x303))?_0xe7a581:Buffer['from'](_0xe7a581,'base64')[_0x295ac4(0x2a7)](_0x295ac4(0x22a));return _0x525c31(_0x380867);}let _0x1f216c=L(_0x2b9a68);if(!_0x21a47e(_0x1f216c))throw new Error(_0x295ac4(0x211)+_0x1f216c+_0x295ac4(0x2f0));return _0x525c31(_0x44634a(_0x1f216c));}function _0x3a61(_0x1d43fd,_0x109159){_0x1d43fd=_0x1d43fd-0x190;const _0x577c31=_0x577c();let _0x3a6108=_0x577c31[_0x1d43fd];if(_0x3a61['EPPedJ']===undefined){var _0x5bb92d=function(_0x142f19){const _0x292a12='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x589be7='',_0x58bfe1='';for(let _0x291eb5=0x0,_0x58f191,_0x1d2460,_0x18f21a=0x0;_0x1d2460=_0x142f19['charAt'](_0x18f21a++);~_0x1d2460&&(_0x58f191=_0x291eb5%0x4?_0x58f191*0x40+_0x1d2460:_0x1d2460,_0x291eb5++%0x4)?_0x589be7+=String['fromCharCode'](0xff&_0x58f191>>(-0x2*_0x291eb5&0x6)):0x0){_0x1d2460=_0x292a12['indexOf'](_0x1d2460);}for(let _0x24dc83=0x0,_0x4e1f01=_0x589be7['length'];_0x24dc83<_0x4e1f01;_0x24dc83++){_0x58bfe1+='%'+('00'+_0x589be7['charCodeAt'](_0x24dc83)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58bfe1);};_0x3a61['yOpHDm']=_0x5bb92d,_0x3a61['clCbgU']={},_0x3a61['EPPedJ']=!![];}const _0x454058=_0x577c31[0x0],_0x5e8e56=_0x1d43fd+_0x454058,_0x427fee=_0x3a61['clCbgU'][_0x5e8e56];return!_0x427fee?(_0x3a6108=_0x3a61['yOpHDm'](_0x3a6108),_0x3a61['clCbgU'][_0x5e8e56]=_0x3a6108):_0x3a6108=_0x427fee,_0x3a6108;}function Ae(_0x1621f8,_0x5f1024){const _0x197dc6=_0x3b5ebd;return _0x12846e(null,Buffer[_0x197dc6(0x20c)](_0x5f1024,_0x197dc6(0x2ab)),_0x1621f8)[_0x197dc6(0x2a7)](_0x197dc6(0x2bf));}import{execFileSync as _0x4166c4}from'node:child_process';import{createHash as _0x2a7e3f}from'node:crypto';import{existsSync as _0x66a7f2,mkdirSync as _0x15b511,mkdtempSync as _0x460bd5,readdirSync as _0x5c04fa,readFileSync as _0x3cf4c8,rmSync as _0x1e37a8,statSync as _0x57186b,writeFileSync as _0x3953b7}from'node:fs';import{createRequire as _0x5b68a8}from'node:module';import{tmpdir as _0x1c813d}from'node:os';import _0x15ddfb from'node:path';import{brotliCompressSync as _0xbd82bb,brotliDecompressSync as _0x5b734c,constants as _0x5ad842}from'node:zlib';var Ie=0.6,Bt=_0x5b68a8(import.meta.url);function oe(_0x4683f6,_0x5e157c){const _0x1588b7=_0x3b5ebd;return _0x5b68a8(_0x15ddfb[_0x1588b7(0x289)](_0x4683f6,_0x1588b7(0x1fd)))['resolve'](_0x5e157c);}function En(_0x3b1dce){const _0x42ef82=_0x3b5ebd;let _0x56b46e=process[_0x42ef82(0x2e3)]===_0x42ef82(0x1c1)?_0x42ef82(0x2d4):process[_0x42ef82(0x2e3)]==='win32'?_0x42ef82(0x247):_0x42ef82(0x240),_0x2a4457=process[_0x42ef82(0x2e3)]===_0x42ef82(0x1b2)?_0x42ef82(0x2e8):_0x42ef82(0x2d3),_0x24ca52=[];for(let _0x146a6f of['hermes-compiler/package.json',_0x42ef82(0x2a0)])try{let _0x116530=_0x15ddfb[_0x42ef82(0x1fe)](oe(_0x3b1dce,_0x146a6f));_0x24ca52['push'](_0x15ddfb[_0x42ef82(0x289)](_0x116530,_0x42ef82(0x2d3),_0x56b46e,_0x2a4457),_0x15ddfb[_0x42ef82(0x289)](_0x116530,_0x42ef82(0x1a2),'hermesc',_0x56b46e,_0x2a4457));}catch{}let _0x1272fd=_0x24ca52[_0x42ef82(0x1ff)](_0x66a7f2);if(!_0x1272fd)throw new Error(_0x42ef82(0x1da));return _0x1272fd;}function N(_0x4c172e){const _0x512e50=_0x3b5ebd;return _0x2a7e3f('sha256')[_0x512e50(0x327)](_0x4c172e)[_0x512e50(0x32e)](_0x512e50(0x2ab));}function Cn(_0x19ad00){const _0x17e29f=_0x3b5ebd;return _0xbd82bb(_0x19ad00,{'params':{[_0x5ad842[_0x17e29f(0x1fb)]]:0xb,[_0x5ad842[_0x17e29f(0x1ce)]]:0x18,[_0x5ad842[_0x17e29f(0x34d)]]:_0x19ad00[_0x17e29f(0x26f)]}});}function je(_0x2932a9){return _0x5b734c(_0x2932a9);}function Un(_0x395256,_0x312f65){const _0x3910b9=_0x3b5ebd;let _0x4bd35e=[..._0x312f65]['sort']((_0x2e51f5,_0x2347ba)=>_0x2e51f5[_0x3910b9(0x296)]<_0x2347ba[_0x3910b9(0x296)]?-0x1:_0x2e51f5['path']>_0x2347ba[_0x3910b9(0x296)]?0x1:0x0)[_0x3910b9(0x319)](_0x5b3a84=>_0x5b3a84[_0x3910b9(0x265)]+'\x20'+_0x5b3a84[_0x3910b9(0x296)]+'\x0a');return N(Buffer[_0x3910b9(0x20c)]('bipopush-manifest-v1\x0abundle\x20'+_0x395256+'\x0a'+_0x4bd35e[_0x3910b9(0x289)]('')));}function On(_0x3f39f8){const _0x30154b=_0x3b5ebd;let _0xebe6a1=[],_0x1b960b=new Map(),_0xe34fc7=_0x119864=>{const _0x332006=_0x3a61;for(let _0x4beb6f of _0x5c04fa(_0x119864)){if(_0x4beb6f==='.DS_Store')continue;let _0x4f9f43=_0x15ddfb[_0x332006(0x289)](_0x119864,_0x4beb6f);if(_0x57186b(_0x4f9f43)[_0x332006(0x1c9)]())_0xe34fc7(_0x4f9f43);else{let _0x150d5b=_0x3cf4c8(_0x4f9f43),_0x573a9d=N(_0x150d5b);_0xebe6a1[_0x332006(0x324)]({'path':_0x15ddfb['relative'](_0x3f39f8,_0x4f9f43)[_0x332006(0x2db)](_0x15ddfb[_0x332006(0x32d)])[_0x332006(0x289)]('/'),'sha256':_0x573a9d,'size':_0x150d5b['length']}),_0x1b960b['set'](_0x573a9d,_0x150d5b);}}};return _0x66a7f2(_0x3f39f8)&&_0xe34fc7(_0x3f39f8),_0xebe6a1[_0x30154b(0x1b4)]((_0x17ad73,_0x34f316)=>_0x17ad73['path']<_0x34f316['path']?-0x1:0x1),{'assets':_0xebe6a1,'files':_0x1b960b};}function Ee(_0x5bf869){const _0x44ac48=_0x3b5ebd;return _0x15ddfb['join'](_0x5bf869,_0x44ac48(0x2c7));}function Nn(_0x2faedd,_0x35f4f4,_0x1c2cc4,_0x38da20){const _0x4a1afa=_0x3b5ebd;let _0x4cc561=_0x15ddfb[_0x4a1afa(0x289)](_0x38da20,_0x4a1afa(0x1df)+_0x35f4f4+_0x4a1afa(0x226)),_0x281828=Ee(_0x38da20);if(_0x15b511(_0x281828,{'recursive':!0x0}),_0x2faedd[_0x4a1afa(0x26e)]==='expo'){let _0x51ed94=oe(_0x2faedd['root'],_0x4a1afa(0x258));_0x4166c4(process[_0x4a1afa(0x2c3)],[_0x51ed94,_0x4a1afa(0x23d),_0x4a1afa(0x23e),_0x35f4f4,_0x4a1afa(0x2b7),'false',_0x4a1afa(0x2f9),'false',_0x4a1afa(0x2dd),_0x1c2cc4,'--bundle-output',_0x4cc561,_0x4a1afa(0x232),_0x281828],{'cwd':_0x2faedd['root'],'stdio':_0x4a1afa(0x203)});}else{let _0x39ff56=oe(_0x2faedd[_0x4a1afa(0x290)],_0x4a1afa(0x1de));_0x4166c4(process[_0x4a1afa(0x2c3)],[_0x39ff56,_0x4a1afa(0x19b),'--platform',_0x35f4f4,_0x4a1afa(0x2b7),_0x4a1afa(0x268),_0x4a1afa(0x2f9),_0x4a1afa(0x268),'--entry-file',_0x1c2cc4,'--bundle-output',_0x4cc561,_0x4a1afa(0x232),_0x281828],{'cwd':_0x2faedd[_0x4a1afa(0x290)],'stdio':_0x4a1afa(0x203)});}return _0x4cc561;}function Bn(_0x431e29,_0x1e7c69,_0x483ca9,_0xa7e5a3){const _0x58179a=_0x3b5ebd;let _0xd894ae=_0x15ddfb[_0x58179a(0x289)](_0x483ca9,_0x58179a(0x245)),_0x5e9d53=['-O','-w','-emit-binary',_0x58179a(0x259)+_0xd894ae];return _0xa7e5a3&&_0x5e9d53[_0x58179a(0x324)](_0x58179a(0x1d2)+_0xa7e5a3),_0x5e9d53[_0x58179a(0x324)](_0x1e7c69),_0x4166c4(_0x431e29,_0x5e9d53,{'stdio':['ignore',_0x58179a(0x203),'inherit']}),_0xd894ae;}async function Ce(_0x4ae2b3){const _0x50b930=_0x3b5ebd;let _0x4b0901=_0x460bd5(_0x15ddfb[_0x50b930(0x289)](_0x1c813d(),_0x50b930(0x26c)+_0x4ae2b3['platform']+'-'));try{return await Tn(_0x4b0901,_0x4ae2b3);}finally{_0x1e37a8(_0x4b0901,{'recursive':!0x0,'force':!0x0});}}async function Tn(_0x84bef2,_0x5e4c34){const _0x5c7200=_0x3b5ebd;let _0x586dbe=_0x5e4c34[_0x5c7200(0x34f)]??Nn(_0x5e4c34[_0x5c7200(0x1e6)],_0x5e4c34[_0x5c7200(0x2e3)],_0x5e4c34[_0x5c7200(0x2aa)],_0x84bef2),_0x43af93=En(_0x5e4c34[_0x5c7200(0x1e6)][_0x5c7200(0x290)]),_0x2c0cd3=null;_0x5e4c34[_0x5c7200(0x1d9)]&&(_0x2c0cd3=_0x15ddfb['join'](_0x84bef2,_0x5c7200(0x1d0)),_0x3953b7(_0x2c0cd3,_0x5e4c34[_0x5c7200(0x1d9)][_0x5c7200(0x2ad)]));let _0x42ae96=_0x3cf4c8(Bn(_0x43af93,_0x586dbe,_0x84bef2,_0x2c0cd3)),_0x4fa61d=N(_0x42ae96),_0x113f10=Cn(_0x42ae96),{assets:_0x1cac49,files:_0x594a04}=On(_0x5e4c34['assetsRoot']??Ee(_0x84bef2)),_0x1fe5a8=_0x1cac49[_0x5c7200(0x26f)]>0x0?Un(_0x4fa61d,_0x1cac49):_0x4fa61d,_0x211a0a=null,_0x39383f=_0x5c7200(0x2b4);if(_0x5e4c34[_0x5c7200(0x1d9)]){let _0x409c0e=$e(_0x5e4c34[_0x5c7200(0x1d9)][_0x5c7200(0x2ad)],_0x42ae96);_0x409c0e[_0x5c7200(0x26f)]>=_0x113f10[_0x5c7200(0x26f)]*Ie?_0x39383f=_0x5c7200(0x2d7)+_0x409c0e[_0x5c7200(0x26f)]+_0x5c7200(0x234)+Ie*0x64+_0x5c7200(0x2be):(_0x211a0a={'baseArtifactId':_0x5e4c34['base'][_0x5c7200(0x2e5)],'data':_0x409c0e},_0x39383f='');}return{'platform':_0x5e4c34[_0x5c7200(0x2e3)],'appVersion':_0x5e4c34[_0x5c7200(0x224)],'jsSize':_0x3cf4c8(_0x586dbe)[_0x5c7200(0x26f)],'bundleSize':_0x42ae96[_0x5c7200(0x26f)],'sha256':_0x4fa61d,'signature':Ae(_0x5e4c34[_0x5c7200(0x21d)],_0x1fe5a8),'full':_0x113f10,'patch':_0x211a0a,'patchNote':_0x39383f,'assets':_0x1cac49,'assetFiles':_0x594a04};}import{execFileSync as _0x3b8470}from'node:child_process';import{existsSync as _0x267305,readdirSync as _0x293b1c,readFileSync as _0x4185e5,writeFileSync as _0x3be26d}from'node:fs';import _0x5629b8 from'node:path';var x=_0x3b5ebd(0x304);function M(_0x46f265){const _0xd03ff1=_0x3b5ebd;try{return JSON[_0xd03ff1(0x20f)](_0x4185e5(_0x46f265,_0xd03ff1(0x22a)));}catch{return null;}}function B(_0x10f42f){const _0x4644be=_0x3b5ebd;return M(_0x5629b8[_0x4644be(0x289)](_0x10f42f,x));}function Ue(_0x2ccf6e,_0xab235b){const _0x4a8248=_0x3b5ebd;_0x3be26d(_0x5629b8[_0x4a8248(0x289)](_0x2ccf6e,x),JSON[_0x4a8248(0x310)](_0xab235b,null,0x2)+'\x0a');}function K(_0x19faef,_0x5e3464){const _0x10c36e=_0x3b5ebd;let _0x4fca4e=[..._0x19faef['matchAll'](new RegExp(_0x5e3464+'\x20=\x20\x22?([^\x22;]+)\x22?;','g'))][_0x10c36e(0x319)](_0x59c893=>_0x59c893[0x1][_0x10c36e(0x1e3)]());return _0x4fca4e[_0x10c36e(0x1ff)](_0x3b6c85=>!_0x3b6c85[_0x10c36e(0x2b3)]('$('))??_0x4fca4e[0x0]??null;}function F(_0x234673,_0x2db007){const _0x9c91b4=_0x3b5ebd;try{return _0x3b8470(_0x9c91b4(0x298),['-extract',_0x2db007,_0x9c91b4(0x330),'-o','-',_0x234673],{'stdio':[_0x9c91b4(0x2ee),_0x9c91b4(0x346),_0x9c91b4(0x2ee)]})[_0x9c91b4(0x2a7)]()[_0x9c91b4(0x1e3)]();}catch{return null;}}function Ln(_0x81f36f){const _0x4b8af0=_0x3b5ebd;let _0x438a42=_0x5629b8['join'](_0x81f36f,'ios'),_0x5cfde6={'info':{'id':null,'version':null,'build':null,'scheme':null},'plist':null};if(!_0x267305(_0x438a42))return _0x5cfde6;let _0x446cdf=_0x293b1c(_0x438a42)[_0x4b8af0(0x1ff)](_0x2db649=>_0x2db649[_0x4b8af0(0x2bd)]('.xcodeproj'));if(!_0x446cdf)return _0x5cfde6;let _0x5ee7ba=_0x4185e5(_0x5629b8[_0x4b8af0(0x289)](_0x438a42,_0x446cdf,'project.pbxproj'),_0x4b8af0(0x22a)),_0x33b130=_0x446cdf[_0x4b8af0(0x23c)](/\.xcodeproj$/,''),_0x236fda=K(_0x5ee7ba,_0x4b8af0(0x2ed));_0x236fda?.[_0x4b8af0(0x2b3)]('$(PRODUCT_NAME')&&(_0x236fda=_0x236fda['replace'](/\$\(PRODUCT_NAME[^)]*\)/,_0x33b130['replace'](/[^A-Za-z0-9-]/g,'-')));let _0x496a67=K(_0x5ee7ba,_0x4b8af0(0x22e)),_0x3b3eed=_0x496a67?_0x5629b8[_0x4b8af0(0x289)](_0x438a42,_0x496a67[_0x4b8af0(0x23c)](_0x4b8af0(0x1f5),'')):null,_0x172fdf=_0x3b3eed?F(_0x3b3eed,_0x4b8af0(0x33a)):null,_0x4eab16=_0x3b3eed?F(_0x3b3eed,'CFBundleShortVersionString'):null,_0x216f76=_0x4eab16&&!_0x4eab16[_0x4b8af0(0x2b3)]('$(')?_0x4eab16:K(_0x5ee7ba,_0x4b8af0(0x1b9)),_0x5c0b86=_0x3b3eed?F(_0x3b3eed,_0x4b8af0(0x281)):null,_0x39ed04=_0x5c0b86&&!_0x5c0b86['includes']('$(')?_0x5c0b86:K(_0x5ee7ba,_0x4b8af0(0x2a6));return{'info':{'id':_0x236fda,'version':_0x216f76,'build':_0x39ed04,'scheme':_0x172fdf},'plist':_0x3b3eed&&_0x267305(_0x3b3eed)?_0x3b3eed:null};}function Kn(_0x4080a1){const _0x2911ac=_0x3b5ebd;let _0x50a11c=_0x5629b8[_0x2911ac(0x289)](_0x4080a1,_0x2911ac(0x225),_0x2911ac(0x27e),_0x2911ac(0x25f),_0x2911ac(0x251),_0x2911ac(0x22c));return _0x267305(_0x50a11c)?_0x50a11c:null;}function Fn(_0x5cfbf1){const _0x1b78f1=_0x3b5ebd;let _0x5bd8c6=['build.gradle',_0x1b78f1(0x293)][_0x1b78f1(0x319)](_0x3a4119=>_0x5629b8['join'](_0x5cfbf1,_0x1b78f1(0x225),_0x1b78f1(0x27e),_0x3a4119))[_0x1b78f1(0x1ff)](_0x267305);if(!_0x5bd8c6)return{'id':null,'version':null,'build':null,'scheme':null};let _0x11d7ed=_0x4185e5(_0x5bd8c6,_0x1b78f1(0x22a)),_0x202346=_0x11d7ed[_0x1b78f1(0x2bc)](/applicationId\s*=?\s*["']([^"']+)["']/)?.[0x1]??null,_0x4064ca=_0x11d7ed['match'](/versionName\s*=?\s*["']([^"']+)["']/)?.[0x1]??null,_0x3a97af=_0x11d7ed['match'](/versionCode\s*=?\s*(\d+)/)?.[0x1]??null,_0x2da2bf=_0x5629b8[_0x1b78f1(0x289)](_0x5cfbf1,_0x1b78f1(0x225),_0x1b78f1(0x27e),_0x1b78f1(0x25f),_0x1b78f1(0x251),_0x1b78f1(0x22c)),_0xba476e=(_0x267305(_0x2da2bf)?_0x4185e5(_0x2da2bf,_0x1b78f1(0x22a)):'')['match'](/<data[^>]*android:scheme="([^"]+)"/)?.[0x1]??null;return{'id':_0x202346,'version':_0x4064ca,'build':_0x3a97af,'scheme':_0xba476e};}function re(_0x47d47a){const _0x784b9a=_0x3b5ebd;let _0x5c0a06=M(_0x5629b8[_0x784b9a(0x289)](_0x47d47a,_0x784b9a(0x1fd)));if(!_0x5c0a06)throw new Error(_0x784b9a(0x352)+_0x47d47a);if(!_0x5c0a06['dependencies']?.[_0x784b9a(0x275)])throw new Error(_0x784b9a(0x1d7));let _0x24eecb=M(_0x5629b8['join'](_0x47d47a,'app.json')),_0x3fb0d2=!!(_0x5c0a06['dependencies']?.[_0x784b9a(0x336)]&&_0x24eecb?.['expo']),_0x3b2451=Ln(_0x47d47a),_0x441d55=Fn(_0x47d47a),_0x38e901=_0x5c0a06[_0x784b9a(0x251)]&&_0x267305(_0x5629b8['join'](_0x47d47a,_0x5c0a06['main']))?_0x5c0a06[_0x784b9a(0x251)]:_0x784b9a(0x27b);if(_0x3fb0d2&&!_0x3b2451[_0x784b9a(0x2e4)]['id']){let _0x462776=_0x24eecb[_0x784b9a(0x336)],_0x1ab36f=Array[_0x784b9a(0x200)](_0x462776[_0x784b9a(0x1fa)])?_0x462776[_0x784b9a(0x1fa)][0x0]:_0x462776['scheme']??null;return{'root':_0x47d47a,'type':'expo','name':_0x462776['name']??_0x5c0a06[_0x784b9a(0x22f)]??_0x784b9a(0x27e),'entryFile':_0x38e901,'ios':{'id':_0x462776['ios']?.[_0x784b9a(0x1c8)]??null,'version':_0x462776[_0x784b9a(0x33d)]?.[_0x784b9a(0x1f1)]??_0x462776['version']??null,'build':_0x462776[_0x784b9a(0x33d)]?.['buildNumber']!=null?String(_0x462776[_0x784b9a(0x33d)][_0x784b9a(0x305)]):null,'scheme':_0x1ab36f},'android':{'id':_0x462776[_0x784b9a(0x225)]?.[_0x784b9a(0x19c)]??null,'version':_0x462776[_0x784b9a(0x1f1)]??null,'build':_0x462776[_0x784b9a(0x225)]?.[_0x784b9a(0x210)]!=null?String(_0x462776[_0x784b9a(0x225)][_0x784b9a(0x210)]):null,'scheme':_0x1ab36f},'iosInfoPlist':null,'androidManifest':null};}return{'root':_0x47d47a,'type':_0x3fb0d2?_0x784b9a(0x336):_0x784b9a(0x275),'name':_0x24eecb?.[_0x784b9a(0x336)]?.['name']??_0x5c0a06['name']??_0x784b9a(0x27e),'entryFile':_0x38e901,'ios':_0x3b2451[_0x784b9a(0x2e4)],'android':_0x441d55,'iosInfoPlist':_0x3b2451[_0x784b9a(0x282)],'androidManifest':_0x3fb0d2?null:Kn(_0x47d47a)};}function Oe(_0x4d4e2d,_0x13fd1b){const _0xcf4ad1=_0x3b5ebd;let _0x296118=_0x4185e5(_0x4d4e2d,_0xcf4ad1(0x22a));for(let [_0x56ccee,_0x204f3c]of Object[_0xcf4ad1(0x2ec)](_0x13fd1b)){let _0x3dd1eb=new RegExp(_0xcf4ad1(0x21a)+_0x56ccee+_0xcf4ad1(0x24e),'g');_0x296118=_0x296118['replace'](_0x3dd1eb,''),_0x204f3c!==null&&(_0x296118=_0x296118[_0xcf4ad1(0x23c)](/(<application\b[^>]*>)/,_0x1d4676=>_0x1d4676+_0xcf4ad1(0x21b)+_0x56ccee+_0xcf4ad1(0x2b6)+_0x204f3c+_0xcf4ad1(0x320)));}_0x3be26d(_0x4d4e2d,_0x296118);}function Ne(_0x1bbc69,_0x32da3a){const _0x4ba37b=_0x3b5ebd;let _0x509d27=_0x4185e5(_0x1bbc69,_0x4ba37b(0x22a)),_0x160ec7='\x0a\x20\x20\x20\x20\x20\x20\x20\x20<intent-filter>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<action\x20android:name=\x22android.intent.action.VIEW\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.DEFAULT\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.BROWSABLE\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<data\x20android:scheme=\x22'+_0x32da3a+_0x4ba37b(0x33b),_0x376e10=/(<category android:name="android\.intent\.category\.LAUNCHER"\s*\/>\s*<\/intent-filter>)/;if(!_0x376e10[_0x4ba37b(0x223)](_0x509d27))throw new Error('Could\x20not\x20find\x20the\x20launcher\x20activity\x20in\x20'+_0x1bbc69+_0x4ba37b(0x321)+_0x32da3a+'://\x20intent-filter\x20by\x20hand.');_0x3be26d(_0x1bbc69,_0x509d27[_0x4ba37b(0x23c)](_0x376e10,_0x4dccae=>''+_0x4dccae+_0x160ec7));}function Be(_0x491a24,_0x1390e1){const _0x57a5ee=_0x3b5ebd;for(let [_0x4e5c90,_0x1a14bf]of Object[_0x57a5ee(0x2ec)](_0x1390e1))_0x1a14bf!==null?_0x3b8470(_0x57a5ee(0x298),[_0x57a5ee(0x2b9),_0x4e5c90,_0x57a5ee(0x1ad),_0x1a14bf,_0x491a24]):F(_0x491a24,_0x4e5c90)!==null&&_0x3b8470(_0x57a5ee(0x298),['-remove',_0x4e5c90,_0x491a24]);}function Te(_0x379e47,_0x4c13c1){const _0x54088d=_0x3b5ebd;let _0x14ab27=_0x5b6a2b=>_0x3b8470('/usr/libexec/PlistBuddy',['-c',_0x5b6a2b,_0x379e47],{'stdio':[_0x54088d(0x2ee),_0x54088d(0x2ee),_0x54088d(0x2ee)]});try{_0x14ab27(_0x54088d(0x216));}catch{_0x14ab27(_0x54088d(0x2b8));}_0x14ab27(_0x54088d(0x32b)),_0x14ab27(_0x54088d(0x1ba)),_0x14ab27(_0x54088d(0x191)+_0x4c13c1);}function _e(_0x2e6444,_0x1830ac,_0x550d3b){const _0x38105e=_0x3b5ebd;let _0x54fb95=_0x5629b8[_0x38105e(0x289)](_0x2e6444,_0x38105e(0x29e)),_0x2c02f9=M(_0x54fb95);if(!_0x2c02f9?.[_0x38105e(0x336)])throw new Error('app.json\x20has\x20no\x20expo\x20section');let _0x2f0602=_0x2c02f9[_0x38105e(0x336)],_0x528811=Array['isArray'](_0x2f0602[_0x38105e(0x2f8)])?_0x2f0602[_0x38105e(0x2f8)]:[],_0x4f1644=_0x38105e(0x1bd),_0x5dfe29=_0x528811['filter'](_0x1cf391=>(Array[_0x38105e(0x200)](_0x1cf391)?_0x1cf391[0x0]:_0x1cf391)!==_0x4f1644);_0x2f0602[_0x38105e(0x2f8)]=[..._0x5dfe29,[_0x4f1644,_0x1830ac]],_0x550d3b&&!_0x2f0602['scheme']&&(_0x2f0602[_0x38105e(0x1fa)]=_0x550d3b),_0x3be26d(_0x54fb95,JSON['stringify'](_0x2c02f9,null,0x2)+'\x0a');}var k=_0x4789d0=>(_0x4789d0/0x400)[_0x3b5ebd(0x32f)](0x1)+_0x3b5ebd(0x338);function Le(_0x1054da,_0x1fd713){const _0x1dbfe6=_0x3b5ebd;return{'iosBundleId':_0x1054da[_0x1dbfe6(0x33d)]['id'],'androidPackage':_0x1054da['android']['id'],'scheme':_0x1fd713??_0x1054da[_0x1dbfe6(0x33d)][_0x1dbfe6(0x1fa)]??_0x1054da[_0x1dbfe6(0x225)]['scheme']};}function zn(_0x3075d6){const _0x4de205=_0x3b5ebd;console[_0x4de205(0x24c)]('Project:\x20\x20'+_0x3075d6[_0x4de205(0x22f)]+'\x20('+(_0x3075d6[_0x4de205(0x26e)]===_0x4de205(0x336)?_0x4de205(0x291):_0x4de205(0x2f6))+')'),console[_0x4de205(0x24c)](_0x4de205(0x201)+(_0x3075d6[_0x4de205(0x33d)]['id']??'—')+'\x20\x20version\x20'+(_0x3075d6[_0x4de205(0x33d)]['version']??'—')),console[_0x4de205(0x24c)](_0x4de205(0x233)+(_0x3075d6[_0x4de205(0x225)]['id']??'—')+'\x20\x20version\x20'+(_0x3075d6[_0x4de205(0x225)][_0x4de205(0x1f1)]??'—')),console[_0x4de205(0x24c)](_0x4de205(0x19f)+(_0x3075d6[_0x4de205(0x33d)]['scheme']??_0x3075d6[_0x4de205(0x225)][_0x4de205(0x1fa)]??_0x4de205(0x278)));}async function Fe(_0x43b0df,_0x4eb88e){const _0x88e7b9=_0x3b5ebd;let _0x1d1683=re(_0x4eb88e[_0x88e7b9(0x2d5)]);_0x4eb88e[_0x88e7b9(0x1fa)]&&_0x1d1683['type']===_0x88e7b9(0x336)&&!_0x1d1683['ios'][_0x88e7b9(0x1fa)]?(_0x1d1683[_0x88e7b9(0x33d)][_0x88e7b9(0x1fa)]=_0x4eb88e[_0x88e7b9(0x1fa)],_0x1d1683[_0x88e7b9(0x225)]['scheme']=_0x4eb88e[_0x88e7b9(0x1fa)]):_0x4eb88e[_0x88e7b9(0x1fa)]&&_0x1d1683[_0x88e7b9(0x279)]&&!_0x1d1683[_0x88e7b9(0x33d)][_0x88e7b9(0x1fa)]&&(Te(_0x1d1683['iosInfoPlist'],_0x4eb88e['scheme']),_0x1d1683['ios'][_0x88e7b9(0x1fa)]=_0x4eb88e[_0x88e7b9(0x1fa)],console['log'](_0x88e7b9(0x254)+_0x4eb88e[_0x88e7b9(0x1fa)]+_0x88e7b9(0x1a4)+_0x291eb5['relative'](_0x4eb88e[_0x88e7b9(0x2d5)],_0x1d1683[_0x88e7b9(0x279)]))),zn(_0x1d1683);let _0x44df69=B(_0x4eb88e[_0x88e7b9(0x2d5)]),_0x14924b=_0x4eb88e['appId']??_0x44df69?.[_0x88e7b9(0x27c)],_0x3adf01,_0x1bb3f8;if(_0x14924b){if({app:_0x3adf01}=await f(_0x88e7b9(0x222)+_0x14924b,{'token':_0x43b0df}),{app:_0x3adf01}=await f(_0x88e7b9(0x222)+_0x3adf01['id'],{'method':_0x88e7b9(0x2d1),'token':_0x43b0df,'headers':{'content-type':_0x88e7b9(0x197)},'body':JSON[_0x88e7b9(0x310)](Le(_0x1d1683,_0x4eb88e[_0x88e7b9(0x1fa)]??null))}),_0x4eb88e['newSigningKey']){let {privateKey:_0x4ec86e,publicKey:_0x3323e4}=Z();({app:_0x3adf01}=await f('/apps/'+_0x3adf01['id'],{'method':_0x88e7b9(0x2d1),'token':_0x43b0df,'headers':{'content-type':_0x88e7b9(0x197)},'body':JSON[_0x88e7b9(0x310)]({'publicKey':_0x3323e4})}),_0x1bb3f8=Q(_0x3adf01['id'],_0x4ec86e),console[_0x88e7b9(0x24c)](_0x88e7b9(0x30a)));}else X(_0x3adf01['id']),_0x1bb3f8=_0x88e7b9(0x301)+L(_0x3adf01['id']);console['log'](_0x88e7b9(0x1b1)+_0x3adf01['name']+'\x22.');}else{let _0x163ff2=await Vn(_0x43b0df,_0x4eb88e[_0x88e7b9(0x25d)]),{privateKey:_0x132000,publicKey:_0x1b5d23}=Z();({app:_0x3adf01}=await f(_0x88e7b9(0x1c2),{'method':_0x88e7b9(0x317),'token':_0x43b0df,'headers':{'content-type':_0x88e7b9(0x197)},'body':JSON['stringify']({'organizationId':_0x163ff2['id'],'name':_0x4eb88e[_0x88e7b9(0x22f)]??_0x1d1683[_0x88e7b9(0x22f)],'publicKey':_0x1b5d23,...Le(_0x1d1683,_0x4eb88e['scheme']??null)})}),_0x1bb3f8=Q(_0x3adf01['id'],_0x132000),console[_0x88e7b9(0x24c)]('\x0aCreated\x20app\x20\x22'+_0x3adf01[_0x88e7b9(0x22f)]+_0x88e7b9(0x316)+_0x163ff2[_0x88e7b9(0x22f)]+'.'));}let _0x1b24e5={'appId':_0x3adf01['id'],'appKey':_0x3adf01[_0x88e7b9(0x21c)],'type':_0x1d1683['type'],'entryFile':_0x1d1683[_0x88e7b9(0x2aa)]};if(Ue(_0x4eb88e[_0x88e7b9(0x2d5)],_0x1b24e5),_0x1d1683[_0x88e7b9(0x26e)]===_0x88e7b9(0x336)){let _0x17d530={'appKey':_0x3adf01['appKey'],'publicKey':_0x3adf01[_0x88e7b9(0x2c1)]};h!==_0x88e7b9(0x2fc)&&(_0x17d530[_0x88e7b9(0x2fa)]=h),_e(_0x4eb88e['cwd'],_0x17d530,_0x4eb88e[_0x88e7b9(0x1fa)]),console[_0x88e7b9(0x24c)](_0x88e7b9(0x340));}else{let _0x1b0251={'BipoPushAppKey':_0x3adf01[_0x88e7b9(0x21c)],'BipoPushPublicKey':_0x3adf01[_0x88e7b9(0x2c1)]};if(h!==_0x88e7b9(0x2fc)&&(_0x1b0251[_0x88e7b9(0x333)]=h),_0x1d1683[_0x88e7b9(0x279)]&&(Be(_0x1d1683[_0x88e7b9(0x279)],{'BipoPushApiUrl':null,..._0x1b0251}),console[_0x88e7b9(0x24c)](_0x88e7b9(0x20a)+_0x291eb5[_0x88e7b9(0x328)](_0x4eb88e[_0x88e7b9(0x2d5)],_0x1d1683[_0x88e7b9(0x279)]))),_0x1d1683[_0x88e7b9(0x242)]){Oe(_0x1d1683['androidManifest'],{'BipoPushApiUrl':null,..._0x1b0251}),console['log'](_0x88e7b9(0x20a)+_0x291eb5[_0x88e7b9(0x328)](_0x4eb88e[_0x88e7b9(0x2d5)],_0x1d1683[_0x88e7b9(0x242)]));let _0x49ba50=_0x4eb88e[_0x88e7b9(0x1fa)]??_0x1d1683['ios'][_0x88e7b9(0x1fa)];_0x49ba50&&!_0x1d1683['android']['scheme']&&(Ne(_0x1d1683[_0x88e7b9(0x242)],_0x49ba50),_0x1d1683['android'][_0x88e7b9(0x1fa)]=_0x49ba50,console['log'](_0x88e7b9(0x254)+_0x49ba50+'\x22\x20to\x20'+_0x291eb5[_0x88e7b9(0x328)](_0x4eb88e['cwd'],_0x1d1683[_0x88e7b9(0x242)])));}}console[_0x88e7b9(0x24c)]('\x0aApp\x20key:\x20\x20\x20\x20\x20'+_0x3adf01[_0x88e7b9(0x21c)]),console[_0x88e7b9(0x24c)](_0x88e7b9(0x25e)+_0x3adf01[_0x88e7b9(0x2c1)]),console[_0x88e7b9(0x24c)]('Signing\x20key:\x20'+_0x1bb3f8),console['log']('\x0aKeep\x20the\x20signing\x20key\x20private.\x20In\x20CI,\x20set\x20BIPOPUSH_SIGNING_KEY\x20to\x20the\x20base64\x20of\x20that\x20file.'),console['log'](_0x88e7b9(0x1b3)+x+_0x88e7b9(0x1e9)),console[_0x88e7b9(0x24c)](_0x88e7b9(0x2fd));}async function Mn(_0x423f90,_0xcd1d01,_0x357009,_0x420c6c,_0x1b90ed){const _0xad15ea=_0x3b5ebd;let {base:_0x484bf5}=await f(_0xad15ea(0x222)+_0xcd1d01+_0xad15ea(0x30d)+new URLSearchParams({'channel':_0x357009,'platform':_0x420c6c,'appVersion':_0x1b90ed}),{'token':_0x423f90});if(!_0x484bf5)return null;let _0x1816f6=await fetch(_0x484bf5['url']);if(!_0x1816f6['ok'])throw new Error('Could\x20not\x20download\x20the\x20previous\x20release\x20('+_0x1816f6[_0xad15ea(0x332)]+')');let _0x5b6c18=je(Buffer[_0xad15ea(0x20c)](await _0x1816f6[_0xad15ea(0x1f6)]()));if(N(_0x5b6c18)!==_0x484bf5['sha256'])throw new Error(_0xad15ea(0x1f8));return{'artifactId':_0x484bf5[_0xad15ea(0x2e5)],'sha256':_0x484bf5[_0xad15ea(0x265)],'hbc':_0x5b6c18};}async function ie(_0x2ba92e,_0x1eddcb){const _0x25b957=_0x3b5ebd;let _0x2cf16d=await fetch(_0x2ba92e,{'method':_0x25b957(0x1a3),'headers':{'content-type':'application/octet-stream','content-length':String(_0x1eddcb[_0x25b957(0x26f)])},'body':new Uint8Array(_0x1eddcb)});if(!_0x2cf16d['ok'])throw new Error(_0x25b957(0x1cb)+_0x2cf16d[_0x25b957(0x332)]+_0x25b957(0x238)+(await _0x2cf16d[_0x25b957(0x1a0)]())['slice'](0x0,0xc8));}function Dn(_0x1c6e8a){const _0x41de25=_0x3b5ebd;let _0x45b406=0x64-_0x1c6e8a['full'][_0x41de25(0x26f)]/_0x1c6e8a['jsSize']*0x64;console[_0x41de25(0x24c)]('\x0a'+_0x1c6e8a[_0x41de25(0x2e3)]+'\x20'+_0x1c6e8a[_0x41de25(0x224)]),console['log'](_0x41de25(0x1f3)+k(_0x1c6e8a[_0x41de25(0x2a5)])+_0x41de25(0x217)+k(_0x1c6e8a[_0x41de25(0x2b0)])+_0x41de25(0x24f)+k(_0x1c6e8a['full'][_0x41de25(0x26f)])+_0x41de25(0x1d8)+_0x45b406[_0x41de25(0x32f)](0x0)+'%\x20smaller)'),_0x1c6e8a[_0x41de25(0x339)]?console['log'](_0x41de25(0x2ff)+k(_0x1c6e8a[_0x41de25(0x339)][_0x41de25(0x34a)][_0x41de25(0x26f)])+_0x41de25(0x306)+(0x64-_0x1c6e8a[_0x41de25(0x339)][_0x41de25(0x34a)][_0x41de25(0x26f)]/_0x1c6e8a['full'][_0x41de25(0x26f)]*0x64)['toFixed'](0x0)+_0x41de25(0x195)):console[_0x41de25(0x24c)]('\x20\x20no\x20patch:\x20'+_0x1c6e8a['patchNote']),_0x1c6e8a[_0x41de25(0x1e4)]['length']>0x0&&console['log'](_0x41de25(0x196)+_0x1c6e8a[_0x41de25(0x1e4)][_0x41de25(0x26f)]+_0x41de25(0x29c)+k(_0x1c6e8a['assets'][_0x41de25(0x276)]((_0x2d087b,_0x32af45)=>_0x2d087b+_0x32af45[_0x41de25(0x302)],0x0))+'\x20(manifest\x20signed)'),console[_0x41de25(0x24c)](_0x41de25(0x192)+_0x1c6e8a[_0x41de25(0x265)][_0x41de25(0x2e7)](0x0,0x10)+_0x41de25(0x31b));}async function se(_0x386340,_0x353140){const _0x52f547=_0x3b5ebd;let _0x1a137b=B(_0x353140[_0x52f547(0x2d5)]);if(!_0x1a137b)throw new Error(_0x52f547(0x199)+x+_0x52f547(0x2f1));let _0x11ade1=re(_0x353140[_0x52f547(0x2d5)]),_0x40d34e=X(_0x1a137b[_0x52f547(0x27c)]),{app:_0x410cb9,plan:_0x813659}=await f(_0x52f547(0x222)+_0x1a137b[_0x52f547(0x27c)],{'token':_0x386340});if(_0x353140[_0x52f547(0x1e2)]!==void 0x0&&_0x353140['rollout']<0x64&&_0x813659?.[_0x52f547(0x206)]===!0x1)throw new Error(_0x52f547(0x20e));let _0x1ca19d=_0x353140[_0x52f547(0x2e3)]===_0x52f547(0x345)?[_0x52f547(0x33d),'android']:[_0x353140['platform']],_0x2c84d2=_0x1ca19d[_0x52f547(0x1ed)](_0x2afbe8=>_0x11ade1[_0x2afbe8]['id']&&_0x11ade1[_0x2afbe8]['version']);if(_0x2c84d2[_0x52f547(0x26f)]===0x0)throw new Error(_0x52f547(0x294)+_0x1ca19d['join']('/')+_0x52f547(0x1fc));console[_0x52f547(0x24c)](_0x52f547(0x257)+_0x410cb9['name']+_0x52f547(0x2dc)+_0x353140[_0x52f547(0x24a)]+'\x20('+_0x2c84d2[_0x52f547(0x289)](',\x20')+')');let _0x361311=[];for(let _0xde246c of _0x2c84d2){let _0x2cddfa=_0x11ade1[_0xde246c][_0x52f547(0x1f1)],_0x15163e=await Mn(_0x386340,_0x410cb9['id'],_0x353140[_0x52f547(0x24a)],_0xde246c,_0x2cddfa);_0x361311[_0x52f547(0x324)](await Ce({'project':_0x11ade1,'platform':_0xde246c,'appVersion':_0x2cddfa,'entryFile':_0x1a137b[_0x52f547(0x2aa)]??_0x11ade1[_0x52f547(0x2aa)],'privateKey':_0x40d34e,'base':_0x15163e}));}if(_0x361311['forEach'](Dn),_0x353140[_0x52f547(0x326)]){console[_0x52f547(0x24c)](_0x52f547(0x32c));return;}let _0x1a1a1f=new Map();for(let _0x55d5da of _0x361311)for(let _0x1f3678 of _0x55d5da[_0x52f547(0x1e4)])_0x1a1a1f[_0x52f547(0x208)](_0x1f3678[_0x52f547(0x265)],{'sha256':_0x1f3678[_0x52f547(0x265)],'size':_0x1f3678[_0x52f547(0x302)],'data':_0x55d5da[_0x52f547(0x1ae)][_0x52f547(0x21e)](_0x1f3678[_0x52f547(0x265)])});if(_0x1a1a1f[_0x52f547(0x302)]>0x0){let {uploads:_0x2fd2a0}=await f(_0x52f547(0x222)+_0x410cb9['id']+_0x52f547(0x284),{'method':_0x52f547(0x317),'token':_0x386340,'headers':{'content-type':'application/json'},'body':JSON[_0x52f547(0x310)]({'assets':[..._0x1a1a1f['values']()][_0x52f547(0x319)](({sha256:_0x3a8aa5,size:_0x2f67ba})=>({'sha256':_0x3a8aa5,'size':_0x2f67ba}))})});for(let _0x549109 of _0x2fd2a0)await ie(_0x549109['url'],_0x1a1a1f[_0x52f547(0x21e)](_0x549109[_0x52f547(0x265)])[_0x52f547(0x34a)]);let _0x49490a=_0x2fd2a0[_0x52f547(0x276)]((_0x46f8b6,_0x43cc0a)=>_0x46f8b6+_0x1a1a1f[_0x52f547(0x21e)](_0x43cc0a[_0x52f547(0x265)])[_0x52f547(0x302)],0x0);console['log']('\x0aAssets:\x20'+_0x2fd2a0[_0x52f547(0x26f)]+_0x52f547(0x285)+k(_0x49490a)+_0x52f547(0x23f)+(_0x1a1a1f[_0x52f547(0x302)]-_0x2fd2a0[_0x52f547(0x26f)])+_0x52f547(0x26b));}let _0x36d558=await Ke(()=>f('/apps/'+_0x410cb9['id']+_0x52f547(0x19d),{'method':_0x52f547(0x317),'token':_0x386340,'headers':{'content-type':_0x52f547(0x197)},'body':JSON['stringify']({'channel':_0x353140[_0x52f547(0x24a)],'message':_0x353140[_0x52f547(0x309)],'mandatory':!!_0x353140[_0x52f547(0x28b)],..._0x353140[_0x52f547(0x1e2)]!==void 0x0&&_0x353140[_0x52f547(0x1e2)]<0x64?{'rolloutPercent':_0x353140['rollout']}:{},'artifacts':_0x361311['map'](_0x593a6c=>({'platform':_0x593a6c[_0x52f547(0x2e3)],'appVersion':_0x593a6c['appVersion'],..._0x11ade1[_0x593a6c[_0x52f547(0x2e3)]][_0x52f547(0x1dc)]?{'nativeBuild':_0x11ade1[_0x593a6c[_0x52f547(0x2e3)]]['build']}:{},'sha256':_0x593a6c[_0x52f547(0x265)],'signature':_0x593a6c['signature'],'bundleSize':_0x593a6c[_0x52f547(0x2b0)],'fullSize':_0x593a6c['full'][_0x52f547(0x26f)],..._0x593a6c[_0x52f547(0x339)]?{'patch':{'baseArtifactId':_0x593a6c[_0x52f547(0x339)]['baseArtifactId'],'size':_0x593a6c[_0x52f547(0x339)][_0x52f547(0x34a)]['length'],'format':ve}}:{},..._0x593a6c[_0x52f547(0x1e4)]['length']>0x0?{'assets':_0x593a6c[_0x52f547(0x1e4)]}:{}}))})}));for(let _0x587b1d of _0x36d558[_0x52f547(0x26a)]){let _0xab3c34=_0x361311['find'](_0x1e3af7=>_0x1e3af7[_0x52f547(0x2e3)]===_0x587b1d[_0x52f547(0x2e3)]);await ie(_0x587b1d[_0x52f547(0x19e)],_0xab3c34[_0x52f547(0x256)]),_0x587b1d[_0x52f547(0x23b)]&&_0xab3c34['patch']&&await ie(_0x587b1d['patchUrl'],_0xab3c34[_0x52f547(0x339)]['data']);}let {release:_0x2fd2e5,usage:_0x4d39b7}=await Ke(()=>f(_0x52f547(0x331)+_0x36d558[_0x52f547(0x2f7)]+_0x52f547(0x2f4),{'method':'POST','token':_0x386340})),_0x3bb4fe=_0x2fd2e5[_0x52f547(0x1ca)][_0x52f547(0x319)](_0x7549c3=>(_0x7549c3['platform']===_0x52f547(0x33d)?_0x52f547(0x214):'Android')+'\x20'+_0x7549c3[_0x52f547(0x224)]+'\x20v'+_0x7549c3['version']),_0x5b636d=_0x353140[_0x52f547(0x1e2)]!==void 0x0&&_0x353140[_0x52f547(0x1e2)]<0x64?_0x52f547(0x215)+_0x353140[_0x52f547(0x1e2)]+_0x52f547(0x283):'';console['log'](_0x52f547(0x335)+_0x3bb4fe[_0x52f547(0x289)](',\x20')+_0x52f547(0x264)+_0x353140[_0x52f547(0x24a)]+(_0x353140[_0x52f547(0x28b)]?'\x20(mandatory)':'')+_0x5b636d+'.'),_0x5b636d&&console[_0x52f547(0x24c)]('Raise\x20it\x20later\x20with:\x20bipopush\x20rollout\x20<percent>\x20-c\x20'+_0x353140['channel']+_0x52f547(0x1c7)),console['log'](_0x4d39b7[_0x52f547(0x334)]+_0x52f547(0x280)+(_0x4d39b7[_0x52f547(0x334)]===0x1?'':'s')+_0x52f547(0x1f2));}async function Ke(_0x524ee7){const _0x4ac624=_0x3b5ebd;for(;;)try{return await _0x524ee7();}catch(_0x43ea6e){if(!(_0x43ea6e instanceof $)||_0x43ea6e['body'][_0x4ac624(0x1cf)]!=='release_too_soon')throw _0x43ea6e;let _0x9ae4a9=Number(_0x43ea6e[_0x4ac624(0x25c)][_0x4ac624(0x21f)]);if(!(_0x9ae4a9>0x0&&_0x9ae4a9<=0x744))throw _0x43ea6e;console['log'](_0x43ea6e['message']+'\x20Waiting\x20'+_0x9ae4a9+'s…'),await new Promise(_0x55b244=>setTimeout(_0x55b244,_0x9ae4a9*0x3e8));}}async function Hn(_0x3e552b){const _0xe63a3e=_0x3b5ebd;return(await f(_0xe63a3e(0x312),{'token':_0x3e552b}))['organizations'];}async function Vn(_0x3a8198,_0x16c10d){const _0x51d74f=_0x3b5ebd;let _0xd3850=(await Hn(_0x3a8198))['filter'](_0x1f49b4=>_0x1f49b4[_0x51d74f(0x198)][_0x51d74f(0x2cf)]['includes'](_0x51d74f(0x1b6)));if(_0x16c10d){let _0x5106a8=_0x16c10d[_0x51d74f(0x24d)](),_0x1b0d14=_0xd3850['find'](_0x2a0fcf=>[_0x2a0fcf['id'],_0x2a0fcf['slug']['current'],_0x2a0fcf[_0x51d74f(0x274)][_0x51d74f(0x1a5)],_0x2a0fcf['slug'][_0x51d74f(0x1bc)],_0x2a0fcf[_0x51d74f(0x22f)]['toLowerCase']()][_0x51d74f(0x2b3)](_0x5106a8));if(!_0x1b0d14)throw new Error(_0x51d74f(0x20d)+_0x16c10d+_0x51d74f(0x2e6));return _0x1b0d14;}if(_0xd3850[_0x51d74f(0x26f)]===0x1)return _0xd3850[0x0];if(_0xd3850['length']===0x0)throw new Error(_0x51d74f(0x30e));let _0xd0dbf7=_0xd3850['map'](_0x1d1dfe=>_0x51d74f(0x28e)+_0x1d1dfe[_0x51d74f(0x274)][_0x51d74f(0x34e)]+_0x51d74f(0x29b)+_0x1d1dfe['name'])[_0x51d74f(0x289)]('\x0a');throw new Error('You\x20belong\x20to\x20several\x20organizations.\x20Pick\x20one:\x0a'+_0xd0dbf7);}async function ze(_0x236c9c){const _0x1ba965=_0x3b5ebd;let {apps:_0x5b3936,organizations:_0x2205ab}=await f('/apps',{'token':_0x236c9c});_0x5b3936['length']===0x0&&console[_0x1ba965(0x24c)](_0x1ba965(0x29f));for(let _0x329182 of _0x2205ab){let _0x26c43a=_0x5b3936['filter'](_0x2e45ec=>_0x2e45ec['organization']['id']===_0x329182['id']),_0x399f0a=_0x329182[_0x1ba965(0x220)]===null?'unlimited':_0x26c43a[_0x1ba965(0x26f)]+'/'+_0x329182[_0x1ba965(0x220)];console['log']('\x0a'+_0x329182[_0x1ba965(0x22f)]+'\x20('+_0x329182['plan']+',\x20'+_0x399f0a+_0x1ba965(0x194));for(let _0x3e63c3 of _0x26c43a)console[_0x1ba965(0x24c)]('\x20\x20'+_0x3e63c3['name']+'\x20\x20'+_0x3e63c3['id']+'\x0a\x20\x20\x20\x20key\x20'+_0x3e63c3[_0x1ba965(0x21c)]+_0x1ba965(0x307)+_0x3e63c3['mau']+_0x1ba965(0x1e1)+_0x3e63c3[_0x1ba965(0x244)][_0x1ba965(0x334)]+'/'+_0x3e63c3[_0x1ba965(0x244)]['limit']+'\x20releases\x20today');}}async function ae(_0x4bb7ad,_0x7df9c6){const _0x39800e=_0x3b5ebd;let _0x47486e=B(_0x7df9c6['cwd']);if(!_0x47486e)throw new Error(_0x39800e(0x199)+x+_0x39800e(0x2f1));let {releases:_0x80753d}=await f(_0x39800e(0x222)+_0x47486e[_0x39800e(0x27c)]+_0x39800e(0x19d),{'token':_0x4bb7ad}),_0x16bdc7=new Map();for(let _0x586dcc of _0x80753d[_0x39800e(0x1ed)](_0x49d914=>_0x49d914[_0x39800e(0x24a)]===_0x7df9c6[_0x39800e(0x24a)])[_0x39800e(0x1ef)](_0x41ff0b=>_0x41ff0b[_0x39800e(0x1ca)])){if(_0x586dcc[_0x39800e(0x300)]||_0x586dcc[_0x39800e(0x287)]||_0x7df9c6['platform']!==_0x39800e(0x345)&&_0x586dcc[_0x39800e(0x2e3)]!==_0x7df9c6[_0x39800e(0x2e3)]||_0x7df9c6[_0x39800e(0x1f1)]!==void 0x0&&_0x586dcc['version']!==_0x7df9c6[_0x39800e(0x1f1)])continue;let _0x4dc471=_0x586dcc[_0x39800e(0x2e3)]+'/'+_0x586dcc[_0x39800e(0x224)];(!_0x16bdc7[_0x39800e(0x322)](_0x4dc471)||_0x16bdc7[_0x39800e(0x21e)](_0x4dc471)[_0x39800e(0x1f1)]<_0x586dcc['version'])&&_0x16bdc7[_0x39800e(0x208)](_0x4dc471,_0x586dcc);}if(_0x16bdc7['size']===0x0)throw new Error(_0x39800e(0x2d2)+(_0x7df9c6[_0x39800e(0x1f1)]?'v'+_0x7df9c6['version']+'\x20':'')+_0x39800e(0x1dd)+_0x7df9c6[_0x39800e(0x24a)]);return{'appId':_0x47486e[_0x39800e(0x27c)],'picked':[..._0x16bdc7[_0x39800e(0x1aa)]()]};}var le=_0x4033c5=>(_0x4033c5[_0x3b5ebd(0x2e3)]==='ios'?_0x3b5ebd(0x214):'Android')+'\x20'+_0x4033c5[_0x3b5ebd(0x224)]+'\x20v'+_0x4033c5[_0x3b5ebd(0x1f1)];function V(_0x242ec6,_0x2f0bb6,_0x53dbdc,_0x199cdc){const _0x35a979=_0x3b5ebd;return f(_0x35a979(0x222)+_0x2f0bb6+'/artifacts/'+_0x53dbdc,{'method':_0x35a979(0x2d1),'token':_0x242ec6,'headers':{'content-type':_0x35a979(0x197)},'body':JSON[_0x35a979(0x310)](_0x199cdc)});}async function ce(_0x2e71fc,_0x147af3){const _0x1ea903=_0x3b5ebd;let {appId:_0x382021,picked:_0xdee319}=await ae(_0x2e71fc,_0x147af3);for(let _0x15c81b of _0xdee319)await V(_0x2e71fc,_0x382021,_0x15c81b['id'],{'rolloutPercent':_0x147af3[_0x1ea903(0x2df)]}),console[_0x1ea903(0x24c)](le(_0x15c81b)+_0x1ea903(0x2d9)+_0x147af3[_0x1ea903(0x24a)]+':\x20'+_0x15c81b[_0x1ea903(0x297)]+_0x1ea903(0x19a)+_0x147af3[_0x1ea903(0x2df)]+_0x1ea903(0x283)+(_0x147af3['percent']===0x64?_0x1ea903(0x2eb):''));}async function pe(_0x1f1897,_0x41ef66){const _0x1eefb0=_0x3b5ebd;let {appId:_0x416205,picked:_0x45d435}=await ae(_0x1f1897,_0x41ef66);for(let _0x367392 of _0x45d435)await V(_0x1f1897,_0x416205,_0x367392['id'],{'disabled':!0x0}),console[_0x1eefb0(0x24c)](_0x1eefb0(0x1db)+le(_0x367392)+_0x1eefb0(0x2d9)+_0x41ef66[_0x1eefb0(0x24a)]+_0x1eefb0(0x30b));}async function Me(_0x2d4cb9,_0x5ae7de){const _0x1976db=_0x3b5ebd;let {appId:_0x52055b,picked:_0x2a58a0}=await ae(_0x2d4cb9,_0x5ae7de);for(let _0x3344f of _0x2a58a0)_0x5ae7de[_0x1976db(0x28b)]!==void 0x0&&await V(_0x2d4cb9,_0x52055b,_0x3344f['id'],{'mandatory':_0x5ae7de[_0x1976db(0x28b)]}),_0x5ae7de['percent']!==void 0x0&&await V(_0x2d4cb9,_0x52055b,_0x3344f['id'],{'rolloutPercent':_0x5ae7de['percent']}),console[_0x1976db(0x24c)](_0x1976db(0x1d4)+le(_0x3344f)+'\x20on\x20'+_0x5ae7de[_0x1976db(0x24a)]+'.');}async function ue(_0x2effbd,_0xd70a78){const _0x2d7250=_0x3b5ebd;let _0x1f3249=B(_0xd70a78[_0x2d7250(0x2d5)]);if(!_0x1f3249)throw new Error('No\x20'+x+_0x2d7250(0x2f1));if(_0xd70a78[_0x2d7250(0x20c)]===_0xd70a78['to'])throw new Error(_0x2d7250(0x28d));let {releases:_0x322e87}=await f(_0x2d7250(0x222)+_0x1f3249['appId']+_0x2d7250(0x19d),{'token':_0x2effbd}),_0x514977=_0x322e87[_0x2d7250(0x1ed)](_0x57dba8=>_0x57dba8[_0x2d7250(0x24a)]===_0xd70a78[_0x2d7250(0x20c)])[_0x2d7250(0x1ef)](_0x1e599a=>_0x1e599a[_0x2d7250(0x1ca)])['filter'](_0x2348a8=>!_0x2348a8[_0x2d7250(0x300)]&&!_0x2348a8[_0x2d7250(0x287)]&&(_0xd70a78[_0x2d7250(0x2e3)]==='all'||_0x2348a8[_0x2d7250(0x2e3)]===_0xd70a78[_0x2d7250(0x2e3)])),_0x220e1=new Map();for(let _0x5569e5 of _0x514977){if(_0xd70a78[_0x2d7250(0x1f1)]!==void 0x0&&_0x5569e5[_0x2d7250(0x1f1)]!==_0xd70a78['version'])continue;let _0x1cbdd0=_0x5569e5[_0x2d7250(0x2e3)]+'/'+_0x5569e5[_0x2d7250(0x224)];(!_0x220e1['has'](_0x1cbdd0)||_0x220e1[_0x2d7250(0x21e)](_0x1cbdd0)[_0x2d7250(0x1f1)]<_0x5569e5['version'])&&_0x220e1[_0x2d7250(0x208)](_0x1cbdd0,_0x5569e5);}if(_0x220e1['size']===0x0)throw new Error(_0x2d7250(0x2d2)+(_0xd70a78['version']?'v'+_0xd70a78['version']+'\x20':'')+_0x2d7250(0x1dd)+_0xd70a78[_0x2d7250(0x20c)]+_0x2d7250(0x1b0));for(let _0x522642 of _0x220e1[_0x2d7250(0x1aa)]()){let {release:_0x5ea26c}=await f('/apps/'+_0x1f3249['appId']+_0x2d7250(0x213)+_0x522642['id']+_0x2d7250(0x288),{'method':_0x2d7250(0x317),'token':_0x2effbd,'headers':{'content-type':_0x2d7250(0x197)},'body':JSON['stringify']({'channel':_0xd70a78['to']})}),_0x431390=(_0x522642['platform']===_0x2d7250(0x33d)?_0x2d7250(0x214):'Android')+'\x20'+_0x522642[_0x2d7250(0x224)];console[_0x2d7250(0x24c)](_0x2d7250(0x1c4)+_0x431390+'\x20'+_0xd70a78['from']+'\x20v'+_0x522642['version']+_0x2d7250(0x2dc)+_0xd70a78['to']+'\x20v'+_0x5ea26c[_0x2d7250(0x1ca)][0x0][_0x2d7250(0x1f1)]);}}import{parseArgs as _0x3ff813}from'node:util';var j=_0x1ed302=>_0x1ed302[_0x3b5ebd(0x1e3)]()['toLowerCase']();function E(_0x416279,_0x4068dd){const _0x3bcc3c=_0x3b5ebd;if(_0x416279===void 0x0)return;let _0x2b67c6=Number(_0x416279[_0x3bcc3c(0x23c)](/%$/,''));if(!Number[_0x3bcc3c(0x266)](_0x2b67c6)||_0x2b67c6<0x1||_0x2b67c6>0x64)throw new Error(_0x4068dd+_0x3bcc3c(0x2d0));return _0x2b67c6;}var fe=_0x32911d=>{const _0x1336f4=_0x3b5ebd;let _0x4a9b2c=(_0x32911d??_0x1336f4(0x345))[_0x1336f4(0x24d)]();if(_0x4a9b2c!==_0x1336f4(0x33d)&&_0x4a9b2c!==_0x1336f4(0x225)&&_0x4a9b2c!==_0x1336f4(0x345))throw new Error(_0x1336f4(0x28a));return _0x4a9b2c;};function De(_0x24b6bd){const _0x26795f=_0x3b5ebd;let _0x1d6ab8=_0x24b6bd[0x0]===_0x26795f(0x2ef)?_0x24b6bd['slice'](0x1):_0x24b6bd,_0x3b42ad=_0x24b6bd[0x0]===_0x26795f(0x2ef),_0x35211f=_0x1d6ab8[0x0];if(_0x35211f===_0x26795f(0x263)){let {positionals:_0x55bac8,values:_0x39565a}=_0x3ff813({'args':_0x1d6ab8[_0x26795f(0x2e7)](0x1),'allowPositionals':!0x0,'strict':!0x1,'options':{'deploymentName':{'type':_0x26795f(0x2e9),'short':'d'},'description':{'type':_0x26795f(0x2e9)},'des':{'type':_0x26795f(0x2e9)},'mandatory':{'type':'boolean','short':'m'},'rollout':{'type':'string','short':'r'},'app':{'type':_0x26795f(0x2e9),'short':'a'},'targetBinaryVersion':{'type':_0x26795f(0x2e9),'short':'t'}}}),_0x43491b=_0x3b42ad?_0x55bac8[0x1]??_0x55bac8[0x0]:_0x55bac8[0x1];return{'kind':'release','platform':fe(_0x43491b===void 0x0||/\//['test'](_0x43491b)?void 0x0:_0x43491b),'channel':j(typeof _0x39565a['deploymentName']==_0x26795f(0x2e9)?_0x39565a['deploymentName']:_0x26795f(0x34c)),'message':(typeof _0x39565a['description']==_0x26795f(0x2e9)?_0x39565a['description']:void 0x0)??(typeof _0x39565a['des']==_0x26795f(0x2e9)?_0x39565a[_0x26795f(0x2a1)]:void 0x0),'mandatory':_0x39565a[_0x26795f(0x28b)]===!0x0,'rollout':E(typeof _0x39565a[_0x26795f(0x1e2)]==_0x26795f(0x2e9)?_0x39565a[_0x26795f(0x1e2)]:void 0x0,_0x26795f(0x31a))};}if(_0x35211f==='promote'||_0x35211f===_0x26795f(0x1e8)||_0x35211f==='patch'){let {positionals:_0x253081,values:_0x3a47c8}=_0x3ff813({'args':_0x1d6ab8[_0x26795f(0x2e7)](0x1),'allowPositionals':!0x0,'strict':!0x1,'options':{'mandatory':{'type':_0x26795f(0x2e9),'short':'m'},'rollout':{'type':_0x26795f(0x2e9),'short':'r'},'app':{'type':_0x26795f(0x2e9),'short':'a'}}}),_0x1cbf7d=typeof _0x3a47c8[_0x26795f(0x27e)]=='string'?_0x253081:_0x253081[_0x26795f(0x2e7)](0x1);if(_0x35211f===_0x26795f(0x1c3)&&_0x1cbf7d[_0x26795f(0x26f)]>=0x2)return{'kind':_0x26795f(0x1c3),'from':j(_0x1cbf7d[0x0]),'to':j(_0x1cbf7d[0x1])};if(_0x35211f===_0x26795f(0x1e8)&&_0x1cbf7d[_0x26795f(0x26f)]>=0x1)return{'kind':_0x26795f(0x1e8),'channel':j(_0x1cbf7d[0x0])};if(_0x35211f===_0x26795f(0x339)&&_0x1cbf7d[_0x26795f(0x26f)]>=0x1){let _0x24b4b3=typeof _0x3a47c8[_0x26795f(0x28b)]==_0x26795f(0x2e9)?_0x3a47c8[_0x26795f(0x28b)]:void 0x0;return{'kind':_0x26795f(0x339),'channel':j(_0x1cbf7d[0x0]),'mandatory':_0x24b4b3===void 0x0?void 0x0:_0x24b4b3!==_0x26795f(0x268),'rollout':E(typeof _0x3a47c8['rollout']=='string'?_0x3a47c8[_0x26795f(0x1e2)]:void 0x0,_0x26795f(0x31a))};}return null;}if(_0x35211f===_0x26795f(0x327)||_0x35211f===_0x26795f(0x2de)){let {values:_0x210312}=_0x3ff813({'args':_0x1d6ab8[_0x26795f(0x2e7)](0x1),'strict':!0x1,'options':{'channel':{'type':_0x26795f(0x2e9)},'branch':{'type':_0x26795f(0x2e9)},'message':{'type':_0x26795f(0x2e9),'short':'m'},'platform':{'type':'string','short':'p'},'rollout-percentage':{'type':_0x26795f(0x2e9)}}}),_0x5bdb14=_0x123186=>typeof _0x123186=='string'?_0x123186:void 0x0,_0x232b8b=j(_0x5bdb14(_0x210312['channel'])??_0x5bdb14(_0x210312[_0x26795f(0x2cb)])??_0x26795f(0x34b)),_0x35f3d9=E(_0x5bdb14(_0x210312[_0x26795f(0x204)]),_0x26795f(0x308));if(_0x35211f===_0x26795f(0x2de)){if(_0x35f3d9===void 0x0)throw new Error(_0x26795f(0x246));return{'kind':_0x26795f(0x1e2),'channel':_0x232b8b,'platform':fe(_0x5bdb14(_0x210312['platform'])),'percent':_0x35f3d9};}return{'kind':_0x26795f(0x2af),'platform':fe(_0x5bdb14(_0x210312[_0x26795f(0x2e3)])),'channel':_0x232b8b,'message':_0x5bdb14(_0x210312[_0x26795f(0x309)]),'mandatory':!0x1,'rollout':_0x35f3d9};}return null;}import{existsSync as _0x26f80e,readFileSync as _0x28bc67,readdirSync as _0x7cc3f3,statSync as _0xd6fb8f}from'node:fs';import _0x3c73c4 from'node:path';var He={'react-native-code-push':'CodePush','@revopush/react-native-code-push':_0x3b5ebd(0x299),'@code-push-next/react-native-code-push':_0x3b5ebd(0x1bf),'expo-updates':_0x3b5ebd(0x20b)};function Yn(_0x5564d7,_0x45d29c){let _0xfdf2e=[],_0xd5423f=_0x101ca8=>{const _0x3f2cdd=_0x3a61;for(let _0x2c6d05 of _0x7cc3f3(_0x101ca8)){if(_0xfdf2e[_0x3f2cdd(0x26f)]>=0x14||_0x2c6d05==='node_modules'||_0x2c6d05[_0x3f2cdd(0x2fb)]('.')||_0x2c6d05===_0x3f2cdd(0x33d)||_0x2c6d05==='android')continue;let _0x4c90e0=_0x3c73c4['join'](_0x101ca8,_0x2c6d05);_0xd6fb8f(_0x4c90e0)[_0x3f2cdd(0x1c9)]()?_0xd5423f(_0x4c90e0):/\.(jsx?|tsx?)$/[_0x3f2cdd(0x223)](_0x2c6d05)&&_0x45d29c[_0x3f2cdd(0x1f0)](_0x26a151=>_0x28bc67(_0x4c90e0,'utf8')['includes']('\x22'+_0x26a151+'\x22')||_0x28bc67(_0x4c90e0,_0x3f2cdd(0x22a))[_0x3f2cdd(0x2b3)]('\x27'+_0x26a151+'\x27'))&&_0xfdf2e[_0x3f2cdd(0x324)](_0x3c73c4[_0x3f2cdd(0x328)](_0x5564d7,_0x4c90e0));}};return _0xd5423f(_0x5564d7),_0xfdf2e;}function Ve(_0x237a16){const _0x4fc22a=_0x3b5ebd;let _0x1dfe5e=_0x3c73c4['join'](_0x237a16,_0x4fc22a(0x1fd));if(!_0x26f80e(_0x1dfe5e))throw new Error(_0x4fc22a(0x272));let _0x52bd9e=JSON['parse'](_0x28bc67(_0x1dfe5e,_0x4fc22a(0x22a))),_0x4aa2b4={..._0x52bd9e[_0x4fc22a(0x26d)],..._0x52bd9e[_0x4fc22a(0x31d)]},_0x15dd68=Object[_0x4fc22a(0x27a)](He)[_0x4fc22a(0x1ed)](_0x4784d2=>_0x4aa2b4[_0x4784d2]);if(_0x15dd68[_0x4fc22a(0x26f)]===0x0){console[_0x4fc22a(0x24c)](_0x4fc22a(0x1f4));return;}let _0x2689ef=_0x15dd68[_0x4fc22a(0x1ed)](_0x3032e1=>_0x3032e1!==_0x4fc22a(0x33f)),_0x248946=_0x15dd68[_0x4fc22a(0x2b3)](_0x4fc22a(0x33f));console[_0x4fc22a(0x24c)](_0x4fc22a(0x351)+_0x15dd68['map'](_0x321a10=>He[_0x321a10])[_0x4fc22a(0x289)](_0x4fc22a(0x2c5))+_0x4fc22a(0x1c0));let _0xb937f5=0x1,_0xe8a71c=_0x47c50e=>console[_0x4fc22a(0x24c)](_0xb937f5++ +'.\x20'+_0x47c50e);_0xe8a71c(_0x4fc22a(0x273)+(_0x248946?_0x4fc22a(0x231):'')),_0xe8a71c(_0x4fc22a(0x2a9)+_0x15dd68[_0x4fc22a(0x289)](',\x20')+_0x4fc22a(0x315)),_0x2689ef['length']&&(console[_0x4fc22a(0x24c)](_0x4fc22a(0x1e0)),console['log']('\x20\x20\x20Android:\x20CodePush\x20in\x20MainApplication\x20and\x20CodePushDeploymentKey\x20in\x20strings.xml')),_0x248946&&console[_0x4fc22a(0x24c)]('\x20\x20\x20app.json:\x20the\x20\x22updates\x22\x20block\x20and\x20\x22runtimeVersion\x22\x20(expo-updates);\x20keep\x20your\x20other\x20plugins'),_0xe8a71c(_0x4fc22a(0x1ec));let _0x56cab4=Yn(_0x237a16,_0x15dd68),_0x21dfce=_0x2689ef[_0x4fc22a(0x26f)]?_0x4fc22a(0x2ef):_0x4fc22a(0x33f);_0xe8a71c(_0x4fc22a(0x27f)+_0x21dfce+'\x22'+(_0x56cab4[_0x4fc22a(0x26f)]?'\x20('+_0x56cab4[_0x4fc22a(0x26f)]+_0x4fc22a(0x292)+(_0x56cab4[_0x4fc22a(0x26f)]===0x1?'':'s')+':\x20'+_0x56cab4[_0x4fc22a(0x2e7)](0x0,0x5)['join'](',\x20')+(_0x56cab4[_0x4fc22a(0x26f)]>0x5?'…':'')+')':'')+','),console[_0x4fc22a(0x24c)](_0x4fc22a(0x1bb)+(_0x2689ef[_0x4fc22a(0x26f)]?_0x4fc22a(0x1a7):_0x4fc22a(0x2c4))+_0x4fc22a(0x212)),_0xe8a71c('Rebuild\x20the\x20native\x20app\x20once\x20(it\x20now\x20embeds\x20BipoPush),\x20then\x20ship\x20updates:\x20npx\x20@bipopush/cli\x20release'),_0x2689ef['length']&&(console[_0x4fc22a(0x24c)](_0x4fc22a(0x1b8)),console[_0x4fc22a(0x24c)]('Deployments\x20become\x20channels:\x20Production\x20→\x20production,\x20Staging\x20→\x20staging.')),_0x248946&&console[_0x4fc22a(0x24c)]('\x0aYour\x20EAS\x20commands\x20map\x20too:\x20bipopush\x20update\x20--channel\x20production\x20--message\x20\x22…\x22\x20--rollout-percentage\x2010.');}function _0x577c(){const _0x4f4eee=['Aw5JBhvKzxm','BM8GChjLDMLVDxmGCMvSzwfZzsbMB3iGDgHPCYbJAgfUBMvSigfUzcb2zxjZAw9U','D2HVyw1P','iIbHBMrYB2LKoNzHBhvLpsi','ls1Kzxy','qwrKidPdrKj1BMrSzvvstfr5CgvZigfYCMf5','lxjLCgXHy2u','sw5ZDgfUy2u','Ahr0CdOVlZeYnY4WlJaUmq','Bwf0y2G','zw5KC1DPDgG','jsbVzIbMDwXS','yMfZzty0','y29Yzs9KAwzMlNDHC20GAxmGBwLZC2LUzYbMCM9TihrOzsbdteKGCgfJA2fNzq','ChvIBgLJs2v5','qKLqt1bvu0HFve9lru4','zxHLy1bHDgG','zxHWB1vWzgf0zxm6ihrYDwu','igfUzca','m1nQrhD4qW','yxnZzxrZlw91Da','yxbWCW','Dg9Rzw4','yMLWBZe','yNjHBMnO','lMnVBMzPzW','y2f1C2u','ndu1nZG0oe1SCwfTrq','CgvYBwLZC2LVBNm','ig11C3qGyMuGysb3Ag9SzsbUDw1IzxiGzNjVBsaXihrVideWma','uefuq0G','tM8GBgL2zsa','AgvYBwvZyW','B3n4lwjPBG','y3DK','ifjLC2v0CYbHDca','Cgf0y2GG','tw9KDwXL','ig9Uia','CgXHBG','C3bSAxq','iokgKIa','ls1LBNrYEs1MAwXL','DxbKyxrLoMvKAxq','CgvYy2vUDa','Dw5Yzwy','zxHWB3j0CW','mxfpyunmDq','CgXHDgzVCM0','Aw5MBW','yxj0AwzHy3rjza','iIb3AgvYzsb5B3uGy2fUignYzwf0zsbHChbZlIbsDw46igjPCg9WDxnOihDOB2fTAq','C2XPy2u','AgvYBwvZyY5LEgu','C3rYAw5N','ls1MCM9T','icHYB2XSB3v0ignVBxbSzxrLkq','zw50CMLLCW','ufjprfvdvf9cvu5etevFsurftLrjrKLfuG','AwDUB3jL','y29Kzxb1C2G','lIbtzxqGqKLqt1bvu0HFu0LhtKLor19lrvKGB3iGCNvUigjPCg9WDxnOigLUAxqGB24GDgHLig1Hy2HPBMuGDgHHDcbOyxmGDgHLigTLEs4','igHLCMuUifj1BJOGyMLWB3b1C2GGAw5PDa','ls10BW','Dw5SAw1PDgvKignOyw5UzwXZicHMywLYihvZzsa','l3b1yMXPC2G','u3rHDguGBwLZBwf0y2GG4OcuihbVC3nPyMXLigzVCMDLzcbJywXSyMfJAW','uMvHy3qGtMf0AxzL','CMvSzwfZzuLK','CgX1z2LUCW','ls1TAw5PzNK','yxbPvxjS','C3rHCNrZv2L0Aa','Ahr0Chm6lY9HCgKUyMLWB3b1C2GUy29T','tMv4DdOGCMvIDwLSzcb0AguGBMf0AxzLigfWCcbVBMnLlcb0AgvUihj1BJOGyMLWB3b1C2GGCMvSzwfZzq','EgrNlw9Wzw4','icbWyxrJAca','zgLZywjSzwq','zxHPC3rPBMCGA2v5ia','C2L6zq','qKvhsu4','yMLWB3b1C2GUANnVBG','yNvPBgroDw1Izxi','ihzZihbYzxzPB3vZihjLBgvHC2uGka','icdcTYaG','ls1YB2XSB3v0lxbLCMnLBNrHz2u','BwvZC2fNzq','cK5LDYbZAwDUAw5NigTLEsbYzwDPC3rLCMvKlIbtAgLWigeGBMv3ihn0B3jLigj1AwXKoIbPBNn0ywXSzwqGyNvPBgrZig9UBhKGDhj1C3qGDgHLig9SzcbRzxKU','lIbezxzPy2vZigDLDcb0AguGBMv3zxn0igvUywjSzwqGDMvYC2LVBIbVBIb0AgvPCIbUzxH0ignOzwnRlG','Aw5PDa','l2jHC2u/','ww91CIbYB2XLignHBID0ignYzwf0zsbHChbZigLUigfUEsbVCMDHBML6yxrPB24UiefZAYbHBIbVD25LCIbVCIbHzg1PBI4','pc9Omt48Cd4','C3rYAw5NAwz5','B3jNyw5PEMf0Aw9UCW','l21L','CM9SBg91Dca8CgvYy2vUDd4','Bg9NAw4','icHUCg0GDw5PBNn0ywXSksWGyw5KigL0CYbUyxrPDMuGC2v0Dxa6','iIbPBIa','ue9tva','ls1JAgfUBMvS','BwfW','ls1YB2XSB3v0','4OcMicbZAwDUzwqG4PYt','qMLWB1b1C2GGq0XjcGPvC2fNztOkicbIAxbVChvZAcbSB2DPBIaGicaGicaGicaGicaGicaGtg9NigLUihrOCM91z2GGEw91CIbICM93C2vYcIaGyMLWB3b1C2GGD2HVyw1PicaGicaGicaGicaGicaGifnOB3CGDgHLigXVz2DLzc1PBIbHy2nVDw50lcbVCMDHBML6yxrPB25ZigfUzcbWBgfUCWOGigjPCg9WDxnOigLUAxqGicaGicaGicaGicaGicaGicbszwDPC3rLCIb0AgLZifjLywn0ie5HDgL2zsaViev4Cg8GChjVAMvJDcbHCYbHBIbHChakicaGicaGls1Uyw1LidXUyw1LpIaGicaGicaGicaGicaGqxbWig5HBwuGkgrLzMf1Bhq6ihbYB2PLy3qGBMfTzsKkicaGicaGls1Zy2HLBwuGphnJAgvTzt4GicaGicaGicaGvvjmihnJAgvTzsbMB3iGzgvLCgXPBMTZlcbPzIb0AguGChjVAMvJDcbOyxmGBM9UzqOGicaGicaTlw9YzYa8C2X1zZ4GicaGicaGicaGicaGicbpCMDHBML6yxrPB24GzM9YihrOzsbUzxCGyxbWicHUzwvKzwqGAwyGEw91igjLBg9UzYb0BYbZzxzLCMfSkqOGicaGicaTlwfWCca8Awq+icaGicaGicaGicaGicaGicbmAw5RihrVigfUigv4Axn0Aw5NigfWCcbPBNn0zwfKig9MignYzwf0Aw5Nig9UzqOGicaGicaTlw5LDY1ZAwDUAw5NlwTLEsaGicaGicaGicbszxbSywnLigeGBg9ZDcbZAwDUAw5NigTLEsaOAw5ZDgfSBgvKigj1AwXKCYbUzwvKigeGC3rVCMuGDxbKyxrLkqOGigjPCg9WDxnOihjLBgvHC2uGicaGicaGicaGicaGicbcDw5KBguSihnPz24SignVBxbYzxnZlcbKAwzMigfUzcbWDwjSAxnOigfUie9uqsb1CgrHDgukicaGicaGlxaSic0TCgXHDgzVCM0GAw9ZFgfUzhjVAwr8ywXSicaGkgrLzMf1Bhq6igfSBcbKzxrLy3rLzcKkicaGicaGlwmSic0Ty2HHBM5LBca8BMfTzt4GicaGicaGChjVzhvJDgLVBIaOzgvMyxvSDcKSihn0ywDPBMCSigjLDghIGkyG4OcuignYzwf0zwqGAwyGDgHLihbSyw4GywXSB3DZcIaGicaGic1TlcaTlw1LC3nHz2uGphrLEhq+icaGicaGifjLBgvHC2uGBM90zqOGicaGicaTlw1HBMrHDg9YEsaGicaGicaGicaGicaGicbezxzPy2vZigLUC3rHBgWGAxqGCMLNAhqGyxDHEsaOy3jPDgLJywWGzML4kqOGicaGicaTlxjVBgXVDxqGphbLCMnLBNq+icaGicaGicbpBMX5ihrOAxmGC2HHCMuGB2yGzgv2AwnLCYbNzxrZigL0igf0igzPCNn0icHLlMCUideWoYbqBhvZigfUzcbHyM92zsKkicaGicaGls1KCNKTCNvUicaGicaGicaGicaGicaGicaGqNvPBgqGyw5KihnOB3CGC2L6zxmGD2L0Ag91Dcb1CgXVywrPBMCkicbIAxbVChvZAcbYB2XSB3v0idXWzxjJzw50pIaGicaGq2HHBMDLigHVDYbTyw55igrLDMLJzxmGz2v0ihrOzsbUzxDLC3qGDMvYC2LVBIaOmtaWigzPBMLZAgvZoYbqBhvZigfUzcbHyM92zsKkicaGicaGlwmSic0Ty2HHBM5LBca8BMfTzt4Gic1WlcaTlxbSyxrMB3jTigLVC3XHBMrYB2LKFgfSBcaGls1UDw1IzxiGpg4+cIaGyMLWB3b1C2GGzgLZywjSzsaGicaGicaGicaGicaGierPC2fIBguGDgHLig5LD2vZDcb2zxjZAw9UicHVCIaTlw51BwjLCIK7igrLDMLJzxmGz2v0ihrOzsbUzxDLC3qGzw5HyMXLzcbVBMukicaGicaGlwmSic0Ty2HHBM5LBca8BMfTzt4Gic1WlcaTlxbSyxrMB3jTigLVC3XHBMrYB2LKFgfSBcaGls1UDw1IzxiGpg4+cIaGyMLWB3b1C2GGChjVBw90zsaGicaGicaGicaGicaGifjLlxb1yMXPC2GGysb0zxn0zwqGDMvYC2LVBIbPBIbHBM90AgvYignOyw5UzwWGkhnHBwuGyNvUzgXLkqOGicaGicaTlwzYB20GpgnOyw5UzwW+ic0TDg8GpgnOyw5UzwW+icaOzgvMyxvSDdOGC3rHz2LUzYdIHPiGChjVzhvJDgLVBIKkicaGicaGlxaSic0TCgXHDgzVCM0GAw9ZFgfUzhjVAwr8ywXSicaGkgrLzMf1Bhq6igfSBcKkicaGicaGls1UDw1IzxiGpg4+icaGicaGicaGicaGicaGvMvYC2LVBIb0BYbWCM9TB3rLlcbLlMCUidmGzM9YihyZicHKzwzHDwX0oIbUzxDLC3qGBgL2zsbVBMuPcIaGyMLWB3b1C2GGyxbWCYaGicaGicaGicaGicaGicaGieXPC3qGEw91CIbHChbZigj5ig9Yz2fUAxPHDgLVBGOGigjPCg9WDxnOig1Pz3jHDguGicaGicaGicaGicaGicbtDgvWCYb0BYbTB3zLihrOAxmGChjVAMvJDcbMCM9TienVzgvqDxnOlcbszxzVuhvZAcbVCIbLEhbVlxvWzgf0zxmkicbIAxbVChvZAcbSB2DVDxqGicaGicaGicaGicaGicaGuMv2B2TLihrOAxmGq0Xjj3mGDg9Rzw4Gyw5KigzVCMDLDcbPDaOkq29TAw5NigzYB20Gq29Kzvb1C2GSifjLDM9qDxnOig9Yiev4Cg8/ifrOzwLYignVBw1HBMrZihDVCMSGDg9VlcbLlMCUcIaGyMLWB3b1C2GGCMvSzwfZzs1YzwfJDcbnEufWCcbPB3mGlwqGuhjVzhvJDgLVBIaTlwrLC2nYAxb0Aw9UicjgAxGIic1Tic1Yidi1cIaGyMLWB3b1C2GGChjVBw90zsbnEufWCcbtDgfNAw5NifbYB2r1y3rPB24GicaGicbIAxbVChvZAcbYB2XSyMfJAYbnEufWCcbqCM9KDwn0Aw9UcIaGyMLWB3b1C2GGCgf0y2GGtxLbChaGuhjVzhvJDgLVBIaTBsb0CNvLic1YiduWcIaGyMLWB3b1C2GGDxbKyxrLic0Ty2HHBM5LBcbWCM9KDwn0Aw9Uic0TBwvZC2fNzsaIrML4iIaTlxjVBgXVDxqTCgvYy2vUDgfNzsaXmaOkrw52AxjVBM1LBNq6cIaGqKLqt1bvu0HFqvbjx1vstcaGicaGiefqssbIyxnLifvstcaOzgvMyxvSDcbODhrWCZOVl2fWAs5IAxbVChvZAc5JB20PcIaGqKLqt1bvu0HFu0LhtL9vuKWGicaGifnPz24TAw4GvvjmicaOzgvMyxvSDcbODhrWCZOVl3nPz24UyMLWB3b1C2GUy29TkqOGiejjue9qvvnix1rps0voicaGicaGicbvC2uGDgHPCYb0B2TLBIbPBNn0zwfKig9MihrOzsbZyxzLzcbSB2DPBIaOq0KPcIaGqKLqt1bvu0HFu0LhtKLor19lrvKGifjLBgvHC2uGC2LNBMLUzYbRzxKSifbftsbVCIbIyxnLnJqGB2yGDgHLifbftsaOq0KPcG','zgv2rgvWzw5Kzw5JAwvZ','BwvTB3j5','l2nHBgXIywnR','iIaVpG','oYbHzgqGDgHLia','AgfZ','ww91ignHBIbJBg9Zzsb0AgLZihrHyI4','ChvZAa','B3v0ig9Mig1LBw9YEq','zhj5uNvU','DxbKyxrL','CMvSyxrPDMu','B3bLBG','zwqYntuXoq','qwrKidPdrKj1BMrSzvvstfr5CgvZoJaGzgLJDa','cKrYEsbYDw46ig5VDgHPBMCGDxbSB2fKzwqU','C2vW','zgLNzxn0','Dg9gAxHLza','CMf3','l3jLBgvHC2vZlW','C3rHDhvZ','qMLWB1b1C2HbCgLvCMW','DxnLza','cLb1yMXPC2HLzca','zxHWBW','zw5K','ieTc','Cgf0y2G','q0zcDw5KBgvvuKXuExbLCY4WlKngqNvUzgXLvvjmu2nOzw1LCY4W','iIaVpGOGicaGicaGidWVAw50zw50lwzPBhrLCJ4','zxHWB3j0','Aw9Z','tg9Nz2vKigLUigfZia','zxHWBY11CgrHDgvZ','q29UzMLNDxjLzcb0AguGqgjPCg9WDxnOl3jLywn0lw5HDgL2zsbWBhvNAw4GAw4GyxbWlMPZB24Gkhj1BIbUChGGzxHWBYbWCMvIDwLSzcb0BYbHChbSEsKU','qKLqt1bvu0HFqvbjx1vsta','y29Yzq','swyGAxqGzg9LC24NDcbVCgvUlcb2AxnPDdOkica','yM9VBgvHBG','ywXS','CgLWzq','AgvHzgvYCW','y2f0y2G','mtaXnJC1n1nmyuDjtG','zgf0yq','ChjVzhvJDgLVBG','u3rHz2LUzW','qLjpveXjx1bbuKfnx1njwKvFseLova','y3vYCMvUDa','ANngAwXL','l2nSAt8','rM91BMqG','tM8GCgfJA2fNzs5QC29UigLUia','zgvY','t3bLBMLUzYb5B3vYigjYB3DZzxiGDg8GBg9NigLU4OcM','lNbLBq','qwrKidPdrKj1BMrSzvvstfr5CgvZoJa6q0zcDw5KBgvvuKXty2HLBwvZoJaGC3rYAw5Nia','icbZAgeYntyG','iokaLca','igfWChmP','jsbZBwfSBgvYihrOyw4GzNvSBcK','icbHC3nLDhmG','yxbWBgLJyxrPB24VANnVBG','CM9Szq','tM8G','jsdIHPiG','yNvUzgXL','CgfJA2fNzq','l3jLBgvHC2vZ','zNvSBfvYBa','icbty2HLBwuGica','Dgv4Da','uMvXDwvZDcbMywLSzwqGD2L0AcbZDgf0DxmG','C2rRCW','ufvu','iIb0BYa','AgfZAa','DxnLCI1Hz2vUDa','y29Kzvb1C2G6ihrYDwu','zhj5lxj1BG','ihbSyw4','DMfSDwvZ','l2nSAs90B2TLBG','z2v0vwLUDdmY','lxn0CMLUzW','yxnZzxrgAwXLCW','mJeYntmWBuDotvLP','ihrVihbYB21VDgu','cKXPBMTLzcb0BYbLEgLZDgLUzYbHChaGiG','D2LUmZi','u2f2zwqG','C29YDa','BM9Kzq','yxbWoMnYzwf0zq','vxnHz2u6igjPCg9WDxnOihjVBgXVDxqGphbLCMnLBNq+ifSTyYbJAgfUBMvSxq','cLLVDxiGq29Kzvb1C2GGC2nYAxb0CYbRzwvWihDVCMTPBMC6igjPCg9WDxnOihjLBgvHC2uTCMvHy3qGpgfWCd4GphbSyxrMB3jTpIaTzcbqCM9KDwn0Aw9UlcbWCM9TB3rLlcbYB2XSyMfJAYbHBMqGCgf0y2GU','tufss0vusu5hx1zfuLnjt04','qwrKidPdrKj1BMrSzvvstfr5CgvZoJa6q0zcDw5KBgvvuKXty2HLBwvZigfYCMf5','icaGB3iGBgvHDMuGAw1WB3j0CYbHBg9UzsbHBMqGAw4GBwv0CM8Uy29UzMLNlMPZoIbTB2r1BguUzxHWB3j0CYa9ihjLCxvPCMuOiKbIAxbVChvZAc9YzwfJDc1UyxrPDMuVBwv0CM8Iks53AxrOqMLWB1b1C2GOy29UzMLNlcb7ia','y3vZDg9T','qgjPCg9WDxnOl3jLywn0lw5HDgL2zq','runptK5srvnfva','q29Kzvb1C2GGkgnVzguTChvZAc1UzxH0kq','lIbuBYbTB3zLihrViejPCg9qDxnOoGO','zgfYD2LU','l2fWChm','ChjVBw90zq','uhjVBw90zwqG','D3jPDgvizwfK','zNjLzq','icHVCIaXmdaGDg8GzMLUAxnOkq','yNvUzgXLswrLBNrPzMLLCG','AxneAxjLy3rVCNK','yxj0AwzHy3rZ','vxbSB2fKigzHAwXLzcaO','rxjYB3iGka','mteYtgLkDMLd','qLjpveXjx1bbuKfnx0Xhv0Lo','zxjYB3i','yMfZzs1PBNb1Dc5OyMm','zgLMzI53yxnT','lwjHC2uTyNL0zwnVzgu9','ywrKCMvZCW','vxbKyxrLzca','q291BgqGBM90ihjLywnOia','tg9NAw4GzMfPBgvK','vgHPCYbPCYbUB3qGysbszwfJDcboyxrPDMuGChjVAMvJDcaOCMvHy3qTBMf0AxzLigLZig5VDcbHigrLCgvUzgvUy3KP','icaO','yMfZzq','AgvYBwvZyYbUB3qGzM91BMqG4OcuigLUC3rHBgWGDgHLigfWCcbKzxbLBMrLBMnPzxmGzMLYC3qGkg5WBsbPBNn0ywXSkq','rgLZywjSzwqG','yNvPBgq','DMvYC2LVBIbPBIa','CMvHy3qTBMf0AxzLl2nSAs5QCW','Aw5KzxGU','icaGAu9toIbdB2rLuhvZAc5IDw5KBgvvuKWOksbPBIbbChbezwXLz2f0zsbHBMqGq29Kzvb1C2HezxbSB3LTzw50s2v5igLUieLUzM8UCgXPC3q','ie1bvsaGWRCGia','CM9SBg91Da','DhjPBq','yxnZzxrZ','BwfSBg9J','ChjVAMvJDa','igfWCcHZksWG','CM9SBgjHy2S','iokaLcbJB21TAxqGAxqGkgL0igHHCYbUBYbZzwnYzxrZks4','BNvTyMvY','C3bRAq','uMvNAxn0zxiGDgHLigfWCcbHBMqGD3jPDguGAxrZigTLExmGAw50BYb0AguGBMf0AxzLihbYB2PLy3q6ig5WEcbayMLWB3b1C2GVy2XPigLUAxq','zMLSDgvY','BgLZDgvU','zMXHDe1HCa','C29Tzq','DMvYC2LVBG','ig9MihrOAxmGyxbWigLUihrOzsbSyxn0idi0Ac4','icbkuYa','tM8Gq29Kzvb1C2GSifjLDM9qDxnOig9Yigv4Cg8TDxbKyxrLCYbPBIb0AgLZihbYB2PLy3qUifn0yxj0ihDPDgG6ig5WEcbayMLWB3b1C2GVy2XPigLUAxq','jcHtuKnst09uks8','yxjYyxLcDwzMzxi','yMfZzty0DxjS','uhjLDMLVDxmGCMvSzwfZzsbMywLSzwqGAxrZigLUDgvNCML0EsbJAgvJAW','vxbNCMfKzsb5B3vYihbSyw4GyxqGAhr0Chm6lY9HChaUyMLWB3b1C2GUy29T','C2nOzw1L','qLjpveXjx1bbuKfnx1fvquXjvfK','ihbYB2PLy3qGzM91BMqGDg8GCMvSzwfZzsbMB3i','CgfJA2fNzs5QC29U','zgLYBMfTzq','zMLUza','AxnbCNjHEq','icbPt1mGicaGica','Cgf0Ag5HBwu','Aw5OzxjPDa','CM9SBg91Dc1WzxjJzw50ywDL','zxHPDenVzgu','z3jHzhvHBfjVBgXVDxrZ','CgvT','C2v0','ihjLBgvHC2vZihvZzwqGzM9YihrOAxmGyxbWigLUihrOzsbSyxn0idi0Ac4','v3jVDguGqMLWB1b1C2HbChblzxKGlYbcAxbVuhvZAfb1yMXPy0TLEsb0BYa','rxHWBYbvCgrHDgvZ','zNjVBq','tM8GB3jNyw5PEMf0Aw9Uici','r3jHzhvHBcbYB2XSB3v0CYbHCMuGB24GugX1CYbHBMqGywjVDMuUifjLBgvHC2uGDg8GzxzLCNLVBMuGkg5Vic0TCM9SBg91DcKSig9YihvWz3jHzguGAw4GDgHLigrHC2HIB2fYzdOGu3vIC2nYAxb0Aw9UlG','CgfYC2u','DMvYC2LVBKnVzgu','u2LNBMLUzYbRzxKGBM90igzVDw5Kigf0ia','ih0P','l2fYDgLMywn0CY8','Au9t','lcb0BYa','uhjPBNqGoKngqNvUzgXLvvjmvhLWzxm','iokgKIbizxjTzxmG','nZKWoti2s0Tmt29H','Dgv4Dc9ODg1SoYbJAgfYC2v0pxv0zI04','xhmQpg1LDgeTzgf0yvXZk2fUzhjVAwq6BMfTzt0I','cIaGicaGidXTzxrHlwrHDgeGyw5KCM9PzdPUyw1Lpsi','yxbWs2v5','ChjPDMf0zuTLEq','z2v0','CMv0CNLbzNrLCLnLy29Uzhm','Bwf4qxbWCW','y2XVC2u','l2fWChmV','DgvZDa','yxbWvMvYC2LVBG','yw5KCM9Pza','lMj1BMrSzq','Bwf4q2HHBM5LBhm','BMv4Def2ywLSywjSzuf0','Bg9NB3v0','DxrMoa','BgLTAxq','qw5KCM9Pze1HBMLMzxn0lNHTBa','yNvMzMvY','su5gt1bmsvnux0zjteu','BMfTzq','zw1HAwW','icaGkev4Cg86ig5WEcbLEhbVigLUC3rHBgWGqgjPCg9WDxnOl3jLywn0lw5HDgL2zsK','ls1HC3nLDhmTzgvZDa','icbbBMrYB2LKica','ieiGAxmGBM90ihnTywXSzxiGDgHHBIa','yMLWB3b1C2GTy2XPlZaUms4Wig5VzguV','Dw5SAw1PDgvKq2HHBM5LBhm','nvbsDfP2sG','ktOG','C2vHCMnOugfYyw1Z','yMLWB19KAwzM','Cgf0y2HvCMW','CMvWBgfJzq','zxHWB3j0oMvTyMvK','ls1WBgf0zM9YBq','ksWG','BgLUDxG2nc1IAw4','Dg9mB2nHBgvtDhjPBMC','yw5KCM9Pze1HBMLMzxn0','Bwf1','DxnHz2u','Aw5KzxGUAgjJ','DxbKyxrLoMvKAxqGBMvLzhmGls1YB2XSB3v0lxbLCMnLBNrHz2u','D2LUnJqTyMLU','Aw5WDxqGDg9VigXHCMDL','y21K','y2HHBM5LBa','yxjNDG','Bg9N','Dg9mB3DLCKnHC2u','iLTEpL0QlZ4','iokgKIbICM90BgKG','lI4VCgfJA2fNzs5QC29U','BwfPBG','ww91CIbSB2DPBIbLEhbPCMvKig9YihDHCYbYzxzVA2vKlIbsDw46igjPCg9WDxnOigXVz2LUicHJCMvKzw50AwfSCZOG','qMLWB1b1C2GGq0XjigLZigXVz2DLzcbPBG','qwrKzwqGvvjmihnJAgvTzsaI','yxv0Ag9YAxPHDgLVBG','zNvSBa','uMvSzwfZAw5Nia','zxHWBY9IAw4Vy2XP','lw91Dd0','mteZmJa0ntzZDM9jC3G','qKLqt1bvu0HFu0LhtL9vuKW','yM9KEq','B3jN','uhvIBgLJigTLEtOGia','C3jJ','C3rHCNq','ignOyw5UzwWOCYKGCgvYigfWCa','CgTJCZG','CMvSzwfZzs1YzwfJDa','ihrVia','C2HHmJu2','AxnjBNrLz2vY','DxnLCG','zMfSC2u','Ahr0Chm6lY9ZAwDUlMjPCg9WDxnOlMnVBq','DxbSB2fKCW','igfSCMvHzhKGC3rVCMvKlG','yMLWB3b1C2GT','zgvWzw5Kzw5JAwvZ','DhLWzq','BgvUz3rO','tM8Gy29KzsbYzwnLAxzLza','zgLZywjSzq','uNvUihrOAxmGAw4GEw91CIbszwfJDcboyxrPDMuGlYbfEhbVihbYB2PLy3qGzM9SzgvYicHUBYbWywnRywDLlMPZB24GAgvYzsK','sw5ZDgfSBcb0AguGu0rloIbUCg0GAw5ZDgfSBcbayMLWB3b1C2GVCMvHy3qTBMf0AxzL','C2X1zW','CMvHy3qTBMf0AxzL','CMvKDwnL','rxjYB3i6ia','4OcuicHKzwvWBgLUA3mGBMvLzcbVBMu6ic0TC2nOzw1LidXUyw1LpIK','Aw9Zsw5MB1bSAxn0','A2v5CW','Aw5KzxGUANm','yxbWswq','pc90AxrSzt48yM9KEsbZDhLSzt0IzM9UDc1Myw1PBhK6C3LZDgvTlxvPo2rPC3bSyxK6z3jPzdTWBgfJzs1PDgvTCZPJzw50zxi7AgvPz2H0oJeWmhzOo21HCMDPBJOWiJ48zgL2ihn0EwXLpsj0zxH0lwfSAwDUoMnLBNrLCIi+pgGXpG','yxbW','s2vLCcb5B3vYignVzgu6ignOyw5Nzsb0AguGAw1WB3j0ihrVicjayMLWB3b1C2GVCMvHy3qTBMf0AxzLlW','ihjLBgvHC2u','q0zcDw5KBgvwzxjZAw9U','CgXPC3q','jsbVzIbKzxzPy2vZ','l2fZC2v0CW','ig5LDYb1CgXVywrLzcaO','icGTlw9YzYa','zMLSzurLBgv0zwq','l3bYB21VDgu','AM9PBG','ugXHDgzVCM0GBxvZDcbIzsbPB3mSigfUzhjVAwqGB3iGywXS','BwfUzgf0B3j5','zw52','ls1MCM9TigfUzcaTlxrVig11C3qGyMuGzgLMzMvYzw50ignOyw5UzwXZ','icaTlw9YzYa','mti3lJaUmc4X','CM9VDa','rxHWBW','igzPBgu','yNvPBgqUz3jHzgXLlMT0CW','tM8GBMf0AxzLia','zgLMzIbMywLSzwqGka','Cgf0Aa','CM9SBg91DfbLCMnLBNq','CgX1DgLS','uMv2B1b1C2G','ksdcTYa','icaG','igzPBgvZlca','y29Kzq','yxbWlMPZB24','tM8GyxbWCYb5zxqUifj1BJOGyMLWB3b1C2GGAw5PDa','CMvHy3qTBMf0AxzLl3bHy2THz2uUANnVBG','zgvZ','tg9Nz2vKig91Dc4','y3jLzgvUDgLHBhmUANnVBG','BwLNCMf0zq','ANntAxPL','q1vsuKvovf9quK9krunux1zfuLnjt04','Dg9tDhjPBMC','ie1bvq','uMvTB3zLia','zw50CNLgAwXL','Agv4','nta3mZG4ndjvs0HuBvq','AgjJ','qKLqt1bvu0HFu0LhtKLor19lrvK','CMvSzwfZzq','yNvUzgXLu2L6zq','mtiYodi3nZbkt0Przxe','CgXHBNm'];_0x577c=function(){return _0x4f4eee;};return _0x577c();}import{spawn as _0x4615cf}from'node:child_process';import{createHash as _0xb0c4a0,randomBytes as _0x3f27ed}from'node:crypto';import{createServer as _0x4f7e20}from'node:http';var Xn=0x12c*0x3e8;function et(_0x3a3fe6){const _0x27bcd5=_0x3b5ebd;if(process[_0x27bcd5(0x28c)]['BIPOPUSH_NO_BROWSER'])return;let [_0x8b012b,_0x4c789c]=process[_0x27bcd5(0x2e3)]===_0x27bcd5(0x1c1)?[_0x27bcd5(0x329),[_0x3a3fe6]]:process[_0x27bcd5(0x2e3)]===_0x27bcd5(0x1b2)?[_0x27bcd5(0x249),['/c',_0x27bcd5(0x260),'',_0x3a3fe6]]:[_0x27bcd5(0x2fe),[_0x3a3fe6]];_0x4615cf(_0x8b012b,_0x4c789c,{'stdio':_0x27bcd5(0x2ee),'detached':!0x0})['on']('error',()=>{})[_0x27bcd5(0x2e0)]();}var nt=(_0x11d216,_0x10e319)=>'<!doctype\x20html><meta\x20charset=\x22utf-8\x22><title>'+_0x11d216+_0x3b5ebd(0x27d)+_0x11d216+_0x3b5ebd(0x30f)+_0x10e319+'</p></div>';async function Ge(){const _0x33c5d8=_0x3b5ebd;let _0x20299d=_0x3f27ed(0x30)[_0x33c5d8(0x2a7)](_0x33c5d8(0x1f7)),_0x14a57c=_0xb0c4a0('sha256')['update'](_0x20299d)[_0x33c5d8(0x32e)](_0x33c5d8(0x1f7)),_0x2f9d44=_0x3f27ed(0x18)[_0x33c5d8(0x2a7)](_0x33c5d8(0x1f7)),_0x25ed82=await new Promise((_0x96aafd,_0x3b1b4a)=>{const _0x2b9a6d=_0x33c5d8;let _0x13a2eb=_0x4f7e20((_0x45feb9,_0x3d7c97)=>{const _0x2bc874=_0x3a61;let _0x426aaf=new URL(_0x45feb9['url']??'/',_0x2bc874(0x2bb));if(_0x426aaf[_0x2bc874(0x202)]!==_0x2bc874(0x31f)){_0x3d7c97[_0x2bc874(0x1c5)](0x194)['end']();return;}let _0x2d4527=(_0x55d597,_0x4f2df8,_0x2c3a20,_0x5ae2ab)=>{const _0x5b8cbd=_0x2bc874;_0x3d7c97['writeHead'](_0x55d597,{'content-type':_0x5b8cbd(0x219)})[_0x5b8cbd(0x337)](nt(_0x4f2df8,_0x2c3a20)),clearTimeout(_0x488810),_0x13a2eb[_0x5b8cbd(0x221)](),_0x5ae2ab();};if(_0x426aaf['searchParams']['get']('state')!==_0x2f9d44){_0x2d4527(0x190,_0x2bc874(0x1d6),'State\x20mismatch.\x20Run\x20bipopush\x20login\x20again.',()=>_0x3b1b4a(new Error(_0x2bc874(0x2f5))));return;}let _0x7a0ab5=_0x426aaf[_0x2bc874(0x239)][_0x2bc874(0x21e)]('error'),_0x51fda9=_0x426aaf[_0x2bc874(0x239)][_0x2bc874(0x21e)](_0x2bc874(0x29d));if(_0x7a0ab5||!_0x51fda9){_0x2d4527(0x190,'Login\x20cancelled',_0x2bc874(0x323),()=>_0x3b1b4a(new Error(_0x7a0ab5??_0x2bc874(0x270))));return;}_0x2d4527(0xc8,_0x2bc874(0x253),'You\x20can\x20close\x20this\x20tab\x20and\x20return\x20to\x20your\x20terminal.',()=>_0x96aafd(_0x51fda9));}),_0x488810=setTimeout(()=>{const _0x47b1c4=_0x3a61;_0x13a2eb[_0x47b1c4(0x221)](),_0x3b1b4a(new Error('Timed\x20out\x20waiting\x20for\x20the\x20browser\x20(5\x20minutes)'));},Xn);_0x13a2eb[_0x2b9a6d(0x1ee)](0x0,_0x2b9a6d(0x28f),()=>{const _0x766079=_0x2b9a6d;let {port:_0x17e4eb}=_0x13a2eb[_0x766079(0x1d3)](),_0xf681b6=he+_0x766079(0x350)+new URLSearchParams({'challenge':_0x14a57c,'state':_0x2f9d44,'port':String(_0x17e4eb)});console[_0x766079(0x24c)](_0x766079(0x354)),console[_0x766079(0x24c)](_0x766079(0x343)+_0xf681b6+'\x0a'),et(_0xf681b6);});}),{token:_0x248d65,user:_0x57ea91}=await f(_0x33c5d8(0x1ab),{'method':_0x33c5d8(0x317),'headers':{'content-type':'application/json'},'body':JSON['stringify']({'code':_0x25ed82,'codeVerifier':_0x20299d})});await be({'apiUrl':h,'token':_0x248d65,'email':_0x57ea91['email']}),console['log'](_0x33c5d8(0x33e)+_0x57ea91[_0x33c5d8(0x230)]);}var We=_0x3b5ebd(0x31c);async function v(){const _0x54f3d4=_0x3b5ebd;let _0x307c3b=await Y();if(!_0x307c3b)throw new Error('Not\x20logged\x20in\x20to\x20'+h+'.\x20Run:\x20bipopush\x20login');return _0x307c3b[_0x54f3d4(0x2c9)];}function rt(_0x22befa){const _0x110fca=_0x3b5ebd;let _0x50663d=_0x22befa[_0x110fca(0x228)]?_0x110fca(0x2d6)+new Date(_0x22befa[_0x110fca(0x228)])[_0x110fca(0x241)]()+'.':'';return _0x22befa[_0x110fca(0x334)]+'/'+_0x22befa[_0x110fca(0x22b)]+_0x110fca(0x209)+_0x50663d;}async function it(){const _0x2b822d=_0x3b5ebd;let _0x507cd2=await v(),_0x20a4f5=await f(_0x2b822d(0x312),{'token':_0x507cd2});console[_0x2b822d(0x24c)](_0x20a4f5[_0x2b822d(0x267)]['email']);for(let _0x53b18a of _0x20a4f5[_0x2b822d(0x311)]){let _0x2d5058=_0x20a4f5[_0x2b822d(0x2b2)][_0x2b822d(0x1ff)](_0xa08fe3=>_0xa08fe3['id']===_0x53b18a['plan']),_0x1dfc87=_0x2d5058?.[_0x2b822d(0x236)]?_0x2b822d(0x2f3)+_0x2d5058[_0x2b822d(0x227)]+')':_0x2d5058?.[_0x2b822d(0x227)]+_0x2b822d(0x261),_0x593402=_0x2d5058?_0x2b822d(0x193)+(_0x2d5058[_0x2b822d(0x220)]??'unlimited')+_0x2b822d(0x1e7)+_0x1dfc87+',\x20'+_0x2d5058[_0x2b822d(0x243)][_0x2b822d(0x241)]()+_0x2b822d(0x2a8):'';console['log']('\x20\x20'+_0x53b18a[_0x2b822d(0x22f)]+_0x2b822d(0x286)+_0x53b18a[_0x2b822d(0x274)]['current']+_0x2b822d(0x29a)+_0x53b18a[_0x2b822d(0x198)][_0x2b822d(0x22f)]+'\x20·\x20'+(_0x2d5058?.['name']??_0x53b18a[_0x2b822d(0x2da)])+_0x2b822d(0x1a9)+_0x593402);}}async function st(){const _0xe7c53d=_0x3b5ebd;let _0x45b384=await Y();_0x45b384&&await f('/auth/logout',{'method':'POST','token':_0x45b384['token']})[_0xe7c53d(0x348)](()=>{}),await we(),console['log'](_0xe7c53d(0x2a2));}function T(_0x11b5d7,_0x4b2683,_0x314c5b){let _0x4e33da=(_0x11b5d7??_0x4b2683)['trim']()['toLowerCase']();if(!/^[a-z][a-z0-9-]{1,31}$/['test'](_0x4e33da))throw new Error(_0x314c5b+'\x20must\x20be\x20a\x20channel\x20name\x20like\x20production,\x20staging\x20or\x20beta');return _0x4e33da;}function J(_0xff9d6e,_0x4aff6d,_0x53f416,_0x509339){const _0x3f85b7=_0x3b5ebd;if(_0xff9d6e===void 0x0)return _0x53f416;if(!_0x4aff6d['includes'](_0xff9d6e))throw new Error(_0x509339+'\x20must\x20be\x20one\x20of:\x20'+_0x4aff6d[_0x3f85b7(0x289)](',\x20'));return _0xff9d6e;}async function at(_0x3ad0f6){const _0x33bb8b=_0x3b5ebd;let _0x2c4149=process['cwd'](),_0x4e2fee=await v();switch(_0x3ad0f6['kind']){case _0x33bb8b(0x2af):return se(_0x4e2fee,{'cwd':_0x2c4149,'platform':_0x3ad0f6['platform'],'channel':_0x3ad0f6[_0x33bb8b(0x24a)],'message':_0x3ad0f6[_0x33bb8b(0x309)],'mandatory':_0x3ad0f6[_0x33bb8b(0x28b)],'rollout':_0x3ad0f6[_0x33bb8b(0x1e2)]});case'promote':return ue(_0x4e2fee,{'cwd':_0x2c4149,'from':_0x3ad0f6[_0x33bb8b(0x20c)],'to':_0x3ad0f6['to'],'platform':'all'});case _0x33bb8b(0x1e8):return pe(_0x4e2fee,{'cwd':_0x2c4149,'channel':_0x3ad0f6[_0x33bb8b(0x24a)],'platform':'all'});case _0x33bb8b(0x339):return Me(_0x4e2fee,{'cwd':_0x2c4149,'channel':_0x3ad0f6[_0x33bb8b(0x24a)],'platform':_0x33bb8b(0x345),'mandatory':_0x3ad0f6['mandatory'],'percent':_0x3ad0f6[_0x33bb8b(0x1e2)]});case _0x33bb8b(0x1e2):return ce(_0x4e2fee,{'cwd':_0x2c4149,'channel':_0x3ad0f6[_0x33bb8b(0x24a)],'platform':_0x3ad0f6['platform'],'percent':_0x3ad0f6['percent']});}}async function lt(){const _0x621fad=_0x3b5ebd;let _0x1902a2=De(process[_0x621fad(0x24b)][_0x621fad(0x2e7)](0x2));if(_0x1902a2)return at(_0x1902a2);let {positionals:_0x198a16,values:_0x511389}=_0x58bfe1({'allowPositionals':!0x0,'options':{'help':{'type':_0x621fad(0x344),'short':'h'},'version':{'type':_0x621fad(0x344),'short':'v'},'platform':{'type':_0x621fad(0x2e9),'short':'p'},'channel':{'type':'string','short':'c'},'message':{'type':_0x621fad(0x2e9),'short':'m'},'dry-run':{'type':_0x621fad(0x344)},'mandatory':{'type':_0x621fad(0x344)},'name':{'type':_0x621fad(0x2e9)},'scheme':{'type':_0x621fad(0x2e9)},'app':{'type':'string'},'org':{'type':_0x621fad(0x2e9)},'new-signing-key':{'type':'boolean'},'from':{'type':_0x621fad(0x2e9)},'to':{'type':'string'},'number':{'type':_0x621fad(0x2e9)},'rollout':{'type':_0x621fad(0x2e9)}}}),[_0x5e5d3e]=_0x198a16;if(_0x511389[_0x621fad(0x1f1)])return console[_0x621fad(0x24c)](_0x589be7(import.meta.url)(_0x621fad(0x250))[_0x621fad(0x1f1)]);if(_0x511389['help']||!_0x5e5d3e)return console[_0x621fad(0x24c)](We);let _0x15cc39=process[_0x621fad(0x2d5)]();switch(_0x5e5d3e){case _0x621fad(0x314):return Ge();case _0x621fad(0x2b5):return it();case _0x621fad(0x30c):return Fe(await v(),{'cwd':_0x15cc39,'name':_0x511389[_0x621fad(0x22f)],'scheme':_0x511389[_0x621fad(0x1fa)],'appId':_0x511389[_0x621fad(0x27e)],'org':_0x511389[_0x621fad(0x25d)],'newSigningKey':_0x511389['new-signing-key']});case _0x621fad(0x2af):return se(await v(),{'cwd':_0x15cc39,'platform':J(_0x511389[_0x621fad(0x2e3)],['ios',_0x621fad(0x225),_0x621fad(0x345)],'all','--platform'),'channel':T(_0x511389['channel'],_0x621fad(0x34b),_0x621fad(0x318)),'message':_0x511389[_0x621fad(0x309)],'mandatory':_0x511389['mandatory'],'rollout':E(_0x511389[_0x621fad(0x1e2)],_0x621fad(0x31a)),'dryRun':_0x511389[_0x621fad(0x1a8)]});case'rollout':{let _0x31678b=E(_0x198a16[0x1],_0x621fad(0x313));if(_0x31678b===void 0x0)throw new Error(_0x621fad(0x1b7));return ce(await v(),{'cwd':_0x15cc39,'channel':T(_0x511389[_0x621fad(0x24a)],_0x621fad(0x34b),_0x621fad(0x318)),'platform':J(_0x511389[_0x621fad(0x2e3)],[_0x621fad(0x33d),_0x621fad(0x225),_0x621fad(0x345)],_0x621fad(0x345),_0x621fad(0x23e)),'version':_0x511389[_0x621fad(0x1ea)]?Number(_0x511389[_0x621fad(0x1ea)]['replace'](/^v/i,'')):void 0x0,'percent':_0x31678b});}case _0x621fad(0x271):case _0x621fad(0x1e8):return pe(await v(),{'cwd':_0x15cc39,'channel':T(_0x511389[_0x621fad(0x24a)],_0x621fad(0x34b),_0x621fad(0x318)),'platform':J(_0x511389[_0x621fad(0x2e3)],[_0x621fad(0x33d),_0x621fad(0x225),'all'],_0x621fad(0x345),'--platform'),'version':_0x511389['number']?Number(_0x511389['number']['replace'](/^v/i,'')):void 0x0});case _0x621fad(0x1c3):return ue(await v(),{'cwd':_0x15cc39,'from':T(_0x511389[_0x621fad(0x20c)],'staging',_0x621fad(0x2ea)),'to':T(_0x511389['to'],_0x621fad(0x34b),_0x621fad(0x2f2)),'platform':J(_0x511389['platform'],[_0x621fad(0x33d),_0x621fad(0x225),_0x621fad(0x345)],'all','--platform'),'version':_0x511389[_0x621fad(0x1ea)]?Number(_0x511389['number'][_0x621fad(0x23c)](/^v/i,'')):void 0x0});case _0x621fad(0x2c8):return ze(await v());case _0x621fad(0x2a4):return Ve(_0x15cc39);case _0x621fad(0x229):return st();default:console['log'](We),process[_0x621fad(0x205)]=0x1;}}lt()[_0x3b5ebd(0x348)](_0xd2053f=>{const _0x4e9dba=_0x3b5ebd;if(_0xd2053f instanceof $){if(_0xd2053f[_0x4e9dba(0x332)]===0x191)console[_0x4e9dba(0x1cf)](_0x4e9dba(0x252)+A+')');else{if(_0xd2053f[_0x4e9dba(0x25c)][_0x4e9dba(0x1cf)]==='release_limit_reached'){console[_0x4e9dba(0x1cf)]('Daily\x20limit\x20reached:\x20'+_0xd2053f[_0x4e9dba(0x309)]);let _0x1b6f78=_0xd2053f['body']['usage'];_0x1b6f78&&console['error'](rt(_0x1b6f78)),console[_0x4e9dba(0x1cf)](_0x4e9dba(0x1f9));}else console['error'](_0x4e9dba(0x1cc)+_0xd2053f[_0x4e9dba(0x332)]+_0x4e9dba(0x238)+_0xd2053f[_0x4e9dba(0x309)]);}}else console[_0x4e9dba(0x1cf)](_0x4e9dba(0x277)+_0xd2053f[_0x4e9dba(0x309)]);process[_0x4e9dba(0x205)]=0x1;});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bipopush/cli",
|
|
3
|
-
"version": "0.3.0-beta.
|
|
3
|
+
"version": "0.3.0-beta.4",
|
|
4
4
|
"description": "BipoPush CLI — log in and publish releases",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,15 +34,13 @@
|
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "tsc",
|
|
36
36
|
"typecheck": "tsc --noEmit",
|
|
37
|
-
"test": "tsc && node --test test/*.test.mjs"
|
|
37
|
+
"test": "tsc && node --test test/*.test.mjs",
|
|
38
|
+
"prepack": "node ../scripts/publish-cli.mjs"
|
|
38
39
|
},
|
|
39
40
|
"devDependencies": {
|
|
40
41
|
"@types/node": "^26.6.3",
|
|
41
42
|
"typescript": "^6.0.3"
|
|
42
43
|
},
|
|
43
|
-
"optionalDependencies": {
|
|
44
|
-
"bsdiff-nodejs": "^2.2.0"
|
|
45
|
-
},
|
|
46
44
|
"publishConfig": {
|
|
47
45
|
"access": "public"
|
|
48
46
|
}
|