@ceraph/react-native-mcp 0.3.3 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +335 -68
  2. package/dist/babel-plugin/index.cjs +1 -0
  3. package/dist/babel-plugin/index.js +1 -0
  4. package/dist/cli.d.ts +3 -1
  5. package/dist/cli.js +1 -47
  6. package/dist/index.d.ts +106 -1
  7. package/dist/index.js +2 -1651
  8. package/dist/shim/async-storage-ops.d.ts +26 -0
  9. package/dist/shim/async-storage-ops.js +1 -0
  10. package/dist/shim/boot.d.ts +9 -0
  11. package/dist/shim/boot.js +1 -141
  12. package/dist/shim/camera.js +1 -62
  13. package/dist/shim/command-poll.d.ts +18 -0
  14. package/dist/shim/command-poll.js +1 -0
  15. package/dist/shim/config.js +1 -56
  16. package/dist/shim/console-capture.d.ts +16 -0
  17. package/dist/shim/console-capture.js +1 -0
  18. package/dist/shim/deep-link.js +1 -25
  19. package/dist/shim/dev-guard.js +1 -3
  20. package/dist/shim/dev-host.d.ts +1 -0
  21. package/dist/shim/dev-host.js +1 -0
  22. package/dist/shim/error-handler.js +1 -66
  23. package/dist/shim/fetch-interceptor.js +1 -93
  24. package/dist/shim/index.d.ts +3 -0
  25. package/dist/shim/index.js +1 -6
  26. package/dist/shim/keep-awake.js +1 -118
  27. package/dist/shim/network-ownership.d.ts +4 -0
  28. package/dist/shim/network-ownership.js +1 -0
  29. package/dist/shim/optimistic-observer.d.ts +29 -0
  30. package/dist/shim/optimistic-observer.js +1 -0
  31. package/dist/shim/reload.js +1 -76
  32. package/dist/shim/reset.d.ts +30 -0
  33. package/dist/shim/reset.js +1 -0
  34. package/dist/shim/signal-capture.d.ts +8 -0
  35. package/dist/shim/signal-capture.js +1 -15
  36. package/dist/shim/signal-transport.d.ts +14 -1
  37. package/dist/shim/signal-transport.js +1 -43
  38. package/dist/shim/xhr-interceptor.d.ts +39 -0
  39. package/dist/shim/xhr-interceptor.js +1 -0
  40. package/package.json +40 -11
  41. package/dist/app-lifecycle.d.ts +0 -50
  42. package/dist/app-lifecycle.js +0 -487
  43. package/dist/camera-image-writer.d.ts +0 -43
  44. package/dist/camera-image-writer.js +0 -280
  45. package/dist/camera-registry-sync.d.ts +0 -18
  46. package/dist/camera-registry-sync.js +0 -117
  47. package/dist/device-autonomy.d.ts +0 -30
  48. package/dist/device-autonomy.js +0 -117
  49. package/dist/error-parser.d.ts +0 -51
  50. package/dist/error-parser.js +0 -275
  51. package/dist/expo-manager.d.ts +0 -62
  52. package/dist/expo-manager.js +0 -447
  53. package/dist/init/ast-camera.d.ts +0 -29
  54. package/dist/init/ast-camera.js +0 -267
  55. package/dist/init/ast-layout.d.ts +0 -15
  56. package/dist/init/ast-layout.js +0 -167
  57. package/dist/init/claude-hook-constants.d.ts +0 -9
  58. package/dist/init/claude-hook-constants.js +0 -91
  59. package/dist/init/lan-ip.d.ts +0 -11
  60. package/dist/init/lan-ip.js +0 -51
  61. package/dist/init/monorepo.d.ts +0 -13
  62. package/dist/init/monorepo.js +0 -185
  63. package/dist/init/oauth.d.ts +0 -52
  64. package/dist/init/oauth.js +0 -220
  65. package/dist/init/package-manager.d.ts +0 -11
  66. package/dist/init/package-manager.js +0 -60
  67. package/dist/init/prompt.d.ts +0 -12
  68. package/dist/init/prompt.js +0 -68
  69. package/dist/init/shell-profile.d.ts +0 -22
  70. package/dist/init/shell-profile.js +0 -85
  71. package/dist/init/steps.d.ts +0 -135
  72. package/dist/init/steps.js +0 -399
  73. package/dist/init/url-scheme.d.ts +0 -42
  74. package/dist/init/url-scheme.js +0 -187
  75. package/dist/init/walkthrough.d.ts +0 -76
  76. package/dist/init/walkthrough.js +0 -340
  77. package/dist/init.d.ts +0 -8
  78. package/dist/init.js +0 -395
  79. package/dist/iproxy-manager.d.ts +0 -32
  80. package/dist/iproxy-manager.js +0 -216
  81. package/dist/mac-caffeinate.d.ts +0 -10
  82. package/dist/mac-caffeinate.js +0 -56
  83. package/dist/permission-interceptor.d.ts +0 -29
  84. package/dist/permission-interceptor.js +0 -185
  85. package/dist/prebuild-detector.d.ts +0 -19
  86. package/dist/prebuild-detector.js +0 -174
  87. package/dist/preflight.d.ts +0 -34
  88. package/dist/preflight.js +0 -847
  89. package/dist/screen.d.ts +0 -184
  90. package/dist/screen.js +0 -931
  91. package/dist/signal-listener.d.ts +0 -27
  92. package/dist/signal-listener.js +0 -135
  93. package/dist/simulator-boot.d.ts +0 -52
  94. package/dist/simulator-boot.js +0 -227
  95. package/dist/target.d.ts +0 -48
  96. package/dist/target.js +0 -267
  97. package/dist/uninstall/cli-runner.d.ts +0 -32
  98. package/dist/uninstall/cli-runner.js +0 -223
  99. package/dist/uninstall/footprint.d.ts +0 -40
  100. package/dist/uninstall/footprint.js +0 -288
  101. package/dist/uninstall/mcp-tools.d.ts +0 -14
  102. package/dist/uninstall/mcp-tools.js +0 -175
  103. package/dist/uninstall/revert-auth.d.ts +0 -22
  104. package/dist/uninstall/revert-auth.js +0 -31
  105. package/dist/uninstall/revert-boot.d.ts +0 -24
  106. package/dist/uninstall/revert-boot.js +0 -242
  107. package/dist/uninstall/revert-camera.d.ts +0 -12
  108. package/dist/uninstall/revert-camera.js +0 -199
  109. package/dist/uninstall/revert-ceraph-dir.d.ts +0 -27
  110. package/dist/uninstall/revert-ceraph-dir.js +0 -38
  111. package/dist/uninstall/revert-claude-hooks.d.ts +0 -19
  112. package/dist/uninstall/revert-claude-hooks.js +0 -191
  113. package/dist/uninstall/revert-gitignore.d.ts +0 -17
  114. package/dist/uninstall/revert-gitignore.js +0 -43
  115. package/dist/uninstall/revert-mcp-clients.d.ts +0 -57
  116. package/dist/uninstall/revert-mcp-clients.js +0 -194
  117. package/dist/uninstall/revert-package.d.ts +0 -34
  118. package/dist/uninstall/revert-package.js +0 -98
  119. package/dist/uninstall/revert-scheme.d.ts +0 -36
  120. package/dist/uninstall/revert-scheme.js +0 -139
  121. package/dist/uninstall/revert-signal-host-env.d.ts +0 -31
  122. package/dist/uninstall/revert-signal-host-env.js +0 -61
  123. package/dist/uninstall/walkthrough.d.ts +0 -80
  124. package/dist/uninstall/walkthrough.js +0 -1244
  125. package/dist/utils/atomic-write.d.ts +0 -1
  126. package/dist/utils/atomic-write.js +0 -30
  127. package/dist/wait-for-device.d.ts +0 -68
  128. package/dist/wait-for-device.js +0 -368
  129. package/dist/wda-manager.d.ts +0 -38
  130. package/dist/wda-manager.js +0 -186
  131. package/dist/wda-simulator.d.ts +0 -28
  132. package/dist/wda-simulator.js +0 -257
package/dist/cli.js CHANGED
@@ -1,48 +1,2 @@
1
1
  #!/usr/bin/env node
2
- const argv = process.argv.slice(2);
3
- const command = argv[0];
4
- const flags = new Set(argv.slice(1));
5
- const HELP_TEXT = `@ceraph/react-native-mcp
6
-
7
- USAGE
8
- npx @ceraph/react-native-mcp <command> [flags]
9
-
10
- COMMANDS
11
- init Wire up MCP clients, hooks, AST replacements, and preflight.
12
- uninstall Reverse the mutations init applied.
13
- (no command) Start the MCP server over stdio.
14
-
15
- FLAGS
16
- --agent Pass when an AI tool is driving the install — defers
17
- interactive camera setup to the agent via a single
18
- CERAPH_INIT_AGENT_HINT={...} JSON line emitted on
19
- stdout at completion. Equivalent to CERAPH_AGENT_MODE=1.
20
- --help, -h Show this help text.
21
- `;
22
- if (command === "--help" || command === "-h" || command === "help") {
23
- process.stdout.write(HELP_TEXT);
24
- process.exit(0);
25
- }
26
- if (command === "init") {
27
- const agentMode = flags.has("--agent") || process.env.CERAPH_AGENT_MODE === "1";
28
- const { runInit } = await import("./init.js");
29
- await runInit({ agentMode }).catch((err) => {
30
- console.error("Init failed:", err);
31
- process.exit(1);
32
- });
33
- }
34
- else if (command === "uninstall") {
35
- const { runUninstallCli } = await import("./uninstall/cli-runner.js");
36
- try {
37
- const res = await runUninstallCli({ argv: process.argv.slice(3) });
38
- process.exit(res.exitCode);
39
- }
40
- catch (err) {
41
- console.error("Uninstall failed:", err);
42
- process.exit(1);
43
- }
44
- }
45
- else {
46
- await import("./index.js");
47
- }
48
- export {};
2
+ (function(_0x12f015,_0x375a3f){const _0x140a0e=_0xa6e1,_0x1ee474=_0x12f015();while(!![]){try{const _0xb6dcd4=-parseInt(_0x140a0e(0x521))/0x1+-parseInt(_0x140a0e(0x319))/0x2*(-parseInt(_0x140a0e(0x1d0))/0x3)+parseInt(_0x140a0e(0x419))/0x4+parseInt(_0x140a0e(0x249))/0x5*(parseInt(_0x140a0e(0x4e5))/0x6)+-parseInt(_0x140a0e(0x1cf))/0x7*(-parseInt(_0x140a0e(0x2f3))/0x8)+parseInt(_0x140a0e(0x332))/0x9+parseInt(_0x140a0e(0x21d))/0xa*(-parseInt(_0x140a0e(0x580))/0xb);if(_0xb6dcd4===_0x375a3f)break;else _0x1ee474['push'](_0x1ee474['shift']());}catch(_0x193372){_0x1ee474['push'](_0x1ee474['shift']());}}}(_0x5f11,0xe6b1f));var _0x25c107=Object['defineProperty'],_0x681c70=Object['getOwnPropertyNames'],_0x1b53f6=(_0x18107b,_0x20a03e)=>function _0x98f2c8(){return _0x18107b&&(_0x20a03e=(0x0,_0x18107b[_0x681c70(_0x18107b)[0x0]])(_0x18107b=0x0)),_0x20a03e;},_0x2c4819=(_0x32cc8e,_0x564c0d)=>{for(var _0xe6e102 in _0x564c0d)_0x25c107(_0x32cc8e,_0xe6e102,{'get':_0x564c0d[_0xe6e102],'enumerable':!![]});};import{readFile,access}from'fs/promises';import{join}from'path';async function _0x2a8e7b(_0x3eb7d6){const _0x4249b1=_0xa6e1;try{if(_0x4249b1(0x51f)!=='nztkO'){const _0x26553e=_0x2815b7(_0x46b965[_0x4249b1(0x4dc)],_0x451f69[_0x4249b1(0x43c)],{'cwd':_0x74d92['cwd'],'stdio':_0x4249b1(0x237)});_0x26553e['on']('error',()=>_0x14df0e({'exitCode':0x7f})),_0x26553e['on']('exit',_0x5501ec=>_0x465d31({'exitCode':_0x5501ec??0x1}));}else return await access(_0x3eb7d6),!![];}catch{return![];}}async function _0x5be9b1(_0xa54778){const _0x24cf5b=_0xa6e1;for(const {file:_0x251330,pm:_0x528b1f}of _0x376227){if(await _0x2a8e7b(join(_0xa54778,_0x251330))){if(_0x24cf5b(0x55b)==='BxYej'){_0x43a962({'code':0x7f,'stdout':'','stderr':_0x1b15ff instanceof _0x2b4a03?_0x2f032c['message']:_0x5acf39(_0xdda87c)});return;}else return _0x528b1f;}}return'npm';}function _0xa55a6f(_0x4e1f9d,_0x257821='@ceraph/react-native-mcp'){const _0x2a8088=_0xa6e1;switch(_0x4e1f9d){case'pnpm':return{'bin':'pnpm','args':['add',_0x257821]};case _0x2a8088(0x24e):return{'bin':_0x2a8088(0x24e),'args':[_0x2a8088(0x3f7),_0x257821]};case _0x2a8088(0x42b):return{'bin':'bun','args':[_0x2a8088(0x3f7),_0x257821]};case _0x2a8088(0x1f0):return{'bin':'npm','args':[_0x2a8088(0x48e),_0x257821]};}}async function _0x50b1ae(_0x8fcbfb,_0x2cb48a='@ceraph/react-native-mcp'){const _0x4fc396=_0xa6e1;let _0x3945e3;try{_0x3945e3=await readFile(join(_0x8fcbfb,_0x4fc396(0x575)),_0x4fc396(0x2fd));}catch{return![];}let _0x1a48aa;try{_0x1a48aa=JSON[_0x4fc396(0x2ee)](_0x3945e3);}catch{return![];}if(!_0x1a48aa||typeof _0x1a48aa!==_0x4fc396(0x2d2))return![];const _0x4de1e0=_0x1a48aa,_0x79dcdd=_0x4de1e0[_0x4fc396(0x18d)],_0x2d75ae=_0x4de1e0[_0x4fc396(0x181)];return Boolean(_0x79dcdd?.[_0x2cb48a]||_0x2d75ae?.[_0x2cb48a]);}var _0x376227,_0x228cd7=_0x1b53f6({'src/init/package-manager.ts'(){'use strict';const _0x16b5a1=_0xa6e1;_0x376227=[{'file':_0x16b5a1(0x3e4),'pm':'pnpm'},{'file':'yarn.lock','pm':_0x16b5a1(0x24e)},{'file':'bun.lockb','pm':_0x16b5a1(0x42b)},{'file':'bun.lock','pm':'bun'},{'file':_0x16b5a1(0x488),'pm':_0x16b5a1(0x1f0)}];}});import{promises as _0x198f75,constants as _0x3bec8b}from'fs';import{homedir,platform}from'os';import{join as _0xe0e072,dirname}from'path';import{spawn}from'child_process';import{randomBytes}from'crypto';import{createServer}from'http';import{createInterface}from'readline';function _0x15985b(){const _0x45123d=_0xa6e1,_0x212b06=process.env.CERAPH_WEB_BASE_URL?.['trim']();if(_0x212b06)return _0x212b06;const _0x3eaa49=process.env.CERAPH_API_URL?.[_0x45123d(0x531)]();if(_0x3eaa49){const _0x5d190d=_0x3eaa49['replace'](/\/+$/,'')[_0x45123d(0x2c4)](/\/api\/mcp$/,'');if(_0x5d190d&&_0x5d190d!==_0x3eaa49['replace'](/\/+$/,''))return _0x5d190d;}return'https://ceraph.dev';}function _0x182af8(_0x2bf598={}){const _0x541566=_0xa6e1,_0x14497e=_0x15985b()[_0x541566(0x2c4)](/\/+$/,''),_0x4a1363=_0x2bf598[_0x541566(0x326)]==='pro'?_0x541566(0x429):'';return _0x14497e+'/cli-auth'+_0x4a1363;}async function _0x25a657(_0x216c74={}){const _0x5d18ba=_0xa6e1,_0x2dd1db=_0x216c74['token']?.['trim']()||process.env.CERAPH_AUTH_TOKEN?.['trim']();if(_0x2dd1db)return _0x2339dc(_0x2dd1db,void 0x0,_0x216c74['authFilePath']);const _0x278e03=_0x216c74['timeoutMs']??_0x35aede,_0x5c735e=(_0x216c74['webBaseUrl']??_0x15985b())['replace'](/\/+$/,''),_0x26d347=randomBytes(0x10)[_0x5d18ba(0x360)](_0x5d18ba(0x555)),_0x2aa688=await _0x57f9d5(_0x26d347,_0x5c735e),_0x37a7d4=_0x216c74['intent']==='pro'?'&intent=pro':'',_0x47d100=_0x5c735e+'/cli-auth?port='+_0x2aa688[_0x5d18ba(0x304)]+_0x5d18ba(0x38b)+encodeURIComponent(_0x26d347)+_0x37a7d4,_0x56d8ea=new AbortController();if(_0x216c74['signal']){if(_0x216c74['signal'][_0x5d18ba(0x18e)]){_0x2aa688['close']();throw new DOMException('aborted',_0x5d18ba(0x4e6));}_0x216c74[_0x5d18ba(0x528)][_0x5d18ba(0x562)]('abort',()=>{const _0x3d8ca7=_0x5d18ba;_0x2aa688[_0x3d8ca7(0x4c4)](new DOMException('aborted','AbortError')),_0x56d8ea[_0x3d8ca7(0x4c4)]();},{'once':!![]});}_0x1dfd06(_0x47d100),process['stderr'][_0x5d18ba(0x3bf)](_0x5d18ba(0x275)+_0x5c735e+_0x5d18ba(0x183)+_0x47d100+'\x0a');try{const _0xe72dc8=await _0x11d3bf(_0x2aa688[_0x5d18ba(0x487)],_0x278e03);return _0x2339dc(_0xe72dc8[_0x5d18ba(0x268)],_0xe72dc8['email'],_0x216c74[_0x5d18ba(0x21f)]);}catch(_0x57a59f){if(_0x57a59f instanceof _0x5c703a){process[_0x5d18ba(0x461)]['write']('Sign-in\x20timed\x20out.\x20Reload\x20the\x20browser\x20tab\x20to\x20retry\x20—\x20or\x20paste\x20your\x20token\x20below:\x0a');const _0x521278=await Promise['race']([_0x2aa688[_0x5d18ba(0x487)][_0x5d18ba(0x298)](_0x177c0e=>({'kind':_0x5d18ba(0x470),'payload':_0x177c0e})),_0x18b521(_0x56d8ea['signal'])[_0x5d18ba(0x298)](_0x4666c0=>({'kind':_0x5d18ba(0x26c),'line':_0x4666c0}))]);if(_0x521278[_0x5d18ba(0x15f)]==='listener')return _0x56d8ea[_0x5d18ba(0x4c4)](),_0x2339dc(_0x521278[_0x5d18ba(0x196)][_0x5d18ba(0x268)],_0x521278[_0x5d18ba(0x196)]['email'],_0x216c74['authFilePath']);if(!_0x521278['line']){if(_0x216c74[_0x5d18ba(0x528)]?.[_0x5d18ba(0x18e)])throw new DOMException('aborted','AbortError');throw new Error(_0x5d18ba(0x3ae));}return _0x2339dc(_0x521278['line'],void 0x0,_0x216c74[_0x5d18ba(0x21f)]);}throw _0x57a59f;}finally{_0x2aa688[_0x5d18ba(0x2cb)]();}}async function _0x428588(_0x2719f9){return new Promise(_0x1da366=>{let _0x4d5576=0x0;const _0x495ade=[];_0x2719f9['on']('data',_0x2e5f70=>{const _0x5e3736=_0xa6e1;if(_0x5e3736(0x455)!==_0x5e3736(0x1fb)){_0x4d5576+=_0x2e5f70['length'];if(_0x4d5576>_0x2dd3a8){_0x2719f9['destroy'](),_0x1da366(null);return;}_0x495ade['push'](_0x2e5f70);}else _0x2a235e='manual';}),_0x2719f9['on']('end',()=>{const _0x470d29=_0xa6e1,_0x1905c9=Buffer[_0x470d29(0x216)](_0x495ade)['toString'](_0x470d29(0x4a1));if(!_0x1905c9){_0x1da366(null);return;}try{const _0x15da5b=JSON['parse'](_0x1905c9);_0x15da5b&&typeof _0x15da5b===_0x470d29(0x2d2)?_0x1da366(_0x15da5b):_0x1da366(null);}catch{_0x1da366(null);}}),_0x2719f9['on']('error',()=>_0x1da366(null));});}async function _0x57f9d5(_0x5afc70,_0x37e7ae){const _0x389088=_0xa6e1;let _0x5dcbe5,_0x3dd7a2;const _0xbf1e70=new Promise((_0xa3ad96,_0xecfe72)=>{_0x5dcbe5=_0xa3ad96,_0x3dd7a2=_0xecfe72;});let _0x2d3077=![],_0x4bd0ef=![],_0x3de856,_0x2511ad;try{_0x2511ad=new URL(_0x37e7ae)['origin'];}catch(_0x187bad){throw new Error(_0x389088(0x515)+_0x37e7ae+'\x22\x20—\x20must\x20be\x20a\x20valid\x20URL\x20with\x20scheme\x20(e.g.\x20https://ceraph.dev\x20or\x20http://localhost:3000).\x20Original\x20error:\x20'+(_0x187bad instanceof Error?_0x187bad[_0x389088(0x2aa)]:String(_0x187bad)));}_0x3de856=createServer((_0x513702,_0x17cea8)=>{const _0x3afd2e=_0x389088;_0x17cea8['setHeader'](_0x3afd2e(0x512),_0x2511ad),_0x17cea8['setHeader']('Access-Control-Allow-Methods',_0x3afd2e(0x27e)),_0x17cea8[_0x3afd2e(0x484)](_0x3afd2e(0x40c),_0x3afd2e(0x3ee));if(_0x513702['method']===_0x3afd2e(0x1df)){_0x17cea8[_0x3afd2e(0x31a)]=0xcc,_0x17cea8['end']();return;}const _0x56dbe9=new URL(_0x513702['url']??'/',_0x3afd2e(0x57d)+_0x293128);if(_0x56dbe9['pathname']!==_0x3afd2e(0x553)){_0x17cea8['statusCode']=0x194,_0x17cea8['end'](_0x3afd2e(0x505));return;}const _0x223f4d=_0x56dbe9['searchParams']['get']('state')??'';if(_0x223f4d!==_0x5afc70){_0x17cea8['statusCode']=0x190,_0x17cea8[_0x3afd2e(0x354)]('invalid\x20state');return;}if(_0x4bd0ef||_0x2d3077){_0x17cea8[_0x3afd2e(0x31a)]=0x199,_0x17cea8['end'](_0x4bd0ef?'already-handled':_0x3afd2e(0x18b));return;}if(_0x513702[_0x3afd2e(0x566)]!==_0x3afd2e(0x3ba)){_0x17cea8['statusCode']=0x195,_0x17cea8['end'](_0x3afd2e(0x4ac));return;}_0x2d3077=!![],void _0x428588(_0x513702)['then'](_0x261fdc=>{const _0x52095a=_0x3afd2e,_0x3a6fd4=_0x261fdc&&typeof _0x261fdc[_0x52095a(0x268)]==='string'?_0x261fdc[_0x52095a(0x268)][_0x52095a(0x531)]():'',_0x313620=_0x261fdc&&typeof _0x261fdc[_0x52095a(0x42e)]==='string'?_0x261fdc[_0x52095a(0x42e)]:'';if(!_0x3a6fd4){_0x2d3077=![],_0x17cea8['statusCode']=0x190,_0x17cea8['end']('missing\x20token');return;}_0x4bd0ef=!![],_0x17cea8['statusCode']=0xc8,_0x17cea8[_0x52095a(0x484)](_0x52095a(0x3ee),'text/html;\x20charset=utf-8'),_0x17cea8[_0x52095a(0x354)](_0x52095a(0x4ec));try{_0x3de856[_0x52095a(0x2cb)]();}catch{}_0x5dcbe5({'token':_0x3a6fd4,'email':_0x313620||void 0x0});});return;});const _0x293128=await new Promise((_0x9d508e,_0xda0312)=>{const _0x2dfd2a=_0x389088;_0x3de856[_0x2dfd2a(0x40b)](_0x2dfd2a(0x48f),_0xda0312),_0x3de856[_0x2dfd2a(0x409)](0x0,'127.0.0.1',()=>{const _0x5c4529=_0x2dfd2a,_0x29b3a2=_0x3de856[_0x5c4529(0x4ce)]();if(!_0x29b3a2||typeof _0x29b3a2===_0x5c4529(0x2c6)||typeof _0x29b3a2[_0x5c4529(0x304)]!=='number'){try{_0x5c4529(0x42a)!=='FVpRh'?_0x3de856[_0x5c4529(0x2cb)]():_0x910c28[_0x5c4529(0x2d0)]='revert-camera\x20removed\x20imageKey\x20props\x20from\x20'+_0x2a6615+_0x5c4529(0x17c);}catch{}_0xda0312(new Error('Could\x20not\x20bind\x20a\x20free\x20port\x20for\x20the\x20auth\x20listener.'));return;}_0x9d508e(_0x29b3a2['port']);});});return _0x3de856['on'](_0x389088(0x48f),_0x27dabf=>_0x3dd7a2(_0x27dabf)),{'port':_0x293128,'tokenPromise':_0xbf1e70,'close':()=>{const _0x402c41=_0x389088;try{_0x3de856[_0x402c41(0x2cb)]();}catch{}},'abort':_0x2bdf7a=>{const _0x3677c6=_0x389088;if('NhwSk'!==_0x3677c6(0x46a)){_0x3dd7a2(_0x2bdf7a);try{_0x3de856['close']();}catch{}}else _0x215afd['close']();}};}function _0x1dfd06(_0x48bd2b){const _0x1d421f=_0xa6e1;try{const _0x14bd5d=platform();let _0xdfebb0,_0x1f60a0;if(_0x14bd5d==='darwin')_0xdfebb0=_0x1d421f(0x34e),_0x1f60a0=[_0x48bd2b];else _0x14bd5d==='win32'?(_0xdfebb0=_0x1d421f(0x3c5),_0x1f60a0=['/c',_0x1d421f(0x565),'',_0x48bd2b]):(_0xdfebb0=_0x1d421f(0x428),_0x1f60a0=[_0x48bd2b]);const _0x2c010b=spawn(_0xdfebb0,_0x1f60a0,{'stdio':'ignore','detached':!![]});_0x2c010b['on']('error',()=>{}),_0x2c010b['unref']();}catch{}}function _0x11d3bf(_0x21d109,_0x24651f){return new Promise((_0x1598c0,_0x558e6b)=>{const _0x493369=setTimeout(()=>_0x558e6b(new _0x5c703a()),_0x24651f);_0x21d109['then'](_0x3636a8=>{clearTimeout(_0x493369),_0x1598c0(_0x3636a8);},_0xe3536a=>{clearTimeout(_0x493369),_0x558e6b(_0xe3536a);});});}function _0x18b521(_0x27518a){return new Promise(_0x280f5e=>{const _0x284025=_0xa6e1,_0x3f1eed=createInterface({'input':process[_0x284025(0x26c)],'crlfDelay':Infinity});let _0x1d0b46=![];const _0x1c53ab=_0x66ae43=>{const _0x426b89=_0x284025;if(_0x1d0b46)return;_0x1d0b46=!![];try{'swOtS'!==_0x426b89(0x309)?_0x103570=_0x30c695['parse'](_0x3eb5c0):_0x3f1eed['close']();}catch{}_0x280f5e(_0x66ae43);};_0x3f1eed['once']('line',_0xb23240=>_0x1c53ab(_0xb23240['trim']()||null)),_0x3f1eed['once']('close',()=>_0x1c53ab(null));if(_0x27518a['aborted']){_0x1c53ab(null);return;}_0x27518a[_0x284025(0x562)]('abort',()=>_0x1c53ab(null),{'once':!![]});});}function _0x33b6b5(_0x1b72b5){const _0x5b6199=_0xa6e1;return _0x1b72b5??_0xe0e072(homedir(),_0x5b6199(0x454),_0x5b6199(0x2ef));}async function _0x2339dc(_0x4db64f,_0x1ccae1,_0x205fab){const _0x4e1336={'accessToken':_0x4db64f,'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()['toISOString'](),..._0x1ccae1?{'email':_0x1ccae1}:{}};return await _0xa222ff(_0x4e1336,_0x205fab),{'token':_0x4db64f,..._0x1ccae1?{'email':_0x1ccae1}:{}};}async function _0xa222ff(_0x321cf1,_0x519fa2){const _0x194945=_0xa6e1,_0x2688ed=_0x33b6b5(_0x519fa2);await _0x198f75['mkdir'](dirname(_0x2688ed),{'recursive':!![],'mode':0x1c0});const _0x9520bd=JSON[_0x194945(0x278)](_0x321cf1,null,0x2)+'\x0a',_0x4e13f5=_0x2688ed+'.tmp.'+process['pid']+'.'+Math[_0x194945(0x4e2)]()[_0x194945(0x360)](0x24)[_0x194945(0x554)](0x2);try{const _0x30bf1c=await _0x198f75[_0x194945(0x34e)](_0x4e13f5,_0x3bec8b[_0x194945(0x1eb)]|_0x3bec8b[_0x194945(0x30c)]|_0x3bec8b['O_EXCL'],0x180);try{'QYZse'===_0x194945(0x4ff)?_0x3020b9 in _0x1eb27d&&(delete _0x483403[_0x23b0fd],_0x4fee58=!![]):await _0x30bf1c['writeFile'](_0x9520bd);}finally{await _0x30bf1c['close']();}await _0x198f75['rename'](_0x4e13f5,_0x2688ed);}catch(_0x976864){if('DEeFd'===_0x194945(0x35a)){try{await _0x198f75[_0x194945(0x1c5)](_0x4e13f5);}catch{}throw _0x976864;}else return _0x194945(0x253);}try{await _0x198f75[_0x194945(0x47e)](dirname(_0x2688ed),0x1c0);}catch{}}var _0x35aede,_0x2dd3a8,_0x5c703a,_0x324a47=_0x1b53f6({'src/init/browser-auth.ts'(){'use strict';_0x35aede=0x5*0x3c*0x3e8,_0x2dd3a8=0x10*0x400,_0x5c703a=class extends Error{constructor(){const _0x590bd4=_0xa6e1;if('XdlKH'===_0x590bd4(0x55c))return new _0x1aa36b(_0x590bd4(0x475),_0x31ff84,'Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.');else super('listener-timeout'),this[_0x590bd4(0x273)]=_0x590bd4(0x258);}};}});import{promises as _0xcb1115}from'fs';import{homedir as _0x2c9742}from'os';import{join as _0x57020f}from'path';function _0x4b43d8(){const _0x110fad=_0xa6e1;return _0x57020f(_0x2c9742(),'.ceraph',_0x110fad(0x2ef));}function _0x531165(_0x406c44){const _0x3384e6=_0xa6e1;if(!_0x406c44||typeof _0x406c44!=='object')return![];const _0x1ec957=_0x406c44;if(typeof _0x1ec957[_0x3384e6(0x233)]!=='string'||_0x1ec957[_0x3384e6(0x233)]['length']===0x0)return![];if(typeof _0x1ec957['expiresAt']!=='number')return![];if(_0x1ec957[_0x3384e6(0x1be)]!==void 0x0){if(!_0x1ec957['githubUser']||typeof _0x1ec957['githubUser']!=='object')return![];const _0x543084=_0x1ec957[_0x3384e6(0x1be)];if(typeof _0x543084['login']!==_0x3384e6(0x2c6)||typeof _0x543084['id']!=='number')return![];}if(typeof _0x1ec957[_0x3384e6(0x52c)]!=='string')return![];return!![];}function _0x3f1126(_0x2921b1){const _0x4eddb6=_0xa6e1;if(_0x2921b1[_0x4eddb6(0x1be)])return _0x2921b1;return{..._0x2921b1,'githubUser':{'login':'','id':0x0}};}async function _0x1976b2(_0x505ce7={}){const _0x3b2214=_0xa6e1,_0x35d096=_0x505ce7['filePath']??_0x4b43d8();let _0x2a3270;try{_0x2a3270=await _0xcb1115['readFile'](_0x35d096,_0x3b2214(0x2fd));}catch{return null;}let _0x20c20d;try{_0x20c20d=JSON['parse'](_0x2a3270);}catch{return null;}if(!_0x531165(_0x20c20d))return null;if(_0x20c20d[_0x3b2214(0x1a4)]>0x0&&_0x20c20d[_0x3b2214(0x1a4)]<Date[_0x3b2214(0x1ec)]())return null;const _0x5704a4=_0x3f1126(_0x20c20d);if(_0x5704a4['accessToken']===_0x4758ae)return null;return _0x5704a4;}var _0x4758ae,_0x10d22=_0x1b53f6({'src/auth.ts'(){'use strict';const _0x47739d=_0xa6e1;_0x4758ae=_0x47739d(0x217);}});import{readFile as _0x4c2f7f,writeFile,readdir}from'fs/promises';import{basename,dirname as _0x22dfbd,join as _0x17a978,relative,sep}from'path';async function _0x51d453(){if(_0x46bd02)return;const _0x4ebf67=await import('ts-morph');({IndentationText:_0x4d4163,Project:_0x56191a,SyntaxKind:_0x393182,Node:_0x54f126}=_0x4ebf67,_0x46bd02=!![]);}function _0x5d48b3(_0x4b3ea9){const _0x4f8500=_0xa6e1,_0xdb2bcc=basename(_0x4b3ea9)['replace'](/\.(tsx|jsx)$/i,''),_0x4ad438=basename(_0x22dfbd(_0x4b3ea9)),_0x1032ec=new Set([_0x4f8500(0x45e),'index','screen',_0x4f8500(0x58f),'layout']),_0x151be2=_0x1032ec[_0x4f8500(0x3b6)](_0xdb2bcc['toLowerCase']())?_0x4ad438:_0xdb2bcc,_0x140539=_0x151be2['replace'](/([a-z0-9])([A-Z])/g,_0x4f8500(0x251))['toLowerCase']()['replace'](/[^a-z0-9]+/g,'-')[_0x4f8500(0x2c4)](/^-+|-+$/g,'');return _0x140539['length']>0x0?_0x140539:_0x4f8500(0x365);}async function _0x9abcaf(_0xecf8ed){const _0x3b6e3e=_0xa6e1,_0x35a2fd=[];async function _0xa44985(_0x37ad3e){const _0x3a7d79=_0xa6e1;let _0x4a2814;try{if('NryFe'==='qSzJU')return{'changed':![],'previousScheme':[..._0x25f381],'nextScheme':[..._0x49a5a1]};else _0x4a2814=await readdir(_0x37ad3e,{'withFileTypes':!![]});}catch{if('wJDgb'==='shEKU')return{'kind':'ok','value':_0x4d856b['parse'](_0x24841e)};else return;}for(const _0x3bed5c of _0x4a2814){const _0x28f078=_0x17a978(_0x37ad3e,_0x3bed5c[_0x3a7d79(0x273)]);if(_0x3bed5c[_0x3a7d79(0x330)]()){if(_0x35508f['has'](_0x3bed5c[_0x3a7d79(0x273)]))continue;await _0xa44985(_0x28f078);continue;}if(!_0x3bed5c['isFile']())continue;const _0x219b2b=_0x3bed5c['name'][_0x3a7d79(0x2b4)]('.');if(_0x219b2b<0x0)continue;const _0x3639bd=_0x3bed5c['name']['slice'](_0x219b2b)[_0x3a7d79(0x55a)]();if(!_0x127a0d['has'](_0x3639bd))continue;_0x35a2fd[_0x3a7d79(0x407)](_0x28f078);}}for(const _0x318de9 of _0x275657){if(_0x3b6e3e(0x426)==='ulerS')return[];else await _0xa44985(_0x17a978(_0xecf8ed,_0x318de9));}for(const _0x5c645c of[_0x3b6e3e(0x3f5),'App.jsx']){_0x35a2fd[_0x3b6e3e(0x407)](_0x17a978(_0xecf8ed,_0x5c645c));}return _0x35a2fd;}function _0x1d34c1(_0x311851){const _0x26bb6c=_0xa6e1,_0x15f22f=new _0x56191a({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x4d4163[_0x26bb6c(0x256)]}});for(const _0xa11f50 of _0x311851){try{_0x15f22f[_0x26bb6c(0x16f)](_0xa11f50);}catch{}}return _0x15f22f;}function _0x4b461e(_0x57a0dd,_0x319ca2){const _0x431f70=_0xa6e1,_0x49d023=[];return _0x57a0dd[_0x431f70(0x568)](_0x3a77e1=>{const _0xc3f2b2=_0x431f70;if(_0x54f126['isJsxOpeningElement'](_0x3a77e1)||_0x54f126[_0xc3f2b2(0x188)](_0x3a77e1)){if(_0xc3f2b2(0x4b3)!==_0xc3f2b2(0x357)){const _0x2b20f6=_0x3a77e1[_0xc3f2b2(0x459)]();_0x2b20f6['getText']()===_0x319ca2&&_0x49d023[_0xc3f2b2(0x407)](_0x3a77e1);}else{'use strict';_0x4b31e6(),_0x233412(),_0x40a822(),_0x2ec64a=[_0xc3f2b2(0x38e),_0xc3f2b2(0x224),'screens'],_0x5dc907=new _0x4cb7cd([_0xc3f2b2(0x56f),_0xc3f2b2(0x3f0)]),_0x26dc54=new _0x5a0c80([_0xc3f2b2(0x514),_0xc3f2b2(0x20e),'build',_0xc3f2b2(0x35c),'.ceraph','.expo',_0xc3f2b2(0x1f7),'ios','android']);}}}),_0x49d023;}function _0x380eb3(_0x346501){const _0x17450f=_0xa6e1,_0x544a68=_0x346501['getAttributes']();for(const _0x3d28c6 of _0x544a68){if(_0x17450f(0x2df)===_0x17450f(0x390)){const _0x43ba72=_0x2e2ac7['match'](/\n(\s+)"/),_0x261274=_0x43ba72?.[0x1]??'\x20\x20',_0x11fbcb=_0x28c69d[_0x17450f(0x25c)]('\x0a'),_0x566db3=_0x3ac00a[_0x17450f(0x278)](_0x2303c4,null,_0x261274);return _0x11fbcb?_0x566db3+'\x0a':_0x566db3;}else{if(_0x54f126['isJsxAttribute'](_0x3d28c6)){const _0x260405=_0x3d28c6['getNameNode']();if(_0x260405[_0x17450f(0x424)]()===_0x17450f(0x4b7))return!![];}}}return![];}async function _0x252adf(_0x3eb544){const _0x51393c=_0xa6e1;await _0x51d453();const _0x2f8fdd=await _0x9abcaf(_0x3eb544),_0x35beff=_0x1d34c1(_0x2f8fdd),_0x1022ad=[];for(const _0x584cb1 of _0x35beff['getSourceFiles']()){const _0xad88=_0x4b461e(_0x584cb1,'CameraView');if(_0xad88[_0x51393c(0x358)]===0x0)continue;for(const _0x34f853 of _0xad88){const _0x23228c=_0x34f853['getStart'](),_0x143b33=_0x584cb1['getLineAndColumnAtPos'](_0x23228c);_0x1022ad[_0x51393c(0x407)]({'filePath':_0x584cb1['getFilePath'](),'relPath':relative(_0x3eb544,_0x584cb1['getFilePath']())['split'](sep)['join']('/'),'line':_0x143b33[_0x51393c(0x31b)],'suggestedKey':_0x5d48b3(_0x584cb1['getFilePath']()),'alreadyHasImageKey':_0x380eb3(_0x34f853)});}}return _0x1022ad['sort']((_0x415608,_0x20f1dd)=>_0x415608[_0x51393c(0x539)]===_0x20f1dd[_0x51393c(0x539)]?_0x415608[_0x51393c(0x31b)]-_0x20f1dd[_0x51393c(0x31b)]:_0x415608[_0x51393c(0x539)]<_0x20f1dd['relPath']?-0x1:0x1),{'edits':_0x1022ad,'filesScanned':_0x35beff[_0x51393c(0x1d9)]()['length']};}async function _0x4423bb(_0x3fe3c2,_0x4d61d9,_0x5a05b1={}){const _0x1ec9b9=_0xa6e1;await _0x51d453();const _0x42b523=new Map();for(const _0x1df99d of _0x4d61d9){const _0x4c93a6=_0x42b523[_0x1ec9b9(0x3a8)](_0x1df99d[_0x1ec9b9(0x3e1)])??[];_0x4c93a6['push'](_0x1df99d),_0x42b523['set'](_0x1df99d['filePath'],_0x4c93a6);}const _0x484696=_0x1d34c1(Array[_0x1ec9b9(0x3d3)](_0x42b523[_0x1ec9b9(0x3d4)]())),_0x32ab09=[];let _0x385f58=0x0;for(const [_0x1e283e,_0x3e7fbf]of _0x42b523){const _0x8d584f=_0x484696['getSourceFile'](_0x1e283e);if(!_0x8d584f)continue;let _0x2a6ba4=0x0;for(const _0x12128d of _0x3e7fbf){const _0x889b87=_0x4b461e(_0x8d584f,'CameraView'),_0xc5b327=_0x889b87['find'](_0xca896=>{const _0x33b59e=_0x1ec9b9,_0x2d52a4=_0x8d584f['getLineAndColumnAtPos'](_0xca896[_0x33b59e(0x1ed)]());return _0x2d52a4['line']===_0x12128d[_0x33b59e(0x31b)];});if(!_0xc5b327)continue;_0xc5b327[_0x1ec9b9(0x459)]()[_0x1ec9b9(0x397)](_0x1ec9b9(0x53f));if(_0x54f126[_0x1ec9b9(0x2fe)](_0xc5b327)){const _0x1ab342=_0xc5b327[_0x1ec9b9(0x437)](_0x393182['JsxElement']);if(_0x1ab342){const _0x4fc9a5=_0x1ab342[_0x1ec9b9(0x19c)]();_0x4fc9a5[_0x1ec9b9(0x459)]()[_0x1ec9b9(0x397)](_0x1ec9b9(0x53f));}}!_0x12128d[_0x1ec9b9(0x47a)]&&!_0x5a05b1[_0x1ec9b9(0x403)]&&_0xc5b327['addAttribute']({'name':'imageKey','initializer':'\x22'+_0x12128d['suggestedKey']+'\x22'}),_0x2a6ba4++,_0x385f58++;}const _0x32cf44=_0x8d584f[_0x1ec9b9(0x53c)](_0x476ec2);if(_0x32cf44){if(_0x1ec9b9(0x3e5)!==_0x1ec9b9(0x3e5))return _0x1bceb0(_0x4c15b4+':\x20existing\x20config\x20at\x20'+_0x23ccd5+_0x1ec9b9(0x1b5)),![];else{const _0x11bbe9=_0x32cf44['getNamedImports']();!_0x11bbe9[_0x1ec9b9(0x179)](_0x4431f4=>_0x4431f4['getName']()===_0xcac55)&&_0x32cf44[_0x1ec9b9(0x439)](_0xcac55);}}else _0x8d584f['addImportDeclaration']({'moduleSpecifier':_0x476ec2,'namedImports':[_0xcac55]});const _0x5a3316=_0x8d584f['getImportDeclaration'](_0x1ec9b9(0x395));if(_0x5a3316){const _0x4a744c=_0x4b461e(_0x8d584f,_0x1ec9b9(0x3c6));if(_0x4a744c['length']===0x0){const _0x13929d=_0x5a3316['getNamedImports'](),_0x5865a6=_0x13929d['find'](_0x2733f7=>_0x2733f7[_0x1ec9b9(0x1ff)]()==='CameraView');if(_0x5865a6){_0x5865a6[_0x1ec9b9(0x375)]();const _0x260480=_0x5a3316['getNamedImports'](),_0x3981da=_0x5a3316['getDefaultImport']()!=null;if(_0x260480['length']===0x0&&!_0x3981da){if(_0x1ec9b9(0x288)===_0x1ec9b9(0x3f6)){const _0xd1971c=_0x182a49[_0x1ec9b9(0x1cb)]();if(_0x21a18b[_0x1ec9b9(0x3de)](_0xd1971c)&&_0xd1971c[_0x1ec9b9(0x424)]()===_0x2f58c7)return _0x1ec9b9(0x1d1);}else _0x5a3316['remove']();}}}}if(_0x2a6ba4>0x0){const _0x3a8d25=_0x8d584f['getFullText']();await writeFile(_0x1e283e,_0x3a8d25,_0x1ec9b9(0x2fd)),_0x32ab09[_0x1ec9b9(0x407)](_0x1e283e);}}return{'filesEdited':_0x32ab09,'totalReplacements':_0x385f58};}async function _0x3e51e0(_0x828042){try{return await _0x4c2f7f(_0x828042,'utf-8');}catch{return null;}}async function _0x5b2be0(_0x1408c6,_0x4128e6){await writeFile(_0x1408c6,_0x4128e6,'utf-8');}var _0x4d4163,_0x56191a,_0x393182,_0x54f126,_0x46bd02,_0x275657,_0x127a0d,_0x35508f,_0x476ec2,_0xcac55,_0x2cd108=_0x1b53f6({'src/init/ast-camera.ts'(){'use strict';const _0x2b4b74=_0xa6e1;_0x46bd02=![],_0x275657=['app','src','screens'],_0x127a0d=new Set(['.tsx',_0x2b4b74(0x3f0)]),_0x35508f=new Set([_0x2b4b74(0x514),'dist',_0x2b4b74(0x37a),'.git',_0x2b4b74(0x454),_0x2b4b74(0x462),'.next','ios','android']),_0x476ec2=_0x2b4b74(0x2e5),_0xcac55=_0x2b4b74(0x53f);}});import{readFile as _0x4a3d93,writeFile as _0x56ad9b}from'fs/promises';import{dirname as _0x24d4f9,join as _0x1461eb,relative as _0x8f4b41,sep as _0x349833}from'path';async function _0x36b382(){const _0x42a1e2=_0xa6e1;if(_0x1edd71)return;const _0x580d8b=await import(_0x42a1e2(0x4c6));({IndentationText:_0x117c68,Project:_0x3651a9,Node:_0x131ca2,SyntaxKind:_0x54cdd4}=_0x580d8b,_0x1edd71=!![]);}function _0x301ca7(_0x2170a1){const _0x5c646d=_0xa6e1,_0x6505ec=_0x24d4f9(_0x2170a1[_0x5c646d(0x3e1)]),_0x495ef7=_0x2170a1['kind']==='expo-router'?_0x24d4f9(_0x6505ec):_0x6505ec,_0x27182e=_0x1461eb(_0x495ef7,_0x56db4f);let _0xe28998=_0x8f4b41(_0x6505ec,_0x27182e);if(_0x349833!=='/')_0xe28998=_0xe28998['split'](_0x349833)[_0x5c646d(0x3c0)]('/');if(!_0xe28998[_0x5c646d(0x317)]('./')&&!_0xe28998[_0x5c646d(0x317)](_0x5c646d(0x52f)))_0xe28998='./'+_0xe28998;return _0xe28998;}function _0x1583c8(_0x16ac53){const _0x1061ba=_0xa6e1,_0x226dc9=_0x301ca7(_0x16ac53);return _0x6a9834+_0x1061ba(0x557)+_0x226dc9+'\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20})';}async function _0x35ce46(_0x2c5099){try{return await _0x4a3d93(_0x2c5099,'utf-8'),!![];}catch{return![];}}async function _0x40d878(_0x17cd4d){const _0x51ac5d=_0xa6e1,_0x30ea67=_0x1461eb(_0x17cd4d,_0x51ac5d(0x38e),_0x51ac5d(0x379));if(await _0x35ce46(_0x30ea67))return{'kind':'expo-router','filePath':_0x30ea67};const _0x3a18ad=_0x1461eb(_0x17cd4d,_0x51ac5d(0x38e),'_layout.jsx');if(await _0x35ce46(_0x3a18ad))return{'kind':'expo-router','filePath':_0x3a18ad};for(const _0x22a528 of[_0x51ac5d(0x3f5),_0x51ac5d(0x500)]){const _0xf681a5=_0x1461eb(_0x17cd4d,_0x22a528);if(await _0x35ce46(_0xf681a5))return{'kind':'bare-rn','filePath':_0xf681a5};}return null;}function _0xefa2e3(_0x5ad675){const _0x4f1dff=_0xa6e1;for(const _0x867a4d of _0x5ad675['getFunctions']()){if(_0x867a4d['isDefaultExport']())return _0x867a4d;}const _0x557af1=_0x5ad675[_0x4f1dff(0x476)]()['find'](_0x8b7327=>_0x131ca2[_0x4f1dff(0x463)](_0x8b7327));if(_0x557af1&&_0x131ca2['isExportAssignment'](_0x557af1)){if('CvlrG'!=='CvlrG')return _0x391806('\x0aAborted\x20—\x20no\x20changes\x20made.\x0a',_0x4099cb),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x1aa6ff};else{const _0x8e1e29=_0x557af1[_0x4f1dff(0x1cb)]();if(_0x131ca2['isIdentifier'](_0x8e1e29)){const _0x5e36a7=_0x8e1e29[_0x4f1dff(0x292)]();if(_0x5e36a7){const _0x2be8c7=_0x5e36a7[_0x4f1dff(0x43f)]()[0x0];if(_0x2be8c7&&_0x131ca2['isVariableDeclaration'](_0x2be8c7)){if('OJkjm'!=='OJkjm'){const _0x2e70f8=_0x272cef[_0x4f1dff(0x2ee)](_0x2b7b4f);if(!_0x2e70f8||typeof _0x2e70f8!=='object'||_0x5f0739[_0x4f1dff(0x310)](_0x2e70f8))return{'ok':![],'parsed':{}};return{'ok':!![],'parsed':_0x2e70f8};}else{const _0x3cdc7c=_0x2be8c7['getInitializer']();if(_0x3cdc7c&&_0x131ca2[_0x4f1dff(0x18c)](_0x3cdc7c))return _0x3cdc7c;if(_0x3cdc7c&&_0x131ca2[_0x4f1dff(0x16a)](_0x3cdc7c))return _0x3cdc7c;}}}}if(_0x131ca2['isArrowFunction'](_0x8e1e29))return _0x8e1e29;if(_0x131ca2[_0x4f1dff(0x16a)](_0x8e1e29))return _0x8e1e29;}}return null;}function _0x243b19(_0x401687){const _0x3be72d=_0xa6e1,_0xc6ad4f=_0x401687[_0x3be72d(0x53c)]('react');if(!_0xc6ad4f)return _0x401687['addImportDeclaration']({'moduleSpecifier':_0x3be72d(0x2ca),'namedImports':['useEffect']}),!![];const _0x227042=_0xc6ad4f['getNamedImports']();if(!_0x227042['some'](_0x171916=>_0x171916[_0x3be72d(0x1ff)]()===_0x3be72d(0x4cb)))return _0xc6ad4f[_0x3be72d(0x439)](_0x3be72d(0x4cb)),!![];return![];}function _0x2dda4b(_0x47bb71){const _0x25c08d=_0xa6e1,_0x24dab9=_0x47bb71[_0x25c08d(0x53c)](_0x1e9f68);if(!_0x24dab9)return _0x47bb71['addImportDeclaration']({'moduleSpecifier':_0x1e9f68,'namedImports':[_0x6a9834]}),!![];const _0xe6a114=_0x24dab9[_0x25c08d(0x46b)]();if(!_0xe6a114['some'](_0xe119cf=>_0xe119cf['getName']()===_0x6a9834))return _0x24dab9[_0x25c08d(0x439)](_0x6a9834),!![];return![];}function _0x3de9eb(_0x1f17cf){const _0x1bf5b0=_0xa6e1,_0x470f51=_0x1f17cf['getBody']();if(!_0x470f51||!_0x131ca2['isBlock'](_0x470f51))return null;let _0x3b1715=null,_0x33659b=null;return _0x470f51[_0x1bf5b0(0x568)]((_0x5c5334,_0x46ab10)=>{const _0x55f006=_0x1bf5b0;if(_0x33659b){_0x46ab10[_0x55f006(0x28d)]();return;}if(_0x131ca2[_0x55f006(0x58d)](_0x5c5334)){const _0xe91f0b=_0x5c5334[_0x55f006(0x1cb)]();if(_0x131ca2['isIdentifier'](_0xe91f0b)&&_0xe91f0b[_0x55f006(0x424)]()===_0x6a9834){if(_0x3b1715===null)_0x3b1715=_0x5c5334;_0x5c5334[_0x55f006(0x445)]()['length']===0x0&&(_0x33659b=_0x5c5334,_0x46ab10[_0x55f006(0x28d)]());}}}),_0x33659b??_0x3b1715;}function _0x3d85bf(_0x1c078d){return _0x3de9eb(_0x1c078d)!==null;}function _0x3d36cc(_0x284189,_0x5fbb40){const _0x288af2=_0xa6e1;if(_0x284189['getArguments']()[_0x288af2(0x358)]>0x0)return![];const _0x21136b=_0x301ca7(_0x5fbb40);return _0x284189['addArgument']('{\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22'+_0x21136b+_0x288af2(0x532)),!![];}async function _0x54d79a(_0xe098a2){const _0x5d6398=_0xa6e1;await _0x36b382();let _0x1f8195;try{const _0x463628=new _0x3651a9({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}});_0x1f8195=_0x463628[_0x5d6398(0x16f)](_0xe098a2);}catch{return _0x5d6398(0x38d);}const _0xf4ae1f=_0xefa2e3(_0x1f8195);if(!_0xf4ae1f)return'none';const _0x2646ab=_0x3de9eb(_0xf4ae1f);if(!_0x2646ab)return'none';return _0x2646ab['getArguments']()['length']===0x0?_0x5d6398(0x4df):_0x5d6398(0x2e4);}function _0x298644(_0x1942f3,_0x43d450){const _0x2a283b=_0xa6e1;if(_0x3d85bf(_0x1942f3))return![];if(_0x131ca2[_0x2a283b(0x18c)](_0x1942f3)){const _0x4f00a8=_0x1942f3['getBody']();if(!_0x131ca2['isBlock'](_0x4f00a8)){const _0x259974=_0x4f00a8[_0x2a283b(0x424)]();_0x4f00a8['replaceWithText'](_0x2a283b(0x165)+_0x259974+_0x2a283b(0x2a9));}}const _0x18b704=_0x1942f3['getBody']();if(!_0x18b704||!_0x131ca2['isBlock'](_0x18b704))return![];return _0x18b704['insertStatements'](0x0,'useEffect(()\x20=>\x20{\x20'+_0x1583c8(_0x43d450)+';\x20},\x20[]);'),!![];}async function _0x2a896e(_0x188206){const _0x5f330b=_0xa6e1;await _0x36b382();const _0x27c4f5=new _0x3651a9({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x117c68['TwoSpaces']}}),_0x4d7499=_0x27c4f5[_0x5f330b(0x16f)](_0x188206[_0x5f330b(0x3e1)]),_0xefca18=_0xefa2e3(_0x4d7499);if(!_0xefca18)return{'applied':![],'alreadyPresent':![],'reason':_0x5f330b(0x4d0)+_0x188206['filePath']+':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22'+_0x1e9f68+'\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20'+_0x1583c8(_0x188206)+_0x5f330b(0x2a8)};const _0x44cd4a=_0x3de9eb(_0xefca18);if(_0x44cd4a){const _0x442cda=_0x3d36cc(_0x44cd4a,_0x188206),_0x39f0c8=_0x2dda4b(_0x4d7499),_0x255f63=_0x243b19(_0x4d7499),_0x4688ce=_0x442cda||_0x39f0c8||_0x255f63;return _0x4688ce&&await _0x56ad9b(_0x188206[_0x5f330b(0x3e1)],_0x4d7499['getFullText'](),'utf-8'),{'applied':_0x4688ce,'alreadyPresent':!![],'reason':_0x442cda?'Upgraded\x20existing\x20installCeraph()\x20with\x20the\x20testID\x20sentinel\x20seam.':_0x4688ce?_0x5f330b(0x493):_0x5f330b(0x3ac)};}const _0x373c0e=_0x298644(_0xefca18,_0x188206);if(!_0x373c0e)return _0x5f330b(0x4d1)===_0x5f330b(0x4d1)?{'applied':![],'alreadyPresent':![],'reason':_0x5f330b(0x3be)+_0x188206['filePath']+_0x5f330b(0x2d1)+_0x1e9f68+_0x5f330b(0x2ac)+_0x1583c8(_0x188206)+_0x5f330b(0x2a8)}:![];_0x2dda4b(_0x4d7499),_0x243b19(_0x4d7499);const _0x995519=_0x4d7499[_0x5f330b(0x2f4)]();return await _0x56ad9b(_0x188206['filePath'],_0x995519,'utf-8'),{'applied':!![],'alreadyPresent':![]};}async function _0xf258d(_0x24699f){const _0xf7a279=_0xa6e1;try{return await _0x4a3d93(_0x24699f[_0xf7a279(0x3e1)],'utf-8');}catch{return null;}}async function _0x2fa7fe(_0x4aec72,_0x3fece4){const _0x2dcf33=_0xa6e1;await _0x56ad9b(_0x4aec72[_0x2dcf33(0x3e1)],_0x3fece4,'utf-8');}var _0x117c68,_0x3651a9,_0x131ca2,_0x54cdd4,_0x1edd71,_0x1e9f68,_0x6a9834,_0x56db4f,_0x45872c=_0x1b53f6({'src/init/ast-layout.ts'(){'use strict';const _0x531c72=_0xa6e1;_0x1edd71=![],_0x1e9f68='@ceraph/react-native-mcp/shim',_0x6a9834=_0x531c72(0x3e6),_0x56db4f=_0x1461eb(_0x531c72(0x454),'testid-config.json');}});import{createInterface as _0x30ce3b}from'readline';function _0x4390ec(_0x60ea9b){const _0x272b9a=_0xa6e1;if(_0x60ea9b[_0x272b9a(0x412)]!==void 0x0)return _0x60ea9b[_0x272b9a(0x412)];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x272b9a(0x26c)][_0x272b9a(0x347)];}function _0x10eb22(_0x1540ac){return new Promise(_0x310299=>{const _0x2a8ca7=_0xa6e1;if(_0x2a8ca7(0x366)==='wipIM'){_0x224a70({'code':0x7f,'stdout':'','stderr':_0x5cd5d2 instanceof _0x259c47?_0x216669['message']:_0x470df7(_0x2660d7)});return;}else{const _0x184312=_0x30ce3b({'input':process['stdin'],'output':process['stdout']});_0x184312['question'](_0x1540ac,_0x207afb=>{const _0x327578=_0x2a8ca7;_0x184312[_0x327578(0x2cb)](),_0x310299(_0x207afb);});}});}async function _0x2a4875(_0x230568,_0x29d6de={}){const _0x4012ad=_0xa6e1,_0x1e3e5f=_0x29d6de['defaultYes']??!![];if(_0x4390ec(_0x29d6de))return _0x1e3e5f;const _0x68f497=_0x29d6de[_0x4012ad(0x4da)]??_0x10eb22,_0x31a589=_0x1e3e5f?_0x4012ad(0x186):_0x4012ad(0x1e1),_0x43c83d=(await _0x68f497(_0x230568+_0x31a589))[_0x4012ad(0x531)]()[_0x4012ad(0x55a)]();if(_0x43c83d[_0x4012ad(0x358)]===0x0)return _0x1e3e5f;return _0x43c83d==='y'||_0x43c83d==='yes';}function _0x7c81a8(_0x4ad511,_0x1d2836={}){const _0xc093b5=_0xa6e1,_0x5ed714=_0x1d2836['write']??(_0x4658be=>process['stdout'][_0xc093b5(0x3bf)](_0x4658be));_0x5ed714(_0x4ad511);}function _0x4079d9(_0xe41cc6,_0x38613c){const _0x3977d6=_0xa6e1,_0x41a976=_0x38613c??_0xe41cc6;if(process['stdout'][_0x3977d6(0x347)]!==!![]||process[_0x3977d6(0x461)][_0x3977d6(0x347)]!==!![])return _0x41a976;return'\x1b]8;;'+_0xe41cc6+'\x07'+_0x41a976+'\x1b]8;;\x07';}async function _0x199723(_0x3a1377,_0x3d2c35,_0x86718b={}){const _0x41e331=_0xa6e1;if(_0x3d2c35[_0x41e331(0x358)]===0x0)return null;if(_0x4390ec(_0x86718b))return 0x0;const _0x32eaa3=_0x86718b['ask']??_0x10eb22,_0x5e9af1=[_0x3a1377];_0x3d2c35['forEach']((_0x257d9a,_0xad42c1)=>{_0x5e9af1['push']('\x20\x20'+(_0xad42c1+0x1)+'.\x20'+_0x257d9a);}),_0x5e9af1[_0x41e331(0x407)]('');const _0x4604c5=_0x5e9af1[_0x41e331(0x3c0)]('\x0a')+(_0x41e331(0x225)+_0x3d2c35['length']+_0x41e331(0x473)),_0x5da3d7=(await _0x32eaa3(_0x4604c5))[_0x41e331(0x531)]();if(_0x5da3d7['length']===0x0)return 0x0;const _0xff209a=Number['parseInt'](_0x5da3d7,0xa)-0x1;if(Number[_0x41e331(0x438)](_0xff209a)||_0xff209a<0x0||_0xff209a>=_0x3d2c35['length'])return null;return _0xff209a;}var _0x460a52=_0x1b53f6({'src/init/prompt.ts'(){'use strict';}});import{readdir as _0x2e7028,readFile as _0x5496c0,writeFile as _0x1df2ae,mkdir,stat}from'fs/promises';import{join as _0x5aa5d0,relative as _0x4720dd}from'path';function _0x2088e2(_0x3d2571){const _0x1e8c5d=_0xa6e1;return _0x21f8d6[_0x1e8c5d(0x3bb)](_0x3d2571);}function _0x5d43fc(_0x325552){return _0x21f8d6['indexOf'](_0x325552);}function _0x4653d6(_0x8d1aca){const _0x19b410=_0xa6e1,_0x9c6e12=_0x8d1aca[_0x19b410(0x2b4)]('.');if(_0x9c6e12<=0x0)return null;const _0x11a6e5=_0x8d1aca[_0x19b410(0x554)](0x0,_0x9c6e12),_0x547866=_0x8d1aca['slice'](_0x9c6e12)[_0x19b410(0x55a)]();if(!_0x2088e2(_0x547866))return null;if(_0x11a6e5['length']===0x0)return null;return{'stem':_0x11a6e5,'ext':_0x547866};}function _0x509ed1(_0x5e3874){const _0x38e643=_0xa6e1,_0xa3c622=_0x38e643(0x594);if(_0x5e3874['length']===0x0)return _0xa3c622+_0x38e643(0x1e9);const _0x214852=Math[_0x38e643(0x241)](..._0x5e3874[_0x38e643(0x471)](_0xcc5f4c=>_0xcc5f4c[_0x38e643(0x289)]['length']+0x2)),_0x3f323e=_0x5e3874[_0x38e643(0x471)](_0x57d9ce=>{const _0xf3cd64='\x22'+_0x57d9ce['key']+'\x22,',_0x5153aa=_0xf3cd64['padEnd'](_0x214852+0x1,'\x20');return'\x20\x20configureTestImage('+_0x5153aa+'\x20require(\x22'+_0x57d9ce['relativePath']+'\x22));';});return _0xa3c622+_0x3f323e[_0x38e643(0x3c0)]('\x0a')+_0x38e643(0x3c9);}async function _0xd5f358(_0x57ac45){const _0x35140d=_0xa6e1,_0x22c9e4=_0x5aa5d0(_0x57ac45,_0xab7ca3),_0x30828a=_0x5aa5d0(_0x22c9e4,_0xdf5570);let _0xbf381;try{const _0x4e63e4=await stat(_0x22c9e4);if(!_0x4e63e4[_0x35140d(0x330)]()){if(_0x35140d(0x57f)==='mNpSd')return{'registered':[],'registryPath':_0x30828a,'writtenOrUnchanged':_0x35140d(0x50b)};else{if(typeof _0x24caf6==='string')_0x17fc26[_0x35140d(0x3f7)](_0x571197);}}_0xbf381=await _0x2e7028(_0x22c9e4);}catch{return{'registered':[],'registryPath':_0x30828a,'writtenOrUnchanged':'missing-dir'};}const _0x11e1b1=new Map();for(const _0x3ae939 of _0xbf381){if(_0x3ae939===_0xdf5570)continue;if(_0x3ae939[_0x35140d(0x317)]('_')||_0x3ae939['startsWith']('.'))continue;if(_0x3ae939===_0x35140d(0x481))continue;const _0x11fa5b=_0x4653d6(_0x3ae939);if(!_0x11fa5b)continue;const _0x291c9a={'key':_0x11fa5b['stem'],'relativePath':'./'+_0x3ae939,'ext':_0x11fa5b[_0x35140d(0x315)]},_0x8f3410=_0x11e1b1[_0x35140d(0x3a8)](_0x11fa5b['stem']);if(!_0x8f3410){_0x11e1b1[_0x35140d(0x293)](_0x11fa5b[_0x35140d(0x4a7)],_0x291c9a);continue;}_0x5d43fc(_0x291c9a['ext'])<_0x5d43fc(_0x8f3410[_0x35140d(0x315)])&&_0x11e1b1['set'](_0x11fa5b[_0x35140d(0x4a7)],_0x291c9a);}const _0x132f77=Array[_0x35140d(0x3d3)](_0x11e1b1['values']())['sort']((_0x2e559c,_0x50bc9c)=>_0x2e559c[_0x35140d(0x289)]<_0x50bc9c[_0x35140d(0x289)]?-0x1:_0x2e559c['key']>_0x50bc9c['key']?0x1:0x0),_0x26b503=_0x509ed1(_0x132f77);let _0x3437c6=null;try{_0x3437c6=await _0x5496c0(_0x30828a,_0x35140d(0x2fd));}catch{_0x3437c6=null;}if(_0x3437c6===_0x26b503)return{'registered':_0x132f77,'registryPath':_0x30828a,'writtenOrUnchanged':_0x35140d(0x176)};return await mkdir(_0x22c9e4,{'recursive':!![]}),await _0x1df2ae(_0x30828a,_0x26b503,'utf-8'),{'registered':_0x132f77,'registryPath':_0x30828a,'writtenOrUnchanged':'written'};}function _0x1f0a95(_0xf364f9,_0x393c69){const _0x4274b9=_0x4720dd(_0xf364f9,_0x393c69);return _0x4274b9['length']>0x0?_0x4274b9:_0x393c69;}var _0x21f8d6,_0xdf5570,_0xab7ca3,_0x5479af=_0x1b53f6({'src/camera-registry-sync.ts'(){'use strict';const _0x371e10=_0xa6e1;_0x21f8d6=[_0x371e10(0x517),_0x371e10(0x1da),'.png','.webp',_0x371e10(0x3b0)],_0xdf5570=_0x371e10(0x199),_0xab7ca3=_0x5aa5d0('.ceraph',_0x371e10(0x3dc));}});import{readFile as _0x2259ea,readdir as _0x121388,stat as _0x398d3d}from'fs/promises';import{join as _0x7d2ce2,relative as _0x4ed948,sep as _0xfcaaa2}from'path';async function _0x203260(_0x15f8da){try{return await _0x398d3d(_0x15f8da),!![];}catch{return![];}}async function _0x360b5d(_0x2af2f4){const _0x497512=_0xa6e1;try{const _0x13e4e8=await _0x2259ea(_0x2af2f4,_0x497512(0x2fd)),_0x6b3427=JSON[_0x497512(0x2ee)](_0x13e4e8);if(!_0x6b3427||typeof _0x6b3427!==_0x497512(0x2d2))return null;return _0x6b3427;}catch{return null;}}function _0x42d8e8(_0x1b6d5d){const _0x320716=_0xa6e1;if(!_0x1b6d5d)return{'expo':![],'rn':![]};const _0x5df77d=_0x1b6d5d[_0x320716(0x18d)]??{},_0x5b9a3e=_0x1b6d5d['devDependencies']??{},_0x596768={..._0x5df77d,..._0x5b9a3e};return{'expo':Boolean(_0x596768['expo']||_0x596768['expo-router']),'rn':Boolean(_0x596768['react-native'])};}async function _0x280439(_0x24aa3e){const _0x333d18=_0xa6e1,_0x31f562=_0x7d2ce2(_0x24aa3e,'pnpm-workspace.yaml');let _0x53de0c;try{_0x53de0c=await _0x2259ea(_0x31f562,_0x333d18(0x2fd));}catch{return null;}return _0x61fc41(_0x53de0c);}function _0x61fc41(_0x2ca84a){const _0x3801cf=_0xa6e1,_0x3c1964=[];let _0x126b68=![];for(const _0x116d02 of _0x2ca84a[_0x3801cf(0x41d)](/\r?\n/)){const _0x1bf3a8=_0x116d02[_0x3801cf(0x2c4)](/#.*$/,'')[_0x3801cf(0x2ed)]();if(_0x1bf3a8[_0x3801cf(0x358)]===0x0)continue;if(/^packages\s*:\s*$/[_0x3801cf(0x3a0)](_0x1bf3a8)){_0x126b68=!![];continue;}if(!_0x116d02[_0x3801cf(0x317)]('\x20')&&!_0x116d02['startsWith']('-')&&_0x1bf3a8[_0x3801cf(0x25c)](':')){_0x126b68=![];continue;}if(!_0x126b68)continue;const _0x2b76f8=_0x1bf3a8['match'](/^\s*-\s*['"]?([^'"]+?)['"]?\s*$/);if(_0x2b76f8&&_0x2b76f8[0x1])_0x3c1964[_0x3801cf(0x407)](_0x2b76f8[0x1]);}return _0x3c1964;}async function _0x2d1327(_0x3cd82e,_0x5194fd){const _0x3337da=_0xa6e1,_0x1926c2=_0x5194fd['replace'](/^\.\//,'')[_0x3337da(0x2c4)](/\/+$/,'');if(_0x1926c2[_0x3337da(0x358)]===0x0)return[];if(!_0x1926c2['includes']('*')){const _0x1d34aa=_0x7d2ce2(_0x3cd82e,_0x1926c2),_0x1259c7=await _0x203260(_0x1d34aa);return _0x1259c7?[_0x1d34aa]:[];}const _0x265275=_0x1926c2['match'](/^([^*]+)\/\*$/);if(!_0x265275||!_0x265275[0x1])return[];const _0x46fdeb=_0x265275[0x1]['replace'](/\/+$/,''),_0x3d2e46=_0x7d2ce2(_0x3cd82e,_0x46fdeb);let _0x5cfa7e;try{_0x5cfa7e=await _0x121388(_0x3d2e46,{'withFileTypes':!![]});}catch{return'BlseS'!=='rAVEd'?[]:{'ok':!![],'severity':'error','message':_0x3337da(0x277)+_0x38dfdf['lockState']+').','details':{'lockState':_0x3646f0[_0x3337da(0x417)]}};}const _0x27df1e=[];for(const _0x1fd071 of _0x5cfa7e){if(!_0x1fd071[_0x3337da(0x330)]())continue;if(_0x1fd071[_0x3337da(0x273)][_0x3337da(0x317)]('.'))continue;_0x27df1e[_0x3337da(0x407)](_0x7d2ce2(_0x3d2e46,_0x1fd071[_0x3337da(0x273)]));}return _0x27df1e;}async function _0x142561(_0x295f77){const _0x803930=_0xa6e1,_0x400628=new Set();let _0x224317=![];const _0x32b4fa=await _0x360b5d(_0x7d2ce2(_0x295f77,'package.json'));if(_0x32b4fa?.[_0x803930(0x4b1)]){_0x224317=!![];if(Array[_0x803930(0x310)](_0x32b4fa['workspaces'])){if('SxuQP'!==_0x803930(0x49f)){for(const _0x5b41a7 of _0x32b4fa[_0x803930(0x4b1)])_0x400628['add'](_0x5b41a7);}else{_0x3e0439('Claude\x20Code\x20hook:\x20'+_0x2367cb+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.');return;}}else{if(_0x32b4fa[_0x803930(0x4b1)]&&typeof _0x32b4fa['workspaces']===_0x803930(0x2d2)&&Array[_0x803930(0x310)](_0x32b4fa['workspaces']['packages']))for(const _0x726f1d of _0x32b4fa[_0x803930(0x4b1)]['packages']){_0x400628[_0x803930(0x3f7)](_0x726f1d);}}}const _0x4266ff=await _0x280439(_0x295f77);if(_0x4266ff!=null){_0x224317=!![];for(const _0x571380 of _0x4266ff)_0x400628[_0x803930(0x3f7)](_0x571380);}const _0xce6992=await _0x360b5d(_0x7d2ce2(_0x295f77,'lerna.json'));if(_0xce6992){const _0x2eccd0=_0xce6992['packages'];if(Array[_0x803930(0x310)](_0x2eccd0)){_0x224317=!![];for(const _0x5e7e54 of _0x2eccd0){if(typeof _0x5e7e54==='string')_0x400628[_0x803930(0x3f7)](_0x5e7e54);}}else await _0x203260(_0x7d2ce2(_0x295f77,_0x803930(0x53b)))&&(_0x224317=!![]);}if(!_0x224317)return null;return Array['from'](_0x400628);}async function _0x23c9dd(_0xffc8a9){const _0x3fb01d=_0xa6e1,_0x3f882a=await _0x360b5d(_0x7d2ce2(_0xffc8a9,'package.json')),_0x31f07a=_0x42d8e8(_0x3f882a);if(_0x31f07a[_0x3fb01d(0x467)]||_0x31f07a['rn'])return{'kind':'none','matches':[],'rootIsRnApp':!![],'isMonorepo':await _0x142561(_0xffc8a9)!=null};const _0x292a2d=await _0x142561(_0xffc8a9);if(_0x292a2d==null)return{'kind':'none','matches':[],'rootIsRnApp':![],'isMonorepo':![]};const _0x319d3e=new Set();for(const _0x5469e7 of _0x292a2d){for(const _0x18e527 of await _0x2d1327(_0xffc8a9,_0x5469e7)){_0x319d3e[_0x3fb01d(0x3f7)](_0x18e527);}}const _0x18d617=[];for(const _0x362799 of _0x319d3e){const _0x120dff=_0x7d2ce2(_0x362799,_0x3fb01d(0x575)),_0x26ab73=await _0x360b5d(_0x120dff),_0x3d668c=_0x42d8e8(_0x26ab73),_0x2c7666=await _0x203260(_0x7d2ce2(_0x362799,_0x3fb01d(0x4ca))),_0xe29e13=[];if(_0x3d668c['expo'])_0xe29e13['push']('expo');if(_0x3d668c['rn'])_0xe29e13['push']('react-native');if(_0x2c7666)_0xe29e13['push']('app.json');if(_0xe29e13['length']===0x0)continue;const _0xda5e21=_0x4ed948(_0xffc8a9,_0x362799)[_0x3fb01d(0x41d)](_0xfcaaa2)['join']('/');_0x18d617['push']({'absPath':_0x362799,'relPath':_0xda5e21['length']>0x0?_0xda5e21:'.','signals':_0xe29e13});}_0x18d617[_0x3fb01d(0x192)]((_0x51b9ad,_0x8c41ca)=>_0x51b9ad[_0x3fb01d(0x539)]<_0x8c41ca['relPath']?-0x1:_0x51b9ad[_0x3fb01d(0x539)]>_0x8c41ca[_0x3fb01d(0x539)]?0x1:0x0);const _0x1050b3=_0x18d617['length']===0x0?'none':_0x18d617['length']===0x1?_0x3fb01d(0x2c9):_0x3fb01d(0x26b);return{'kind':_0x1050b3,'matches':_0x18d617,'rootIsRnApp':![],'isMonorepo':!![]};}var _0x52a119=_0x1b53f6({'src/init/monorepo.ts'(){'use strict';}});import{readFile as _0x3ca917,writeFile as _0xf060f,access as _0x4d1e0f}from'fs/promises';import{join as _0x3383eb}from'path';async function _0x31b993(_0x5c0316){try{return await _0x4d1e0f(_0x5c0316),!![];}catch{return![];}}async function _0x341c61(_0xcd11ce,_0x258254={}){const _0x3a6607=_0xa6e1,_0x5f28d3=_0x258254['fileExists']??_0x31b993,_0x2bec10=_0x258254['readFile']??(_0x5ee4cc=>_0x3ca917(_0x5ee4cc,_0x3a6607(0x2fd))),_0x4a3717=_0x258254['writeFile']??((_0x23ba3f,_0x5b986a)=>_0xf060f(_0x23ba3f,_0x5b986a,'utf-8')),_0x42a0cc=_0x3383eb(_0xcd11ce,_0x3a6607(0x4ca)),_0x20783e=_0x3383eb(_0xcd11ce,_0x3a6607(0x234)),_0x5b2364=_0x3383eb(_0xcd11ce,_0x3a6607(0x3a5)),_0x51732b=_0x3383eb(_0xcd11ce,_0x3a6607(0x331)),_0x56ca76=_0x3383eb(_0xcd11ce,'android'),_0x463c25=await _0x5f28d3(_0x20783e),_0x5de58f=await _0x5f28d3(_0x5b2364);if(_0x463c25||_0x5de58f)return{'kind':'expo-config-needs-manual','path':_0x5de58f?_0x5b2364:_0x20783e};if(await _0x5f28d3(_0x42a0cc)){const _0x33f3ca=await _0x2bec10(_0x42a0cc),_0xe843b5=_0x3cc91b(_0x33f3ca);if(!_0xe843b5['ok'])return{'kind':'expo-config-needs-manual','path':_0x42a0cc};const _0x3ea928=_0x5f1289(_0xe843b5['parsed'],_0x506866);if(_0x3ea928['action']==='already')return{'kind':'expo-json-already-registered','scheme':_0x3ea928[_0x3a6607(0x541)],'path':_0x42a0cc};return await _0x4a3717(_0x42a0cc,_0x4bde98(_0xe843b5['parsed'],_0x33f3ca)),{'kind':_0x3a6607(0x396),'previousScheme':_0x3ea928['previousScheme'],'nextScheme':_0x3ea928[_0x3a6607(0x3d7)],'path':_0x42a0cc};}if(await _0x5f28d3(_0x51732b)||await _0x5f28d3(_0x56ca76))return{'kind':'bare-rn-needs-manual'};return{'kind':'no-rn-project'};}function _0x3cc91b(_0x593c16){const _0x27b670=_0xa6e1;try{const _0x4999bd=JSON['parse'](_0x593c16);if(!_0x4999bd||typeof _0x4999bd!==_0x27b670(0x2d2)||Array['isArray'](_0x4999bd))return{'ok':![],'parsed':{}};return{'ok':!![],'parsed':_0x4999bd};}catch{return{'ok':![],'parsed':{}};}}function _0x4bde98(_0x2a3957,_0x15eefe){const _0x10ffea=_0xa6e1,_0x3c2157=_0x15eefe[_0x10ffea(0x382)](/\n(\s+)"/),_0x575fd0=_0x3c2157?.[0x1]??'\x20\x20',_0x501037=_0x15eefe['endsWith']('\x0a'),_0x434295=JSON['stringify'](_0x2a3957,null,_0x575fd0);return _0x501037?_0x434295+'\x0a':_0x434295;}function _0x5f1289(_0x3026e0,_0x133c63){const _0x517c9c=_0xa6e1;(!_0x3026e0['expo']||typeof _0x3026e0[_0x517c9c(0x467)]!==_0x517c9c(0x2d2))&&(_0x3026e0['expo']={});const _0x495cd5=_0x3026e0[_0x517c9c(0x467)],_0x54555=_0x495cd5[_0x517c9c(0x541)];if(typeof _0x54555===_0x517c9c(0x2c6)&&_0x54555===_0x133c63)return{'action':_0x517c9c(0x4a8),'scheme':_0x54555,'previousScheme':_0x54555,'nextScheme':[_0x54555]};if(Array['isArray'](_0x54555)&&_0x54555[_0x517c9c(0x3bb)](_0x133c63))return{'action':'already','scheme':_0x54555,'previousScheme':_0x54555,'nextScheme':[..._0x54555]};if(_0x54555===void 0x0)return _0x495cd5['scheme']=_0x133c63,{'action':_0x517c9c(0x45f),'scheme':_0x133c63,'previousScheme':void 0x0,'nextScheme':[_0x133c63]};if(typeof _0x54555===_0x517c9c(0x2c6)){const _0xeb8c58=[_0x54555,_0x133c63];return _0x495cd5['scheme']=_0xeb8c58,{'action':_0x517c9c(0x45f),'scheme':_0xeb8c58,'previousScheme':_0x54555,'nextScheme':_0xeb8c58};}if(Array[_0x517c9c(0x310)](_0x54555)){if(_0x517c9c(0x246)!=='AxwTa')return[];else{const _0xd9844e=[..._0x54555,_0x133c63];return _0x495cd5[_0x517c9c(0x541)]=_0xd9844e,{'action':_0x517c9c(0x45f),'scheme':_0xd9844e,'previousScheme':_0x54555,'nextScheme':_0xd9844e};}}return _0x495cd5[_0x517c9c(0x541)]=_0x133c63,{'action':'added','scheme':_0x133c63,'previousScheme':_0x54555,'nextScheme':[_0x133c63]};}function _0x5f272c(){const _0x30a235=_0xa6e1;return'\x0aAdd\x20Ceraph\x27s\x20custom\x20URL\x20scheme\x20so\x20deep\x20links\x20(ceraph://reload,\x0aceraph://reset,\x20ceraph://storage)\x20reach\x20the\x20running\x20app.\x0a\x0aiOS\x20—\x20edit\x20ios/<YourApp>/Info.plist:\x0a\x0a\x20\x20<key>CFBundleURLTypes</key>\x0a\x20\x20<array>\x0a\x20\x20\x20\x20<dict>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLName</key>\x0a\x20\x20\x20\x20\x20\x20<string>com.yourcompany.yourapp</string>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLSchemes</key>\x0a\x20\x20\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>ceraph</string>\x0a\x20\x20\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20</array>\x0a\x0aAndroid\x20—\x20edit\x20android/app/src/main/AndroidManifest.xml\x20inside\x20the\x0aMainActivity\x20<activity>\x20block:\x0a\x0a\x20\x20<intent-filter>\x0a\x20\x20\x20\x20<action\x20android:name=\x22android.intent.action.VIEW\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.DEFAULT\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.BROWSABLE\x22\x20/>\x0a\x20\x20\x20\x20<data\x20android:scheme=\x22ceraph\x22\x20/>\x0a\x20\x20</intent-filter>\x0a\x0aThen\x20rebuild\x20the\x20native\x20app\x20(pod\x20install\x20+\x20xcodebuild\x20on\x20iOS,\x20./gradlew\x0aassembleDebug\x20on\x20Android).\x20Existing\x20JS-only\x20reloads\x20do\x20not\x20pick\x20up\x0anative\x20config\x20changes.\x0a'[_0x30a235(0x282)]();}function _0x36c875(_0x4d7dea){const _0x445a3c=_0xa6e1;return(_0x445a3c(0x3b2)+_0x4d7dea+_0x445a3c(0x41f))['trimStart']();}var _0x506866,_0x569aea=_0x1b53f6({'src/init/url-scheme.ts'(){'use strict';const _0x4888dc=_0xa6e1;_0x506866=_0x4888dc(0x399);}});import{createHash}from'crypto';import{join as _0x1fa57c}from'path';import{readFile as _0xc8e6ef}from'fs/promises';import{Project as _0x50ae4c,Node as _0x2c5fc9,SyntaxKind as _0x3a0517}from'ts-morph';function _0x383dcd(_0x1cad06){const _0x1e7d33=_0xa6e1;return createHash('sha256')[_0x1e7d33(0x187)](_0x1cad06)[_0x1e7d33(0x33d)]('hex')[_0x1e7d33(0x554)](0x0,0x10);}function _0x9afc2f(_0x3fe420,_0x3c078c){const _0x1be875=_0xa6e1;if(_0x2c5fc9['isStringLiteral'](_0x3fe420)||_0x2c5fc9['isNoSubstitutionTemplateLiteral'](_0x3fe420))return _0x3fe420['getLiteralText']()===_0x3c078c;if(_0x2c5fc9[_0x1be875(0x2b8)](_0x3fe420)){const _0x1bdc16=_0x3fe420['getElements']()[0x0];return!!_0x1bdc16&&_0x9afc2f(_0x1bdc16,_0x3c078c);}if(_0x2c5fc9['isCallExpression'](_0x3fe420)){const _0x549ed6=_0x3fe420['getExpression']();if(_0x2c5fc9[_0x1be875(0x3de)](_0x549ed6)&&_0x549ed6['getText']()===_0x1be875(0x1f4)){const _0x58690e=_0x3fe420['getArguments']()[0x0];return!!_0x58690e&&_0x9afc2f(_0x58690e,_0x3c078c);}}return![];}function _0x53682a(_0x4f89ce){const _0x375c00=_0xa6e1,_0x1b2a9b=new _0x50ae4c({'useInMemoryFileSystem':!![],'compilerOptions':{'allowJs':!![]}}),_0x517801=_0x1b2a9b['createSourceFile']('babel.config.js',_0x4f89ce);for(const _0x2ff82f of _0x517801[_0x375c00(0x30e)](_0x3a0517[_0x375c00(0x4f9)])){if(_0x2ff82f[_0x375c00(0x1ff)]()!==_0x375c00(0x416))continue;const _0x2eedee=_0x2ff82f[_0x375c00(0x341)]();if(_0x2eedee&&_0x2c5fc9['isArrayLiteralExpression'](_0x2eedee))return{'array':_0x2eedee,'sourceText':_0x517801['getFullText']()};}return null;}var _0xe3b707,_0x323fce,_0x735732=_0x1b53f6({'src/init/babel-config-hash.ts'(){'use strict';const _0x5bfa9d=_0xa6e1;_0xe3b707=_0x5bfa9d(0x4f2),_0x323fce=['babel.config.js','babel.config.cjs','.babelrc.js'];}});import{join as _0x48111d}from'path';import{readFile as _0x3ed38f,writeFile as _0x6350ab,access as _0x43bfb4,mkdir as _0x292fa8}from'fs/promises';function _0x66f259(_0x122bcd){return'module.exports\x20=\x20function\x20(api)\x20{\x0a\x20\x20api.cache(true);\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20presets:\x20[\x27'+_0x122bcd+'\x27],\x0a\x20\x20\x20\x20plugins:\x20[\x27'+_0xe3b707+'\x27],\x0a\x20\x20};\x0a};\x0a';}async function _0x3878e1(_0x533fd1){try{return await _0x43bfb4(_0x533fd1),!![];}catch{return![];}}function _0xa6e1(_0x473d77,_0x1a8694){_0x473d77=_0x473d77-0x15e;const _0x5f11c6=_0x5f11();let _0xa6e113=_0x5f11c6[_0x473d77];return _0xa6e113;}async function _0x377f1b(_0x4a8b2a,_0x1a3fcf){for(const _0x2b2ffa of _0x323fce){const _0x5deb4f=_0x48111d(_0x4a8b2a,_0x2b2ffa);if(await _0x1a3fcf(_0x5deb4f))return _0x5deb4f;}return null;}async function _0x198e81(_0x1b1cfd,_0x3f6355={}){const _0x20958b=_0xa6e1,_0x71634a=_0x3f6355[_0x20958b(0x529)]??(_0x29c534=>_0x3ed38f(_0x29c534,'utf-8')),_0x39145b=_0x3f6355['writeFile']??((_0x168f8f,_0x53d16f)=>_0x6350ab(_0x168f8f,_0x53d16f,_0x20958b(0x2fd))),_0x4f103d=_0x3f6355[_0x20958b(0x266)]??_0x3878e1,_0x183403=await _0x377f1b(_0x1b1cfd,_0x4f103d);if(!_0x183403){let _0x3b9e3f='babel-preset-expo';try{const _0x21d326=JSON[_0x20958b(0x2ee)](await _0x71634a(_0x48111d(_0x1b1cfd,'package.json'))),_0x48dc1f={..._0x21d326[_0x20958b(0x18d)],..._0x21d326[_0x20958b(0x181)]};if(!_0x48dc1f['expo'])_0x3b9e3f='@react-native/babel-preset';}catch{}const _0x5be083=_0x48111d(_0x1b1cfd,_0x20958b(0x2da)),_0x397925=_0x66f259(_0x3b9e3f);return await _0x39145b(_0x5be083,_0x397925),await _0x20fd5e(_0x1b1cfd,_0x397925,_0x3f6355,_0x39145b),{'kind':_0x20958b(0x3d2),'path':_0x5be083,'preset':_0x3b9e3f};}let _0x18cdea;try{_0x18cdea=await _0x71634a(_0x183403);}catch{return{'kind':'needs-manual','path':_0x183403,'reason':'could\x20not\x20read\x20the\x20file'};}const _0x2989ed=_0x53682a(_0x18cdea);if(_0x2989ed){const _0x16d5f5=_0x2989ed['array'][_0x20958b(0x25f)]();if(_0x16d5f5[_0x20958b(0x179)](_0xdab4f9=>_0x9afc2f(_0xdab4f9,_0xe3b707))){if('OtgwI'!=='VaBuQ')return await _0x20fd5e(_0x1b1cfd,_0x18cdea,_0x3f6355,_0x39145b),{'kind':'already-present','path':_0x183403};else _0x589979[_0x20958b(0x407)](_0x36594e),_0x18d2a1[_0x20958b(0x2a0)]?.(_0x1c67d8);}const _0x47f243=_0x16d5f5[_0x20958b(0x41e)](_0x3d3f96=>_0x9afc2f(_0x3d3f96,_0x4eb2d3)),_0x3f2c51=_0x47f243>=0x0?_0x47f243:_0x16d5f5[_0x20958b(0x358)];_0x2989ed[_0x20958b(0x247)]['insertElement'](_0x3f2c51,'\x22'+_0xe3b707+'\x22');const _0x24b802=_0x2989ed['array']['getSourceFile']()['getFullText']();return await _0x39145b(_0x183403,_0x24b802),await _0x20fd5e(_0x1b1cfd,_0x24b802,_0x3f6355,_0x39145b),{'kind':_0x20958b(0x45f),'path':_0x183403,'beforeReanimated':_0x47f243>=0x0};}return{'kind':_0x20958b(0x248),'path':_0x183403,'reason':'no\x20`plugins:\x20[...]`\x20array\x20found\x20to\x20edit\x20safely\x20(dynamic\x20config?).\x20Add\x20\x22'+_0xe3b707+_0x20958b(0x551)+_0x4eb2d3+_0x20958b(0x34c)};}async function _0x20fd5e(_0x6e99a7,_0x4f1f23,_0x5142fd,_0x366893){const _0x3e0005=_0xa6e1,_0x5c8d3a=_0x48111d(_0x6e99a7,_0x3e0005(0x454));if(!_0x5142fd[_0x3e0005(0x2bc)]){if(_0x3e0005(0x19b)!==_0x3e0005(0x19b))_0x14c7bb['set'](_0x4d846f[_0x3e0005(0x4a7)],_0x75c0c3);else try{await _0x292fa8(_0x5c8d3a,{'recursive':!![]});}catch{}}const _0x1f7bea={'pluginVersion':_0x5142fd[_0x3e0005(0x2c8)]??_0x47b8a7,'babelConfigHash':_0x383dcd(_0x4f1f23)};await _0x366893(_0x48111d(_0x5c8d3a,'testid-config.json'),JSON[_0x3e0005(0x278)](_0x1f7bea,null,0x2)+'\x0a');}var _0x4eb2d3,_0x47b8a7,_0x3ea95e=_0x1b53f6({'src/init/babel-config.ts'(){'use strict';_0x735732(),_0x4eb2d3='react-native-reanimated/plugin',_0x47b8a7='0.2.2';}});import{execFile}from'child_process';import{constants as _0x230570,promises as _0x218d02}from'fs';import{isAbsolute,join as _0x136446,normalize,relative as _0x2580f4}from'path';import{promisify}from'util';function _0xa6f174(_0x7f0d59){const _0x283778=_0xa6e1,_0x37185c=_0x7f0d59['toLowerCase']();for(const _0x154eaf of _0x8459c5){if(_0x154eaf['test'](_0x37185c))return![];}const _0x3a34d2=_0x37185c['split']('/')['pop']()??'';if(/[._-]tokens?($|[._-])/['test'](_0x3a34d2))return![];const _0x2b5449=_0x7f0d59['lastIndexOf']('.');if(_0x2b5449<0x0)return![];const _0x404409=_0x7f0d59[_0x283778(0x554)](_0x2b5449)[_0x283778(0x55a)]();return _0xc47b05['has'](_0x404409);}async function _0x47bc4a(_0x2f6de2){const _0xf2cba5=_0xa6e1;try{const {stdout:_0x455edd}=await _0x51960b(_0xf2cba5(0x207),['rev-parse','--abbrev-ref',_0xf2cba5(0x2a4)],{'cwd':_0x2f6de2});return _0x455edd[_0xf2cba5(0x531)]();}catch{return _0xf2cba5(0x548);}}async function _0x224b34(_0xe54c12,_0x4f5b6b){try{const {stdout:_0x38dd87}=await _0x51960b('git',['rev-parse',_0x4f5b6b],{'cwd':_0xe54c12});return _0x38dd87['trim']();}catch{return _0x4f5b6b;}}async function _0x299307(_0x46da9){const _0x44c78b=_0xa6e1;try{const {stdout:_0x4af347}=await _0x51960b(_0x44c78b(0x207),[_0x44c78b(0x547)],{'cwd':_0x46da9,'maxBuffer':0x8*0x400*0x400});return _0x4af347[_0x44c78b(0x41d)]('\x0a')[_0x44c78b(0x471)](_0x4040e4=>_0x4040e4['trim']())[_0x44c78b(0x422)](Boolean)[_0x44c78b(0x422)](_0xa6f174);}catch{return[];}}var _0x51960b,_0xc47b05,_0x8459c5,_0x128ec9=_0x1b53f6({'src/git.ts'(){'use strict';const _0x2ea037=_0xa6e1;_0x51960b=promisify(execFile),_0xc47b05=new Set(['.tsx',_0x2ea037(0x232),'.jsx',_0x2ea037(0x2e7),'.cjs','.mjs','.json']),_0x8459c5=[/(^|\/)\.env(\.|$)/,/\.pem$/,/\.key$/,/\.p12$/,/\.pfx$/,/\.keystore$/,/\.jks$/,/\.mobileprovision$/,/(^|\/)credentials?\b/,/(^|\/)secrets?\b/,/private[_-]?key/];}});import{execFile as _0x5c6cea}from'child_process';import{promisify as _0x1e58d9}from'util';async function _0x193f25(_0xe3beef){const _0x5bb1c5=_0xa6e1,{stdout:_0x284cb6}=await _0x40d9b5('git',['config','--get','remote.origin.url'],{'cwd':_0xe3beef,'encoding':_0x5bb1c5(0x2fd)}),_0x143a63=_0x284cb6[_0x5bb1c5(0x531)](),_0x49c1dd=_0x143a63['replace'](/\.git$/,''),_0x43d36a=_0x49c1dd[_0x5bb1c5(0x382)](/^(?:https?:\/\/(?:[^/@]+@)?github\.com(?::\d+)?\/|git@github\.com:|ssh:\/\/git@github\.com(?::\d+)?\/)([^/]+)\/([^/]+?)$/);if(!_0x43d36a)throw new Error(_0x5bb1c5(0x328));return{'owner':_0x43d36a[0x1],'repo':_0x43d36a[0x2]};}var _0x40d9b5,_0x3338e8=_0x1b53f6({'src/github.ts'(){'use strict';_0x40d9b5=_0x1e58d9(_0x5c6cea);}});function _0x1a0857(_0x9ae94f){const _0x3cf51e=_0xa6e1;let _0x26bdff;try{_0x26bdff=new URL(_0x9ae94f);}catch{throw new Error(_0x3cf51e(0x402)+_0x9ae94f+_0x3cf51e(0x4bb));}if(_0x26bdff[_0x3cf51e(0x280)]==='https:')return _0x9ae94f;if(_0x26bdff[_0x3cf51e(0x280)]==='http:'){const _0x481622=_0x26bdff['hostname'][_0x3cf51e(0x55a)]();if(_0x372039['has'](_0x481622))return _0x9ae94f;throw new Error('Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20over\x20plaintext\x20HTTP\x20to\x20a\x20non-local\x20host:\x20\x22'+_0x9ae94f+'\x22.\x20Use\x20https://\x20for\x20remote\x20endpoints\x20(http://\x20is\x20only\x20allowed\x20for\x20localhost\x20/\x20127.0.0.1).');}throw new Error(_0x3cf51e(0x2cf)+_0x26bdff[_0x3cf51e(0x280)]+_0x3cf51e(0x295)+_0x9ae94f+_0x3cf51e(0x591));}var _0x372039,_0x4ad8de=_0x1b53f6({'src/utils/validate-base-url.ts'(){'use strict';const _0x28aa74=_0xa6e1;_0x372039=new Set(['localhost','127.0.0.1','[::1]','::1','[::ffff:7f00:1]',_0x28aa74(0x4f8)]);}});async function _0x311fd3(_0x57adac){const _0x2755a7=_0xa6e1,_0x2c3675=_0x57adac[_0x2755a7(0x17a)];if(_0x2c3675===0x191)return new _0x4e5dc9('account-invalid',0x191,_0x2755a7(0x58b));if(_0x2c3675===0x192||_0x2c3675===0x193)return'JDWoW'!=='JDWoW'?('\x0aYour\x20project\x20uses\x20'+_0x5104d4+'\x20(dynamic\x20Expo\x20config)\x20—\x20we\x20can\x27t\x0asafely\x20auto-edit\x20a\x20JS/TS\x20file.\x20Add\x20Ceraph\x27s\x20URL\x20scheme\x20manually:\x0a\x0a\x20\x20export\x20default\x20({\x20config\x20})\x20=>\x20({\x0a\x20\x20\x20\x20...config,\x0a\x20\x20\x20\x20scheme:\x20Array.isArray(config.scheme)\x0a\x20\x20\x20\x20\x20\x20?\x20[...config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20:\x20config.scheme\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20[config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x22ceraph\x22,\x0a\x20\x20\x20\x20//\x20...\x20rest\x20of\x20your\x20expo\x20config\x0a\x20\x20});\x0a\x0aThen\x20re-run\x20`expo\x20prebuild\x20--clean`\x20if\x20you\x27ve\x20ejected,\x20or\x20just\x0arestart\x20the\x20dev\x20client.\x0a')['trimStart']():new _0x4e5dc9(_0x2755a7(0x475),_0x2c3675,_0x2755a7(0x220));if(_0x2c3675===0x1ad)return new _0x4e5dc9('rate-limited',0x1ad,_0x2755a7(0x25b));if(_0x2c3675>=0x1f4)return new _0x4e5dc9('server-error',_0x2c3675,_0x2755a7(0x38f)+_0x2c3675+').\x20Try\x20again\x20in\x20a\x20few\x20seconds.');let _0x543341,_0xf99490;try{const _0x354600=await _0x57adac['json']();if(_0x354600&&typeof _0x354600===_0x2755a7(0x2d2)){_0xf99490=_0x354600;const _0x24c047=_0x354600,_0x30bfb8=typeof _0x24c047[_0x2755a7(0x2aa)]===_0x2755a7(0x2c6)&&_0x24c047[_0x2755a7(0x2aa)]||typeof _0x24c047['error']===_0x2755a7(0x2c6)&&_0x24c047[_0x2755a7(0x48f)]||void 0x0;if(_0x30bfb8)_0x543341=_0x30bfb8;}}catch{}return new _0x4e5dc9('bad-response',_0x2c3675,_0x2755a7(0x482)+_0x2c3675+(_0x543341?':\x20'+_0x543341:'')+').',void 0x0,_0xf99490);}function _0x1ce078(_0x4493ad){const _0x34c411=_0x4493ad?.['apiBase']?.['trim']()||process.env.CERAPH_API_URL?.['trim']()||_0x1fe699;return _0x1a0857(_0x34c411),_0x34c411['replace'](/\/+$/,'');}async function _0x33590c(_0x24250a,_0x1cdec4,_0x3f9928,_0x2d18df){const _0x3cdbfe=_0xa6e1;if(!_0x3f9928)throw new _0x4e5dc9(_0x3cdbfe(0x36b),0x191,'Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.');const _0x4e2b05=_0x2d18df?.['timeoutMs']??_0x5d547c,_0x11b7e7=_0x1ce078(_0x2d18df),_0x979224=''+_0x11b7e7+(_0x24250a['startsWith']('/')?_0x24250a:'/'+_0x24250a),_0x246489=new AbortController(),_0x5227f8=setTimeout(()=>_0x246489['abort'](),_0x4e2b05);let _0x10a0de;try{_0x10a0de=await fetch(_0x979224,{'method':'POST','headers':{'Content-Type':_0x3cdbfe(0x384),'Authorization':_0x3cdbfe(0x2ab)+_0x3f9928[_0x3cdbfe(0x233)]},'body':JSON['stringify'](_0x1cdec4??{}),'signal':_0x246489['signal']});}catch(_0x557069){const _0x3b3aff=_0x557069;if(_0x3b3aff?.['name']===_0x3cdbfe(0x4e6))throw new _0x4e5dc9('network-error',0x0,_0x3cdbfe(0x44d)+_0x4e2b05+'ms).\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.',_0x557069);throw new _0x4e5dc9('network-error',0x0,_0x3cdbfe(0x36c),_0x557069);}finally{clearTimeout(_0x5227f8);}if(!_0x10a0de['ok'])throw await _0x311fd3(_0x10a0de);let _0x8c91ac;try{if('jmDUu'==='oeJGf'){'use strict';_0x2e5cdc(),_0x382fc0(),_0x2ad630(),_0x478547(),_0x51f989(),_0x1fd590(),_0x2b4cba(),_0x3c1e1c(),_0x5684b3(),_0x1dbe84(),_0x946441(),_0x5b8194(),_0x148b4f(),_0x1b404b=![],_0x2c9167=async _0x12d1b0=>({'exitCode':0x0});}else _0x8c91ac=await _0x10a0de[_0x3cdbfe(0x21a)]();}catch(_0x1a33f1){const _0x23d732=_0x1a33f1;throw new _0x4e5dc9('bad-response',_0x10a0de[_0x3cdbfe(0x17a)],'Ceraph\x20server\x20returned\x20malformed\x20JSON\x20for\x20'+_0x24250a+':\x20'+(_0x23d732?.[_0x3cdbfe(0x2aa)]??String(_0x1a33f1)),_0x1a33f1);}if(!_0x8c91ac||typeof _0x8c91ac!==_0x3cdbfe(0x2d2)||Array['isArray'](_0x8c91ac)){if('wftBG'!==_0x3cdbfe(0x161))throw new _0x4e5dc9('bad-response',_0x10a0de[_0x3cdbfe(0x17a)],_0x3cdbfe(0x238)+_0x24250a+_0x3cdbfe(0x318));else{_0x5c4353(null);return;}}return _0x8c91ac;}var _0x1fe699,_0x5d547c,_0x4e5dc9,_0x2f0094=_0x1b53f6({'src/api-client.ts'(){'use strict';const _0x35d198=_0xa6e1;_0x4ad8de(),_0x1fe699='https://ceraph.dev/api/mcp',_0x5d547c=0x7530,_0x4e5dc9=class extends Error{['kind'];['status'];['agentMessage'];[_0x35d198(0x200)];constructor(_0xdea4be,_0x2fd597,_0x3522ef,_0x386230,_0x60d32d){const _0x211951=_0x35d198;super(_0x3522ef),this['name']='CeraphServerError',this[_0x211951(0x15f)]=_0xdea4be,this[_0x211951(0x17a)]=_0x2fd597,this['agentMessage']=_0x3522ef;if(_0x386230!==void 0x0)this['cause']=_0x386230;if(_0x60d32d!==void 0x0)this['details']=_0x60d32d;}};}});import{promises as _0x2ff319}from'fs';import{join as _0x2dadf8}from'path';async function _0xc45372(_0x28d290,_0x3013c2={}){const _0x157022=_0xa6e1,_0x104ea9=_0x3013c2['fetcher']??_0x33590c,_0x2a8f01=_0x3013c2['listFiles']??_0x299307,_0x1eb737=_0x3013c2['resolveRepo']??(async _0x13937e=>{const _0x2cd6b9=_0xa6e1;if('GYVon'!==_0x2cd6b9(0x386))try{return await _0x193f25(_0x13937e);}catch{return null;}else{if(!_0x39bf32['isExpressionStatement'](_0x264cb5))return![];const _0x2f1f8d=_0x4a82f3[_0x2cd6b9(0x1cb)]();if(!_0xbf5dbe['isCallExpression'](_0x2f1f8d))return![];const _0xdbcb40=_0x2f1f8d[_0x2cd6b9(0x1cb)]();return _0x892d90['isIdentifier'](_0xdbcb40)&&_0xdbcb40['getText']()===_0x2cd6b9(0x3e6);}}),_0x1893df=_0x3013c2[_0x157022(0x1e4)]??_0x224b34,_0x20437e=_0x3013c2['resolveBranch']??_0x47bc4a,_0x56135b=_0x3013c2['readFile']??(_0x4f9bbe=>_0x2ff319[_0x157022(0x529)](_0x4f9bbe,_0x157022(0x2fd))),_0x4a3285=await _0x1eb737(_0x28d290['workingDir'])['catch'](()=>null);if(!_0x4a3285)return{'status':'skipped','reason':_0x157022(0x560),'message':_0x157022(0x58c)};const _0x3ebc79=await _0x20437e(_0x28d290['workingDir']),_0x50d36a=await _0x1893df(_0x28d290['workingDir'],'HEAD');if(_0x50d36a==='HEAD'||_0x50d36a[_0x157022(0x358)]<0x7||_0x3ebc79===_0x157022(0x548)){if(_0x157022(0x393)===_0x157022(0x393))return{'status':'skipped','reason':_0x157022(0x468),'message':_0x157022(0x28c)};else _0x23a695(_0x16ae6b(_0x468fa4[_0x157022(0x42e)]?_0x157022(0x593)+_0x25c6e9[_0x157022(0x42e)]+'\x20[cached]':'Signed\x20in\x20[cached]'));}const _0x8b5c55=await _0x2a8f01(_0x28d290['workingDir']);if(_0x8b5c55['length']===0x0)return{'status':_0x157022(0x1a6),'reason':'no-graph-files','message':'No\x20graph-relevant\x20files\x20found\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.'};const _0x385838={};let _0x4d1207=![],_0x5e5283=0x0;for(const _0x3d01e5 of _0x8b5c55){if(!_0xa6f174(_0x3d01e5))continue;if(Object['keys'](_0x385838)['length']>=_0x40d2af){_0x4d1207=!![];break;}let _0xb97ba2;try{_0xb97ba2=await _0x56135b(_0x2dadf8(_0x28d290['workingDir'],_0x3d01e5));}catch{continue;}const _0x42d275=Buffer[_0x157022(0x526)](_0xb97ba2);if(_0x42d275>_0x27916a)continue;if(_0x5e5283+_0x42d275>_0x278d5f){_0x4d1207=!![];break;}_0x385838[_0x3d01e5]=_0xb97ba2,_0x5e5283+=_0x42d275;}if(Object['keys'](_0x385838)[_0x157022(0x358)]===0x0)return'bmPNc'==='bmPNc'?{'status':_0x157022(0x1a6),'reason':'no-graph-files','message':_0x157022(0x3f2)}:'installCeraph-only';let _0x3b33dc;_0x385838[_0x157022(0x4ca)]&&(_0x3b33dc=_0x385838[_0x157022(0x4ca)]);try{const _0x72f040=await _0x104ea9(_0x157022(0x3c3),{'repoOwner':_0x4a3285[_0x157022(0x2b6)],'repoName':_0x4a3285['repo'],'branch':_0x3ebc79,'headSha':_0x50d36a,'appFiles':_0x385838,..._0x3b33dc?{'appJsonContent':_0x3b33dc}:{}},_0x28d290['auth']);if(_0x72f040['ok']&&_0x72f040['flavor']&&typeof _0x72f040[_0x157022(0x27b)]===_0x157022(0x2f7)&&typeof _0x72f040['layoutCount']==='number')return{'status':'seeded','flavor':_0x72f040['flavor'],'screenCount':_0x72f040['screenCount'],'layoutCount':_0x72f040[_0x157022(0x239)],'bundleId':_0x72f040[_0x157022(0x4ad)]??null,'persisted':_0x72f040['persisted']===!![]};return{'status':'skipped','reason':_0x157022(0x212),'message':'Graph\x20cache\x20seed\x20returned\x20an\x20unexpected\x20response\x20shape.'};}catch(_0x15cf90){if(_0x157022(0x1b9)!==_0x157022(0x1b9)){const _0x4d7b89=_0x276887(_0x403726['label']??_0x9e12e1['name']??'')[_0x157022(0x55a)]();_0x4c8c07['push']({'rect':_0x2aeaed,'labelledBack':_0x4d7b89['includes']('back')});}else{if(_0x15cf90 instanceof _0x4e5dc9){if(_0x157022(0x2e1)==='DyRyO')return{'success':![],'error':_0x297484 instanceof _0x20edc8?_0x53a5a4[_0x157022(0x2aa)]:'Unknown\x20error\x20during\x20unlock'};else{const _0x264771=_0x15cf90['kind']==='bad-response'&&_0x15cf90[_0x157022(0x2e8)]['includes'](_0x157022(0x29c))?_0x157022(0x29c):'server-error';return{'status':'skipped','reason':_0x264771,'message':_0x4d1207?_0x15cf90['agentMessage']+_0x157022(0x3cf)+_0x40d2af+_0x157022(0x175):_0x15cf90['agentMessage']};}}return{'status':'skipped','reason':_0x157022(0x212),'message':_0x15cf90 instanceof Error?_0x15cf90['message']:_0x157022(0x4f0)};}}}var _0x27916a,_0x40d2af,_0x278d5f,_0x4ff041=_0x1b53f6({'src/init/graph-seed.ts'(){'use strict';_0x128ec9(),_0x3338e8(),_0x2f0094(),_0x27916a=0x7a120,_0x40d2af=0x1f4,_0x278d5f=0x8*0x400*0x400;}});import{promises as _0x18549}from'fs';import{homedir as _0x4e1c9f}from'os';import{join as _0x4eff36,dirname as _0x1fec5d}from'path';function _0x2cd703(){const _0x55394a=_0xa6e1;return _0x4eff36(_0x4e1c9f(),_0x55394a(0x454),'init-tier.json');}async function _0x55b0ac(_0xe65ca,_0x4039d5,_0x453f2a=Date['now']){const _0x5b1af7=_0xa6e1,_0xe37c69=_0x4039d5??_0x2cd703(),_0x13d946={'tier':_0xe65ca,'selectedAt':new Date(_0x453f2a())['toISOString']()};return await _0x18549[_0x5b1af7(0x3a1)](_0x1fec5d(_0xe37c69),{'recursive':!![],'mode':0x1c0}),await _0x18549[_0x5b1af7(0x2bc)](_0xe37c69,JSON[_0x5b1af7(0x278)](_0x13d946,null,0x2)+'\x0a','utf-8'),_0x13d946;}var _0x428b89=_0x1b53f6({'src/init/tier-store.ts'(){'use strict';}});function _0xa6ddb4(_0x4ca8f8){const _0x3f24ab=_0xa6e1,_0x4d8e6a=_0x4ca8f8[_0x3f24ab(0x26e)]?.['trim']()||process.env.CERAPH_API_URL?.[_0x3f24ab(0x531)]()||_0x26894b;return _0x4d8e6a[_0x3f24ab(0x2c4)](/\/+$/,'')+_0x3f24ab(0x1e0);}async function _0x5e1d42(_0x483c9e={}){return _0x17fe8c(_0x483c9e,'mobilePro');}async function _0x17fe8c(_0x3b90a5,_0x367d1b){const _0x1b6028=_0xa6e1,_0x371eea=_0x3b90a5[_0x1b6028(0x4b2)]??_0x30fcb3,_0x3c72e6=_0x3b90a5['now']??Date[_0x1b6028(0x1ec)],_0x471e86=_0x3b90a5[_0x1b6028(0x506)]??_0x1976b2,_0x3734a0=_0x3b90a5['fetcher']??((_0x3120d0,_0x141f50)=>globalThis[_0x1b6028(0x404)](_0x3120d0,_0x141f50)),_0x6ff78b=()=>_0x367d1b===_0x1b6028(0x283)?_0x15dee6:_0x3bce2a,_0x7cfe0b=_0x1ce4c7=>{if(_0x367d1b==='mobilePro')_0x15dee6=_0x1ce4c7;else _0x3bce2a=_0x1ce4c7;},_0x5ea621=_0x6ff78b();if(_0x5ea621&&_0x3c72e6()-_0x5ea621[_0x1b6028(0x348)]<_0x371eea)return _0x5ea621['value'];let _0x1dfaf6=![];try{const _0x52e81d=await _0x471e86();if(!_0x52e81d?.[_0x1b6028(0x233)])return _0x7cfe0b({'value':![],'fetchedAt':_0x3c72e6()}),![];const _0x138233=_0xa6ddb4(_0x3b90a5),_0x1d3dd9=await _0x3734a0(_0x138233,{'headers':{'Authorization':_0x1b6028(0x2ab)+_0x52e81d['accessToken'],'Accept':'application/json'}});if(!_0x1d3dd9['ok'])return _0x7cfe0b({'value':![],'fetchedAt':_0x3c72e6()}),![];const _0x3929b6=await _0x1d3dd9[_0x1b6028(0x21a)]();_0x1dfaf6=_0x3929b6!==null&&typeof _0x3929b6===_0x1b6028(0x2d2)&&_0x3929b6[_0x367d1b]===!![];}catch{_0x1dfaf6=![];}return _0x7cfe0b({'value':_0x1dfaf6,'fetchedAt':_0x3c72e6()}),_0x1dfaf6;}var _0x30fcb3,_0x3bce2a,_0x15dee6,_0x26894b,_0x202e4a=_0x1b53f6({'src/check-pro-tier.ts'(){'use strict';const _0xfb10c6=_0xa6e1;_0x10d22(),_0x30fcb3=0x5*0x3c*0x3e8,_0x3bce2a=null,_0x15dee6=null,_0x26894b=_0xfb10c6(0x2f5);}});import{spawn as _0xec6a55}from'child_process';import{join as _0x480ea5}from'path';async function _0x20ae7d(){return _0x1976b2();}function _0x3b719f(_0x1bf7ef){return new Promise(_0x279f9c=>{const _0x526a3d=_0xa6e1,_0x295b3a=_0xec6a55(_0x1bf7ef['bin'],_0x1bf7ef[_0x526a3d(0x43c)],{'cwd':_0x1bf7ef['cwd'],'stdio':_0x1bf7ef['stdioToStderr']?[_0x526a3d(0x3e2),0x2,0x2]:_0x526a3d(0x237)});_0x295b3a['on'](_0x526a3d(0x48f),()=>_0x279f9c({'exitCode':0x7f})),_0x295b3a['on'](_0x526a3d(0x542),_0x23872c=>_0x279f9c({'exitCode':_0x23872c??0x1}));});}function _0x4818da(_0x3a5ba5){return'\x20\x20'+_0x3a5ba5+'\x0a';}async function _0x517d0e(_0x228d3f,_0x5ba510={}){const _0x59689e=_0xa6e1,_0x371a6a=_0x32cc17=>_0x7c81a8(_0x32cc17,_0x5ba510),_0x586514=()=>{_0x371a6a('\x0a');},_0x205557=await _0x35f9ac(_0x228d3f,_0x5ba510),_0x1c899d=await _0x5be9b1(_0x205557),_0x33cb08=await _0x50b1ae(_0x205557);let _0x4a94c4=_0x33cb08;if(!_0x5ba510['skipInstall']){_0x586514();const _0x5b1094=_0xa55a6f(_0x1c899d,_0x59689e(0x3b3));_0x371a6a(_0x4818da((_0x33cb08?'Updating':'Installing')+_0x59689e(0x1a2)+_0x1c899d+')…'));const _0x4e6594=_0x5ba510[_0x59689e(0x3f1)]??_0x3b719f,_0x5f5d14=await _0x4e6594({'bin':_0x5b1094['bin'],'args':_0x5b1094[_0x59689e(0x43c)],'cwd':_0x205557,'stdioToStderr':_0x5ba510[_0x59689e(0x508)]===!![]});if(_0x5f5d14[_0x59689e(0x4d9)]!==0x0)throw new Error(_0x1c899d+_0x59689e(0x182)+_0x5f5d14['exitCode']+'.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`.');_0x4a94c4=!![];}let _0x2d78ef;if(_0x5ba510['tier'])_0x2d78ef=_0x5ba510['tier'];else{_0x586514(),_0x371a6a(_0x4818da('More\x20about\x20the\x20plans\x20→\x20'+_0x4079d9(_0x469c66))),_0x371a6a('\x0a');const _0x3b5db2=await _0x199723(_0x53423b,_0x17a37c,_0x5ba510);_0x2d78ef=_0x3b5db2===0x1?_0x59689e(0x545):_0x59689e(0x550);}const _0x5225f1=_0x5ba510[_0x59689e(0x4ed)]??(_0x2a4441=>_0x55b0ac(_0x2a4441)['then'](()=>void 0x0));await _0x5225f1(_0x2d78ef)[_0x59689e(0x3e8)](()=>void 0x0);const _0x4d61c0=_0x5ba510['loadAuth']??_0x20ae7d;let _0x39d45f=null,_0x1a13d5=null;_0x586514();if(_0x2d78ef===_0x59689e(0x550))_0x371a6a(_0x4818da(_0x59689e(0x173)));else{const _0x5ab420=await _0x4d61c0(),_0x1cc45b=_0x5ab420!==null&&(_0x5ab420['githubUser']['id']!==0x0||_0x5ab420['githubUser']['login']!=='');_0x39d45f=_0x5ab420;if(_0x5ab420&&!_0x1cc45b)_0x371a6a(_0x4818da(_0x5ab420[_0x59689e(0x42e)]?_0x59689e(0x593)+_0x5ab420['email']+_0x59689e(0x36f):_0x59689e(0x415)));else{if('NxqJw'===_0x59689e(0x259)){_0x1cc45b&&_0x371a6a(_0x4818da(_0x59689e(0x33a)));_0x371a6a(_0x4818da(process.env.CERAPH_AUTH_TOKEN?.[_0x59689e(0x531)]()?'Signing\x20in\x20with\x20the\x20provided\x20token…':_0x59689e(0x24a)));const _0x5ed75c=_0x5ba510['authenticate']??_0x34ece4;_0x39d45f=await _0x5ed75c(),_0x371a6a(_0x4818da(_0x39d45f['email']?'Signed\x20in\x20as\x20'+_0x39d45f[_0x59689e(0x42e)]:'Signed\x20in'));}else _0x23a8fd[_0x59689e(0x576)]();}const _0x74be47=_0x5ba510['checkMobilePro']??_0x5e1d42,_0x57c90e=await _0x74be47()['catch'](()=>![]);_0x1a13d5=_0x57c90e?'active':'pending',!_0x57c90e?_0x371a6a(_0x4818da(_0x59689e(0x281)+_0x4079d9(_0x469c66)+_0x59689e(0x4d2))):_0x371a6a(_0x4818da(_0x59689e(0x209)));}const _0x100455=await _0x252adf(_0x205557),_0x4d58b8=new Map();let _0xe48312={'filesEdited':[],'totalReplacements':0x0};_0x586514();if(_0x100455['edits']['length']===0x0)_0x371a6a(_0x4818da(_0x59689e(0x596)));else{if('tjfKW'==='edzvh'){const _0x53bd38=_0x362473[_0x59689e(0x341)]();if(_0x53bd38&&_0x515162[_0x59689e(0x18c)](_0x53bd38))return _0x53bd38;if(_0x53bd38&&_0x236fbf['isFunctionExpression'](_0x53bd38))return _0x53bd38;}else{_0x371a6a(_0x4818da(_0x59689e(0x28e)+_0x100455['edits'][_0x59689e(0x358)]+'\x20<CameraView>\x20usage(s)\x20across\x20'+_0x100455['filesScanned']+_0x59689e(0x3cc)));for(const _0x5d5f8b of _0x100455['edits']){_0x371a6a(_0x4818da(_0x59689e(0x2a3)+_0x5d5f8b['relPath']+':'+_0x5d5f8b[_0x59689e(0x31b)]+'\x20→\x20<CeraphCamera\x20/>'+(_0x5d5f8b['alreadyHasImageKey']?'\x20(existing\x20imageKey\x20preserved)':'')));}_0x371a6a(_0x4818da(_0x59689e(0x24c)));const _0xfbb21d=await _0x2a4875(_0x59689e(0x4d8)+_0x100455['edits'][_0x59689e(0x358)]+'\x20<CameraView>\x20to\x20<CeraphCamera>?',{..._0x5ba510,'defaultYes':!![]});_0xfbb21d?_0xe48312=await _0x3ed1d0(_0x205557,_0x100455[_0x59689e(0x3e9)],_0x4d58b8,_0x5ba510,{'omitImageKey':!![]}):_0x371a6a(_0x4818da('Skipped\x20<CameraView>\x20rewrite.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20apply.'));}}const _0x270945=await _0x40d878(_0x205557);let _0x4bcb09={'applied':![],'target':_0x270945};const _0x389a44=_0x270945?await _0x54d79a(_0x270945[_0x59689e(0x3e1)]):'none';_0x586514();if(!_0x270945)_0x371a6a(_0x4818da(_0x59689e(0x4f3)));else{if(_0x389a44===_0x59689e(0x2e4))_0x371a6a(_0x4818da('installCeraph()\x20already\x20wired\x20in\x20'+_0x6da8bb(_0x205557,_0x270945[_0x59689e(0x3e1)]))),_0x4bcb09={'applied':![],'target':_0x270945,'reason':_0x59689e(0x4b0)};else{const _0x71a127=_0x389a44==='bare'?_0x59689e(0x1a5):'Wire';_0x371a6a(_0x4818da(_0x59689e(0x57a)));const _0x2597a3=await _0x2a4875(_0x71a127+'\x20installCeraph()\x20in\x20'+_0x6da8bb(_0x205557,_0x270945[_0x59689e(0x3e1)])+'?',{..._0x5ba510,'defaultYes':!![]});if(_0x2597a3){const _0x401def=await _0xf258d(_0x270945);try{const _0x42c2ff=await _0x2a896e(_0x270945);_0x4bcb09={'applied':_0x42c2ff[_0x59689e(0x491)],'target':_0x270945,'reason':_0x42c2ff['reason']},_0x42c2ff['applied']?_0x59689e(0x3a9)===_0x59689e(0x3a9)?_0x371a6a(_0x4818da('installCeraph()\x20wired\x20in\x20'+_0x6da8bb(_0x205557,_0x270945[_0x59689e(0x3e1)]))):_0x3d4ab0['remove']():_0x371a6a(_0x4818da(_0x59689e(0x255)+(_0x42c2ff[_0x59689e(0x3c8)]??'unknown\x20reason')));}catch(_0x4e3f78){if(_0x401def!=null)await _0x2fa7fe(_0x270945,_0x401def);throw _0x4e3f78;}}else _0x371a6a(_0x4818da('Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.'));}}let _0x416611=null;const _0xccdc90=_0x5ba510[_0x59689e(0x34f)]??_0x341c61,_0x373944=await _0xccdc90(_0x205557);_0x416611=_0x373944;if(_0x373944[_0x59689e(0x15f)]!==_0x59689e(0x563))_0x586514();switch(_0x373944[_0x59689e(0x15f)]){case'expo-json-added':{const _0x2abaf6=_0x373944[_0x59689e(0x4e3)],_0x571fd9=_0x6da8bb(_0x205557,_0x373944[_0x59689e(0x1e5)]);if(_0x2abaf6===void 0x0)_0x371a6a(_0x4818da(_0x59689e(0x425)+_0x571fd9+_0x59689e(0x3e7)));else{const _0x138d47=Array[_0x59689e(0x310)](_0x2abaf6)?_0x2abaf6['join'](',\x20'):_0x2abaf6;_0x371a6a(_0x4818da('Added\x20ceraph://\x20to\x20your\x20'+_0x571fd9+_0x59689e(0x540)+_0x138d47+_0x59689e(0x401)+_0x138d47+_0x59689e(0x52b)));}break;}case _0x59689e(0x3ea):_0x371a6a(_0x4818da('ceraph://\x20URL\x20scheme\x20already\x20registered\x20in\x20'+_0x6da8bb(_0x205557,_0x373944['path'])));break;case'expo-config-needs-manual':_0x371a6a(_0x4818da('Detected\x20'+_0x6da8bb(_0x205557,_0x373944[_0x59689e(0x1e5)])+'\x20(dynamic\x20Expo\x20config).')),_0x371a6a(_0x36c875(_0x6da8bb(_0x205557,_0x373944[_0x59689e(0x1e5)])));break;case'bare-rn-needs-manual':_0x371a6a(_0x4818da(_0x59689e(0x430))),_0x371a6a(_0x5f272c());break;case _0x59689e(0x563):break;}let _0x32bf80=null;const _0x317859=_0x5ba510['ensureBabelPlugin']??_0x198e81,_0x54fa36=await _0x317859(_0x205557);_0x32bf80=_0x54fa36,_0x586514();switch(_0x54fa36[_0x59689e(0x15f)]){case'added':_0x371a6a(_0x4818da(_0x59689e(0x567)+_0x6da8bb(_0x205557,_0x54fa36[_0x59689e(0x1e5)])+(_0x54fa36['beforeReanimated']?'\x20(before\x20reanimated)':'')+'.'));break;case _0x59689e(0x1c0):_0x371a6a(_0x4818da('testID\x20injector\x20already\x20wired\x20in\x20'+_0x6da8bb(_0x205557,_0x54fa36[_0x59689e(0x1e5)])));break;case'needs-manual':_0x371a6a(_0x4818da(_0x59689e(0x250)+_0x54fa36[_0x59689e(0x3c8)]));break;case'created':_0x371a6a(_0x4818da('Created\x20'+_0x6da8bb(_0x205557,_0x54fa36['path'])+'\x20('+_0x54fa36['preset']+'\x20+\x20testID\x20injector)\x20—\x20your\x20app\x20had\x20no\x20babel\x20config,\x20so\x20we\x20added\x20one.\x20Rebuild\x20your\x20dev\x20client\x20once\x20to\x20activate.'));break;}let _0x2c0c17={'state':'missing-dir','registered':0x0};if(_0xe48312[_0x59689e(0x308)]>0x0){_0x586514();const _0x33986e=await _0xd5f358(_0x205557);_0x2c0c17={'state':_0x33986e['writtenOrUnchanged'],'registered':_0x33986e[_0x59689e(0x583)][_0x59689e(0x358)]},_0x33986e[_0x59689e(0x1c7)]===_0x59689e(0x50b)?_0x371a6a(_0x4818da(_0x59689e(0x4c8)+_0x480ea5('.ceraph',_0x59689e(0x3dc))+_0x59689e(0x58a))):_0x371a6a(_0x4818da('Test\x20image\x20registry\x20'+_0x33986e[_0x59689e(0x1c7)]+'\x20('+_0x33986e['registered'][_0x59689e(0x358)]+'\x20image(s))\x20at\x20'+_0x1f0a95(_0x205557,_0x33986e[_0x59689e(0x205)])+'.'));}let _0x51def6=null;if(_0x39d45f&&_0x1a13d5===_0x59689e(0x4a5))try{const _0xfa4539=_0x5ba510['seedMobileGraph']??_0xc45372;_0x51def6=await _0xfa4539({'workingDir':_0x205557,'auth':_0x39d45f}),_0x51def6['status']==='seeded'&&(_0x586514(),_0x371a6a(_0x4818da('Project\x20cached\x20server-side:\x20'+_0x51def6['screenCount']+_0x59689e(0x41a)+_0x51def6['layoutCount']+'\x20layout(s)\x20('+_0x51def6[_0x59689e(0x20f)]+').')));}catch{_0x51def6=null;}else _0x39d45f&&_0x1a13d5==='pending'&&(_0x51def6={'status':'skipped','reason':_0x59689e(0x2a6),'message':_0x59689e(0x236)+_0x469c66+'.'});let _0x485f53=null;if(_0x5ba510['runDoctor']){_0x586514(),_0x485f53=await _0x5ba510[_0x59689e(0x374)](),_0x371a6a(_0x4818da('Doctor:\x20'+_0x485f53[_0x59689e(0x189)]+'/'+_0x485f53['totalCount']+'\x20'+(_0x485f53['ok']?'passed':'failed')));if(_0x485f53[_0x59689e(0x2a5)])_0x371a6a(_0x485f53['summary']);}_0x586514();let _0x4e3fd0=![];if(_0x2d78ef===_0x59689e(0x550))_0x371a6a(_0x4818da('You\x27re\x20set\x20up\x20on\x20Starter\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.')),_0x371a6a(_0x4818da(_0x59689e(0x581))),_0x371a6a(_0x4818da('More\x20about\x20the\x20plans\x20→\x20'+_0x4079d9(_0x469c66))),_0x4e3fd0=!![];else _0x1a13d5==='pending'&&(!_0x5ba510['agentMode']&&process[_0x59689e(0x376)][_0x59689e(0x347)]===!![]&&_0x1dfd06(_0x469c66),_0x371a6a(_0x4818da(_0x59689e(0x383)+_0x4079d9(_0x469c66)+',\x20then\x20re-run\x20any\x20flow\x20tool\x20—')),_0x371a6a(_0x4818da(_0x59689e(0x38a))),_0x4e3fd0=!![]);if(_0x4e3fd0)_0x371a6a('\x0a');_0x371a6a(_0x4818da(_0x59689e(0x254)));_0x5ba510[_0x59689e(0x1e6)]&&_0x371a6a(_0x4818da(_0x59689e(0x1b1)));_0x371a6a('\x0a'),_0x371a6a(_0x4818da(_0x59689e(0x1ce))),_0x371a6a(_0x4818da('\x22Run\x20ceraph_init_status\x20to\x20confirm\x20the\x20project\x20is\x20wired\x20up.\x22')),_0x371a6a('\x0a');const _0x3a0eeb=_0x100455[_0x59689e(0x3e9)]['map'](_0x14e0fd=>({'file':_0x14e0fd[_0x59689e(0x539)],'line':_0x14e0fd[_0x59689e(0x31b)],'suggestedKey':_0x14e0fd[_0x59689e(0x20a)]})),_0x2b2715=_0x5ba510['agentMode']?{'cameras':_0x3a0eeb,'setupRequired':_0x3a0eeb['length']>0x0,'hintText':_0x3a0eeb[_0x59689e(0x358)]===0x0?_0x59689e(0x2f1):'For\x20each\x20<CeraphCamera>\x20below,\x20ask\x20the\x20user\x20which\x20scenario\x20this\x20camera\x20serves\x20and\x20call\x20ceraph_init_replace_camera\x20with\x20the\x20chosen\x20imageKey.\x20Three\x20options:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x20black\x20PNG\x20fallback.\x20Right\x20answer\x20when\x20the\x20test\x20doesn\x27t\x20care\x20about\x20image\x20content\x20(most\x20form-submit\x20/\x20file-upload\x20flows).\x20(B)\x20imageKey=\x22<key>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Ask\x20the\x20user\x20for\x20a\x20descriptive\x20lowercase-dashes\x20name\x20AND\x20drop\x20the\x20file\x20at\x20.ceraph/camera-images/<key>.{jpg,png,webp},\x20then\x20call\x20rn_sync_camera_registry.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20the\x20camera\x20serves\x20multiple\x20scenarios\x20per\x20flow;\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime.\x20Use\x20when\x20one\x20camera\x20screen\x20feeds\x20different\x20outcomes.'}:null;return _0x5ba510['agentMode']&&_0x2b2715&&_0x371a6a(''+_0x541b4e+JSON['stringify'](_0x2b2715)+'\x0a'),{'packageInstalled':_0x4a94c4,'packageManager':_0x1c899d,'tier':_0x2d78ef,'proStatus':_0x1a13d5,'authLogin':_0x39d45f?.['email']??null,'cameraEdits':_0xe48312,'layoutInjection':_0x4bcb09,'graphSeed':_0x51def6,'cameraRegistrySync':_0x2c0c17,'doctor':_0x485f53,'workingDir':_0x205557,'urlScheme':_0x416611,'babelConfig':_0x32bf80,'agentHint':_0x2b2715};}async function _0x35f9ac(_0x3d5b30,_0x3762a5){const _0x45ed5a=_0xa6e1,_0x535f12=_0x3762a5['detectMonorepo']??_0x23c9dd,_0x783af3=await _0x535f12(_0x3d5b30);if(_0x783af3['kind']==='none'){if(_0x783af3['isMonorepo']&&!_0x783af3['rootIsRnApp'])throw new Error('Detected\x20a\x20monorepo\x20at\x20the\x20current\x20directory\x20but\x20could\x20not\x20find\x20a\x20React\x20Native\x20or\x20Expo\x20subpackage.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20from\x20inside\x20the\x20RN/Expo\x20app\x20folder,\x20or\x20add\x20the\x20app\x20to\x20your\x20workspaces.');return _0x3d5b30;}if(_0x783af3['kind']==='single'){const _0x2ace76=_0x783af3['matches'][0x0];if(!_0x2ace76)return _0x3d5b30;return _0x7c81a8('\x0a',_0x3762a5),_0x7c81a8(_0x4818da(_0x45ed5a(0x40f)+_0x2ace76['relPath']+'/\x20—\x20working\x20from\x20there'),_0x3762a5),_0x2ace76['absPath'];}_0x7c81a8('\x0a',_0x3762a5),_0x7c81a8(_0x4818da(_0x45ed5a(0x312)),_0x3762a5);const _0x3d2f6d=_0x783af3[_0x45ed5a(0x452)]['map'](_0x500318=>_0x500318[_0x45ed5a(0x539)]+_0x45ed5a(0x4d4)+_0x500318[_0x45ed5a(0x4b4)][_0x45ed5a(0x3c0)](',\x20')+']'),_0x3702a7=await _0x199723('Which\x20one\x20should\x20init\x20configure?',_0x3d2f6d,_0x3762a5);if(_0x3702a7==null)throw new Error(_0x45ed5a(0x2dd));const _0x235345=_0x783af3[_0x45ed5a(0x452)][_0x3702a7];if(!_0x235345)throw new Error('Picked\x20index\x20out\x20of\x20range.');return _0x7c81a8(_0x4818da(_0x45ed5a(0x4cc)+_0x235345['relPath']+'/'),_0x3762a5),_0x235345['absPath'];}function _0x6da8bb(_0x1911db,_0x28242f){const _0x56d08a=_0xa6e1;if(_0x28242f['startsWith'](_0x1911db)){const _0x3612ee=_0x28242f[_0x56d08a(0x554)](_0x1911db[_0x56d08a(0x358)]+0x1);return _0x3612ee['length']>0x0?_0x3612ee:_0x28242f;}return _0x28242f;}async function _0x34ece4(){const _0x408538=_0xa6e1,_0x51f1c0=await _0x25a657();return{'accessToken':_0x51f1c0[_0x408538(0x268)],'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()['toISOString'](),..._0x51f1c0[_0x408538(0x42e)]?{'email':_0x51f1c0['email']}:{}};}async function _0x3ed1d0(_0x42df2f,_0x509df7,_0x1307d6,_0x46b063,_0x556216={}){const _0x15818c=_0xa6e1;for(const _0x1b28be of _0x509df7){if(!_0x1307d6['has'](_0x1b28be[_0x15818c(0x3e1)])){if('XBnER'!=='vESgV')_0x1307d6[_0x15818c(0x293)](_0x1b28be['filePath'],await _0x3e51e0(_0x1b28be['filePath']));else{if(_0x364ccc)return!![];if(_0x1eee93.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!_0x678789[_0x15818c(0x26c)][_0x15818c(0x347)];}}}try{const _0x3e118e=await _0x4423bb(_0x42df2f,_0x509df7,_0x556216);return _0x7c81a8(_0x4818da('Replaced\x20'+_0x3e118e[_0x15818c(0x308)]+'\x20<CameraView>\x20→\x20<CeraphCamera>\x20across\x20'+_0x3e118e['filesEdited']['length']+_0x15818c(0x27c)),_0x46b063),_0x3e118e;}catch(_0x12df37){for(const [_0x26c481,_0x24f1d1]of _0x1307d6){if(_0x24f1d1!=null)try{await _0x5b2be0(_0x26c481,_0x24f1d1);}catch(_0x26860e){console[_0x15818c(0x48f)]('[ceraph]\x20rollback\x20failed\x20for\x20'+_0x26c481+':',_0x26860e instanceof Error?_0x26860e['message']:_0x26860e);}}throw _0x12df37;}}var _0x541b4e,_0x469c66,_0x53423b,_0x17dcf1,_0xc55a28,_0x17a37c,_0x19ffbe=_0x1b53f6({'src/init/walkthrough.ts'(){'use strict';const _0x271540=_0xa6e1;_0x228cd7(),_0x324a47(),_0x10d22(),_0x2cd108(),_0x45872c(),_0x460a52(),_0x5479af(),_0x52a119(),_0x569aea(),_0x3ea95e(),_0x4ff041(),_0x428b89(),_0x202e4a(),_0x541b4e='CERAPH_INIT_AGENT_HINT=',_0x469c66='https://ceraph.dev/#pricing',_0x53423b=_0x271540(0x2b1),_0x17dcf1='Starter\x20·\x20Free\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in.',_0xc55a28=_0x271540(0x265),_0x17a37c=[_0x17dcf1,_0xc55a28];}});import{spawn as _0x35ee9f}from'child_process';function _0x26bc67(_0xc3434,_0x43ef26,_0x57448b={}){return new Promise(_0x18dff1=>{const _0x82b36b=_0xa6e1;if(_0x82b36b(0x235)!=='Kyyov')return{'success':![],'error':'The\x20`ceraph://`\x20URL\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20so\x20this\x20deep\x20link\x20couldn\x27t\x20be\x20delivered.\x20`init`\x20adds\x20the\x20scheme\x20to\x20app.json,\x20but\x20it\x20only\x20lands\x20in\x20the\x20native\x20Info.plist\x20after\x20a\x20rebuild\x20—\x20run\x20`npx\x20expo\x20prebuild`\x20then\x20rebuild/reinstall\x20the\x20dev\x20client\x20(or\x20your\x20EAS/Xcode\x20build),\x20and\x20retry.\x20Tools\x20affected:\x20rn_reset_state,\x20rn_reload,\x20and\x20camera/auth-bypass\x20deep\x20links.'};else{let _0x4ead35='',_0x5c6d3a='',_0x48131a;try{_0x48131a=_0x35ee9f(_0xc3434,_0x43ef26,{'stdio':['ignore','pipe',_0x82b36b(0x1e3)]});}catch(_0x3e7bde){if(_0x82b36b(0x47f)!==_0x82b36b(0x33f)){_0x18dff1({'code':0x7f,'stdout':'','stderr':_0x3e7bde instanceof Error?_0x3e7bde[_0x82b36b(0x2aa)]:String(_0x3e7bde)});return;}else return null;}const _0x9b1da6=setTimeout(()=>{const _0x173bd9=_0x82b36b;if('eGqRs'==='jgZHu')_0x47900b=_0x324ade[_0x173bd9(0x554)](0x1,-0x1);else try{_0x48131a['kill']('SIGKILL');}catch{}},_0x57448b['timeoutMs']??0x3a98);_0x48131a[_0x82b36b(0x376)]?.['on']('data',_0x1d1d54=>{const _0x36ac06=_0x82b36b;_0x4ead35+=_0x1d1d54[_0x36ac06(0x360)]();}),_0x48131a[_0x82b36b(0x461)]?.['on'](_0x82b36b(0x586),_0xcfd22=>{_0x5c6d3a+=_0xcfd22['toString']();});let _0xfc01fe=![];_0x48131a['on']('error',_0x4bcd94=>{const _0x67de9e=_0x82b36b;if(_0x67de9e(0x361)!==_0x67de9e(0x361))return{'name':_0x67de9e(0x2af),'status':_0x67de9e(0x48f),'details':{'error':_0x456403(_0x2409f6),..._0x211bf6?{'dryRun':!![]}:{}}};else{if(_0xfc01fe)return;_0xfc01fe=!![],clearTimeout(_0x9b1da6),_0x18dff1({'code':0x7f,'stdout':_0x4ead35,'stderr':_0x5c6d3a+(_0x4bcd94['message']??String(_0x4bcd94))});}}),_0x48131a['on'](_0x82b36b(0x542),_0x543d68=>{if(_0xfc01fe)return;_0xfc01fe=!![],clearTimeout(_0x9b1da6),_0x18dff1({'code':_0x543d68??0x1,'stdout':_0x4ead35,'stderr':_0x5c6d3a});});}});}async function _0x3ff87a(_0x41671c){const _0x5a2a71=_0xa6e1,_0x324dad=await _0x26bc67('which',[_0x41671c],{'timeoutMs':0x7d0});return _0x324dad['code']===0x0&&_0x324dad[_0x5a2a71(0x376)][_0x5a2a71(0x531)]()['length']>0x0;}function _0x4c0b80(_0x3d92ac){const _0x2ad704=_0xa6e1,_0x3478f8=[];let _0x21842e=0x0,_0x4c414e=![],_0x242da0=null,_0x230124=null,_0xf0c053=null,_0x148bdc=null,_0x5890f2=null,_0x41c7a0=null;const _0x222b7e=_0x45f471=>{const _0x35957e=_0xa6e1;let _0x2eca9a=_0x45f471[_0x35957e(0x531)]();if(_0x2eca9a[_0x35957e(0x25c)](';'))_0x2eca9a=_0x2eca9a[_0x35957e(0x554)](0x0,-0x1)[_0x35957e(0x531)]();return(_0x2eca9a['startsWith']('\x22')&&_0x2eca9a['endsWith']('\x22')||_0x2eca9a['startsWith']('\x27')&&_0x2eca9a[_0x35957e(0x25c)]('\x27'))&&(_0x2eca9a=_0x2eca9a['slice'](0x1,-0x1)),_0x2eca9a;};for(const _0x43c9b3 of _0x3d92ac[_0x2ad704(0x41d)]('\x0a')){const _0x573130=_0x43c9b3['trim']();if(_0x573130['length']===0x0)continue;if(_0x21842e===0x1&&!_0x4c414e&&_0x573130['endsWith']('{')){const _0xd82d3f=_0x573130[_0x2ad704(0x368)]('=');if(_0xd82d3f>0x0){const _0x2d2ce6=_0x222b7e(_0x573130['slice'](0x0,_0xd82d3f));_0x242da0=_0x2d2ce6,_0x230124=_0x2d2ce6,_0xf0c053=null,_0x148bdc=null,_0x5890f2=null,_0x41c7a0=null,_0x4c414e=!![];}_0x21842e+=0x1;continue;}if(_0x573130['endsWith']('{')){_0x21842e+=0x1;continue;}if(_0x573130==='};'||_0x573130==='}'){if(_0x4c414e&&_0x21842e===0x2){const _0x39de8d=_0x230124??_0x242da0;_0x39de8d&&_0x3478f8[_0x2ad704(0x407)]({'bundleId':_0x39de8d,'name':_0x148bdc??_0xf0c053??_0x39de8d,'version':_0x5890f2??_0x41c7a0??void 0x0}),_0x4c414e=![],_0x242da0=null,_0x230124=null,_0xf0c053=null,_0x148bdc=null,_0x5890f2=null,_0x41c7a0=null;}_0x21842e=Math['max'](0x0,_0x21842e-0x1);continue;}if(_0x4c414e&&_0x21842e===0x2){const _0x3a1cbc=_0x573130[_0x2ad704(0x368)]('=');if(_0x3a1cbc<0x0)continue;const _0x19d284=_0x573130['slice'](0x0,_0x3a1cbc)[_0x2ad704(0x531)](),_0x3d65c7=_0x222b7e(_0x573130['slice'](_0x3a1cbc+0x1));switch(_0x19d284){case'CFBundleIdentifier':_0x230124=_0x3d65c7;break;case _0x2ad704(0x34d):_0xf0c053=_0x3d65c7;break;case _0x2ad704(0x301):_0x148bdc=_0x3d65c7;break;case'CFBundleShortVersionString':_0x5890f2=_0x3d65c7;break;case'CFBundleVersion':_0x41c7a0=_0x3d65c7;break;default:break;}}}return _0x3478f8;}var _0x1007f8,_0xe2e688=_0x1b53f6({'src/app-lifecycle.ts'(){'use strict';const _0x1573e0=_0xa6e1;_0x1007f8=class _0x3dc888{constructor(_0x5a8374,_0x425e11){const _0x3f9390=_0xa6e1;this[_0x3f9390(0x2bf)]=_0x5a8374,this[_0x3f9390(0x29f)]=_0x425e11;}['udid']=null;['udidResolved']=![];[_0x1573e0(0x17f)]=0x0;static [_0x1573e0(0x3d5)]=0x1388;['udidInflight']=null;[_0x1573e0(0x4a9)]=null;['idbAvailable']=null;[_0x1573e0(0x260)]=null;['INSTALLED_CACHE_MS']=0x7530;[_0x1573e0(0x1c4)](_0x4186ba){const _0x18e067=_0x1573e0;this[_0x18e067(0x29f)]=_0x4186ba;}async['pickTransport'](){const _0x1b398f=_0x1573e0;if(!this['targetResolver'])return{'preferSimulator':![],'simulatorUdid':_0x1b398f(0x27a)};const _0x4532ab=await this['targetResolver'][_0x1b398f(0x3f8)](),_0x383f93=_0x4532ab['target']===_0x1b398f(0x44c),_0x4ea6d8=_0x4532ab['target']===_0x1b398f(0x44c)&&_0x4532ab[_0x1b398f(0x1bd)]?_0x4532ab[_0x1b398f(0x1bd)]:_0x1b398f(0x27a);return{'preferSimulator':_0x383f93,'simulatorUdid':_0x4ea6d8};}async[_0x1573e0(0x39c)](){const _0x4b5ff5=_0x1573e0;if(this['udidResolved']&&this['udid']&&Date[_0x4b5ff5(0x1ec)]()-this['udidResolvedAt']<_0x3dc888['UDID_TTL_MS'])return this['udid'];if(this[_0x4b5ff5(0x435)])return this[_0x4b5ff5(0x435)];const _0x19ddf7=((async()=>{const _0x130deb=_0x4b5ff5;try{const _0x4fbe8f=await _0x3ff87a('xcrun');if(!_0x4fbe8f)return null;const _0x6b996d=await _0x26bc67('xcrun',[_0x130deb(0x243),'list',_0x130deb(0x177),'--json-output','-'],{'timeoutMs':0x1f40});if(_0x6b996d[_0x130deb(0x359)]!==0x0)return null;const _0x2c1c95=JSON[_0x130deb(0x2ee)](_0x6b996d[_0x130deb(0x376)]),_0x35bc5e=_0x2c1c95['result']?.['devices']??[],_0x275234=_0x35bc5e[_0x130deb(0x320)](_0x4ef719=>{const _0x2c0cdb=_0x130deb;if('dCWPJ'!=='dCWPJ'){const _0x3e952b=_0x4a11e2(_0x3c6867)['replace'](/\.(tsx|jsx)$/i,''),_0x3133de=_0x11ecd9(_0x319404(_0x29d106)),_0x33f811=new _0x2e7fb8(['page','index',_0x2c0cdb(0x2bf),'route',_0x2c0cdb(0x24d)]),_0xb18327=_0x33f811['has'](_0x3e952b['toLowerCase']())?_0x3133de:_0x3e952b,_0x3c8e77=_0xb18327[_0x2c0cdb(0x2c4)](/([a-z0-9])([A-Z])/g,'$1-$2')[_0x2c0cdb(0x55a)]()[_0x2c0cdb(0x2c4)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x3c8e77['length']>0x0?_0x3c8e77:'camera';}else{const _0x379bb8=_0x4ef719[_0x2c0cdb(0x51a)]?.['platform']?.[_0x2c0cdb(0x55a)]()??'',_0x437b06=_0x4ef719[_0x2c0cdb(0x346)]?.['tunnelState']?.['toLowerCase']()??'';return _0x379bb8['includes'](_0x2c0cdb(0x331))&&_0x437b06===_0x2c0cdb(0x46d);}});if(_0x275234?.['identifier'])return this[_0x130deb(0x1bd)]=_0x275234['identifier'],this['udidResolved']=!![],this['udidResolvedAt']=Date[_0x130deb(0x1ec)](),this['udid'];const _0x39a1fd=_0x35bc5e[_0x130deb(0x320)](_0x1c00f3=>(_0x1c00f3['hardwareProperties']?.[_0x130deb(0x546)]?.[_0x130deb(0x55a)]()??'')[_0x130deb(0x3bb)](_0x130deb(0x331)));if(_0x39a1fd?.['identifier']){if('JKUaa'!==_0x130deb(0x3b4)){if(_0xedfee8(_0xd0c967))_0x21f4bc['push'](_0x4ce2cf);else _0x3da156[_0x130deb(0x407)](_0x5c7c75);}else return this['udid']=_0x39a1fd['identifier'],this['udidResolved']=!![],this[_0x130deb(0x17f)]=Date[_0x130deb(0x1ec)](),this[_0x130deb(0x1bd)];}}catch{}return null;})());this[_0x4b5ff5(0x435)]=_0x19ddf7;try{return await _0x19ddf7;}finally{this['udidInflight']=null;}}async['checkDevicectl'](){const _0x5c528b=_0x1573e0;if(this[_0x5c528b(0x4a9)]!==null)return this['devicectlAvailable'];const _0x1f9896=await _0x3ff87a(_0x5c528b(0x588));if(!_0x1f9896)return this['devicectlAvailable']=![],![];const _0x7a5dc1=await _0x26bc67(_0x5c528b(0x588),[_0x5c528b(0x243),'--help'],{'timeoutMs':0xfa0});return this['devicectlAvailable']=_0x7a5dc1[_0x5c528b(0x359)]===0x0,this['devicectlAvailable'];}async['checkIdb'](){const _0x4d5406=_0x1573e0;if(this[_0x4d5406(0x18a)]!==null)return this['idbAvailable'];return this['idbAvailable']=await _0x3ff87a('idb'),this[_0x4d5406(0x18a)];}async['launchApp'](_0xf7fef3){const _0x410ead=_0x1573e0,_0xa8aac6=await this[_0x410ead(0x2a1)]();if(_0xa8aac6[_0x410ead(0x29b)]){const _0x272d86=_0xa8aac6['simulatorUdid'],_0x19b819=await _0x26bc67(_0x410ead(0x588),[_0x410ead(0x1a3),'launch',_0x272d86,_0xf7fef3],{'timeoutMs':0x3a98});if(_0x19b819[_0x410ead(0x359)]===0x0)return{'success':!![],'transport':'simctl','details':{'udid':_0x272d86}};return{'success':![],'transport':'simctl','error':'simctl\x20launch\x20failed:\x20'+(_0x19b819['stderr']||_0x19b819['stdout'])['trim'](),'details':{'udid':_0x272d86}};}const _0x2ab090=await this['getUdid']();if(_0x2ab090&&await this['checkDevicectl']()){const _0x2cf0cb=await _0x26bc67(_0x410ead(0x588),[_0x410ead(0x243),_0x410ead(0x2c0),_0x410ead(0x52d),_0x410ead(0x57e),_0x410ead(0x300),_0x2ab090,_0x410ead(0x2f0),_0xf7fef3],{'timeoutMs':0x7530});if(_0x2cf0cb[_0x410ead(0x359)]===0x0)return{'success':!![],'transport':'devicectl','details':{'udid':_0x2ab090}};const _0x3488fb=_0x2cf0cb['stderr']||_0x2cf0cb['stdout'];if(!await this[_0x410ead(0x3a2)]())return{'success':![],'transport':'devicectl','error':'devicectl\x20launch\x20failed:\x20'+_0x3488fb['trim']()};}if(await this['checkIdb']()){const _0x5bbc09=['launch',_0xf7fef3];if(_0x2ab090)_0x5bbc09[_0x410ead(0x407)](_0x410ead(0x219),_0x2ab090);const _0x1d3f58=await _0x26bc67('idb',_0x5bbc09,{'timeoutMs':0x7530});if(_0x1d3f58[_0x410ead(0x359)]===0x0)return{'success':!![],'transport':'idb','details':{'udid':_0x2ab090}};if(!_0x2ab090){}else return{'success':![],'transport':_0x410ead(0x272),'error':'idb\x20launch\x20failed:\x20'+(_0x1d3f58[_0x410ead(0x461)]||_0x1d3f58['stdout'])['trim']()};}if(!_0x2ab090){const _0x69cb27=await _0x26bc67('xcrun',[_0x410ead(0x1a3),'launch','booted',_0xf7fef3],{'timeoutMs':0x3a98});if(_0x69cb27['code']===0x0)return _0x410ead(0x204)!==_0x410ead(0x204)?![]:{'success':!![],'transport':_0x410ead(0x1a3)};return{'success':![],'transport':_0x410ead(0x1a3),'error':'simctl\x20launch\x20failed:\x20'+(_0x69cb27[_0x410ead(0x461)]||_0x69cb27[_0x410ead(0x376)])[_0x410ead(0x531)]()};}return{'success':![],'transport':_0x410ead(0x38d),'error':_0x410ead(0x340)};}async['terminateApp'](_0x27c5df){const _0x5bf1cd=_0x1573e0,_0x47887c=await this[_0x5bf1cd(0x2a1)]();if(_0x47887c['preferSimulator']){const _0xdc80ae=_0x47887c[_0x5bf1cd(0x2d7)],_0x55d5ec=await _0x26bc67('xcrun',[_0x5bf1cd(0x1a3),_0x5bf1cd(0x30b),_0xdc80ae,_0x27c5df],{'timeoutMs':0x2710});if(_0x55d5ec['code']===0x0){if('ROxPX'==='ROxPX')return{'success':!![],'transport':_0x5bf1cd(0x1a3),'details':{'udid':_0xdc80ae}};else{const _0x5a7d05=_0xea7ad5['getNameNode']();_0x5a7d05['getText']()===_0x5bf1cd(0x4b7)&&_0x32336e['remove']();}}return{'success':![],'transport':_0x5bf1cd(0x1a3),'error':_0x5bf1cd(0x28b)+(_0x55d5ec['stderr']||_0x55d5ec[_0x5bf1cd(0x376)])[_0x5bf1cd(0x531)](),'details':{'udid':_0xdc80ae}};}if(this['screen']){const _0x2f71bd=await this[_0x5bf1cd(0x2bf)][_0x5bf1cd(0x1d3)]();if(_0x2f71bd){const _0x34895f=await this[_0x5bf1cd(0x2bf)]['terminateAppViaWDA'](_0x27c5df);if(_0x34895f[_0x5bf1cd(0x197)])return{'success':!![],'transport':_0x5bf1cd(0x44a)};}}const _0x2ebb70=await this['getUdid']();if(_0x2ebb70&&await this[_0x5bf1cd(0x507)]()){const _0x5766f6=await this[_0x5bf1cd(0x3f4)](_0x2ebb70,_0x27c5df);if(_0x5766f6!==null){const _0x3c6ad3=await _0x26bc67(_0x5bf1cd(0x588),['devicectl','device','process','terminate','--device',_0x2ebb70,'--pid',String(_0x5766f6)],{'timeoutMs':0x3a98});if(_0x3c6ad3[_0x5bf1cd(0x359)]===0x0)return{'success':!![],'transport':'devicectl','details':{'pid':_0x5766f6}};}}if(await this['checkIdb']()){if(_0x5bf1cd(0x4dd)!=='vIiCF')_0x304958[_0x5bf1cd(0x407)](_0x45c443[_0x5bf1cd(0x4bf)]);else{const _0x487c1f=[_0x5bf1cd(0x30b),_0x27c5df];if(_0x2ebb70)_0x487c1f[_0x5bf1cd(0x407)]('--udid',_0x2ebb70);const _0x47fa52=await _0x26bc67('idb',_0x487c1f,{'timeoutMs':0x3a98});if(_0x47fa52[_0x5bf1cd(0x359)]===0x0)return{'success':!![],'transport':_0x5bf1cd(0x272)};}}if(!_0x2ebb70){const _0x567246=await _0x26bc67(_0x5bf1cd(0x588),['simctl','terminate','booted',_0x27c5df],{'timeoutMs':0x2710});if(_0x567246['code']===0x0)return{'success':!![],'transport':_0x5bf1cd(0x1a3)};return{'success':![],'transport':_0x5bf1cd(0x1a3),'error':'simctl\x20terminate\x20failed:\x20'+(_0x567246[_0x5bf1cd(0x461)]||_0x567246['stdout'])['trim']()};}return{'success':![],'transport':_0x5bf1cd(0x38d),'error':'Failed\x20to\x20terminate\x20via\x20WDA,\x20devicectl,\x20or\x20idb.\x20The\x20app\x20may\x20not\x20be\x20running,\x20or\x20(devicectl\x20path)\x20it\x20is\x20not\x20a\x20user-installed\x20app\x20so\x20its\x20PID\x20could\x20not\x20be\x20resolved.'};}async[_0x1573e0(0x3f4)](_0x1d9d7e,_0x5c6ac9){const _0x3a85eb=_0x1573e0,_0x5592db=await _0x26bc67('xcrun',['devicectl','device','info',_0x3a85eb(0x44e),'--device',_0x1d9d7e,_0x3a85eb(0x448),'-'],{'timeoutMs':0x4e20});if(_0x5592db[_0x3a85eb(0x359)]!==0x0)return null;let _0x10ea1c=null;try{const _0x4a37c2=JSON[_0x3a85eb(0x2ee)](_0x5592db[_0x3a85eb(0x376)]);_0x10ea1c=(_0x4a37c2[_0x3a85eb(0x1c3)]?.[_0x3a85eb(0x44e)]??[])[_0x3a85eb(0x320)](_0x5e34b2=>_0x5e34b2['bundleIdentifier']===_0x5c6ac9)?.['url']??null;}catch{return null;}if(!_0x10ea1c)return null;const _0x1b5877=_0x10ea1c['endsWith']('/')?_0x10ea1c:_0x10ea1c+'/',_0x1a39dc=await _0x26bc67(_0x3a85eb(0x588),[_0x3a85eb(0x243),'device','info',_0x3a85eb(0x44f),_0x3a85eb(0x300),_0x1d9d7e,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x1a39dc[_0x3a85eb(0x359)]!==0x0)return null;try{const _0x19b0b4=JSON['parse'](_0x1a39dc['stdout']),_0x184b09=(_0x19b0b4[_0x3a85eb(0x1c3)]?.[_0x3a85eb(0x56b)]??[])[_0x3a85eb(0x422)](_0xaf678f=>typeof _0xaf678f['processIdentifier']==='number'&&(_0xaf678f['executable']??'')['startsWith'](_0x1b5877));if(_0x184b09['length']===0x0)return null;const _0x3b0b71=_0x184b09[_0x3a85eb(0x320)](_0x4bd2e7=>!_0x4bd2e7['executable']['slice'](_0x1b5877[_0x3a85eb(0x358)])[_0x3a85eb(0x3bb)]('/'));return(_0x3b0b71??_0x184b09[0x0])[_0x3a85eb(0x389)];}catch{return null;}}async['activateApp'](_0x1f6acf){const _0x48a92d=_0x1573e0;if(this['screen']){const _0x2fa30b=await this[_0x48a92d(0x2bf)][_0x48a92d(0x1d3)]();if(_0x2fa30b){const _0x42714a=await this[_0x48a92d(0x2bf)][_0x48a92d(0x279)](_0x1f6acf);if(_0x42714a['success'])return{'success':!![],'transport':'wda'};}}return this['launchApp'](_0x1f6acf);}async['listInstalledApps'](){const _0x1f6312=_0x1573e0,_0xe3329e=await this[_0x1f6312(0x2a1)](),_0x57902f=_0xe3329e['preferSimulator']?null:await this['getUdid'](),_0x4ced07=_0xe3329e['preferSimulator']?'sim:'+_0xe3329e['simulatorUdid']:_0x1f6312(0x169)+(_0x57902f??'none');if(this[_0x1f6312(0x260)]&&this['installedAppsCache'][_0x1f6312(0x289)]===_0x4ced07&&Date[_0x1f6312(0x1ec)]()-this[_0x1f6312(0x260)]['at']<this['INSTALLED_CACHE_MS'])return{'success':!![],'apps':this['installedAppsCache']['apps']};if(_0xe3329e['preferSimulator'])return this['listInstalledAppsSimulator'](_0xe3329e['simulatorUdid'],_0x4ced07);const _0x57c673=_0x57902f;if(!_0x57c673)return{'success':![],'apps':[],'error':'No\x20real\x20iOS\x20device\x20connected.\x20Connect\x20a\x20device\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac.'};if(!await this['checkDevicectl']())return{'success':![],'apps':[],'error':'xcrun\x20devicectl\x20not\x20available\x20—\x20install\x20Xcode\x2015\x20or\x20newer.'};const _0x2e5e2f=await _0x26bc67(_0x1f6312(0x588),[_0x1f6312(0x243),_0x1f6312(0x2c0),_0x1f6312(0x180),_0x1f6312(0x44e),_0x1f6312(0x300),_0x57c673,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x2e5e2f[_0x1f6312(0x359)]!==0x0)return{'success':![],'apps':[],'error':_0x1f6312(0x37b)+(_0x2e5e2f['stderr']||_0x2e5e2f[_0x1f6312(0x376)])[_0x1f6312(0x531)]()};try{const _0x309a04=JSON['parse'](_0x2e5e2f[_0x1f6312(0x376)]),_0x29eaf1=(_0x309a04[_0x1f6312(0x1c3)]?.[_0x1f6312(0x44e)]??[])[_0x1f6312(0x422)](_0x46a5bd=>!!_0x46a5bd['bundleIdentifier'])['map'](_0x14bd8d=>({'bundleId':_0x14bd8d[_0x1f6312(0x178)],'name':_0x14bd8d[_0x1f6312(0x273)]??_0x14bd8d['bundleIdentifier'],'version':_0x14bd8d['shortVersionString']??_0x14bd8d[_0x1f6312(0x483)]}));return this[_0x1f6312(0x260)]={'at':Date[_0x1f6312(0x1ec)](),'key':_0x4ced07,'apps':_0x29eaf1},{'success':!![],'apps':_0x29eaf1};}catch(_0x595577){return{'success':![],'apps':[],'error':_0x1f6312(0x3b5)+(_0x595577 instanceof Error?_0x595577['message']:String(_0x595577))};}}async['listInstalledAppsSimulator'](_0x24bacf,_0x1d7428){const _0x4f2a90=_0x1573e0,_0x31eb9d=await _0x26bc67('xcrun',['simctl',_0x4f2a90(0x2fc),_0x24bacf],{'timeoutMs':0x3a98});if(_0x31eb9d['code']!==0x0){if(_0x4f2a90(0x53e)==='umxcP')return{'success':![],'apps':[],'error':_0x4f2a90(0x42f)+(_0x31eb9d[_0x4f2a90(0x461)]||_0x31eb9d[_0x4f2a90(0x376)])[_0x4f2a90(0x531)]()};else _0xa89430[_0x4f2a90(0x2ea)](_0x4f2a90(0x464));}const _0x492d53=_0x4c0b80(_0x31eb9d['stdout']);return this[_0x4f2a90(0x260)]={'at':Date['now'](),'key':_0x1d7428,'apps':_0x492d53},{'success':!![],'apps':_0x492d53};}async['getActiveApp'](){if(!this['screen'])return{'success':![],'error':'ScreenManager\x20not\x20provided\x20—\x20cannot\x20query\x20active\x20app\x20via\x20WDA.'};return this['screen']['getActiveAppInfo']();}['reset'](){const _0x579445=_0x1573e0;this['udid']=null,this[_0x579445(0x574)]=![],this[_0x579445(0x17f)]=0x0,this['devicectlAvailable']=null,this['idbAvailable']=null,this[_0x579445(0x260)]=null;}};}});import{spawn as _0x5b2a13}from'child_process';function _0x351854(_0x104f6d,_0x526c8c,_0x23a512={}){return new Promise(_0x2c645a=>{const _0x3e7903=_0xa6e1;let _0x478fa8='',_0x4e1aff='',_0x278bd3;try{_0x278bd3=_0x5b2a13(_0x104f6d,_0x526c8c,{'stdio':['ignore','pipe',_0x3e7903(0x1e3)]});}catch(_0x34994e){_0x2c645a({'code':0x7f,'stdout':'','stderr':_0x34994e instanceof Error?_0x34994e[_0x3e7903(0x2aa)]:String(_0x34994e)});return;}const _0x4c1ca3=setTimeout(()=>{try{_0x278bd3['kill']('SIGKILL');}catch{}},_0x23a512['timeoutMs']??0x1f40);_0x278bd3[_0x3e7903(0x376)]?.['on']('data',_0xb06b5e=>{const _0x4e77fb=_0x3e7903;if(_0x4e77fb(0x25d)!=='kbQOG')_0x478fa8+=_0xb06b5e['toString']();else{const _0x441435=_0x3a8e1f(_0x4d4cec[_0x4e77fb(0x554)](0x0,_0x5ee822));_0x474655=_0x441435,_0x28c622=_0x441435,_0xb84e8d=null,_0xfcf67a=null,_0x1bdd98=null,_0x3ae362=null,_0x180b1d=!![];}}),_0x278bd3['stderr']?.['on'](_0x3e7903(0x586),_0x36b1f2=>{const _0x247168=_0x3e7903;if('VpZiJ'===_0x247168(0x339))_0x4e1aff+=_0x36b1f2[_0x247168(0x360)]();else{_0x20bc0e=!![];if(_0x46d99e['isArray'](_0xe50325[_0x247168(0x4b1)])){for(const _0x1f8b12 of _0xfabef['workspaces'])_0x51cd73[_0x247168(0x3f7)](_0x1f8b12);}else{if(_0x68e5cd['workspaces']&&typeof _0x5b98bb['workspaces']==='object'&&_0x1c5a12[_0x247168(0x310)](_0x4f81d5['workspaces'][_0x247168(0x223)]))for(const _0x30c5fb of _0x3c61bc['workspaces']['packages']){_0x17ac8f['add'](_0x30c5fb);}}}});let _0x41341a=![];_0x278bd3['on']('error',_0x19881b=>{if(_0x41341a)return;_0x41341a=!![],clearTimeout(_0x4c1ca3),_0x2c645a({'code':0x7f,'stdout':_0x478fa8,'stderr':_0x4e1aff+(_0x19881b['message']??String(_0x19881b))});}),_0x278bd3['on']('exit',_0x5419cb=>{if(_0x41341a)return;_0x41341a=!![],clearTimeout(_0x4c1ca3),_0x2c645a({'code':_0x5419cb??0x1,'stdout':_0x478fa8,'stderr':_0x4e1aff});});});}function _0x2bba2(_0xd61934){const _0x239f21=_0xa6e1,_0x1e988e=(_0xd61934??'')[_0x239f21(0x531)]()['toLowerCase']();if(_0x1e988e==='device')return'device';if(_0x1e988e==='simulator'||_0x1e988e===_0x239f21(0x168))return'simulator';return'auto';}async function _0x18af60(){const _0xc8366b=_0xa6e1,_0x1f85fc=await _0x351854('xcrun',['simctl','list','devices','booted','-j']);if(_0x1f85fc['code']!==0x0)return[];try{const _0x5d684d=JSON[_0xc8366b(0x2ee)](_0x1f85fc[_0xc8366b(0x376)]),_0x3ad189=[],_0xcddd50=_0x5d684d['devices']??{};for(const [_0x2755b7,_0x242b66]of Object['entries'](_0xcddd50)){const _0x39342d=_0x2755b7['toLowerCase']()['includes'](_0xc8366b(0x331))||_0x2755b7['toLowerCase']()[_0xc8366b(0x3bb)]('iphone');if(!_0x39342d)continue;if(!Array['isArray'](_0x242b66))continue;for(const _0x323190 of _0x242b66){if('frTqH'===_0xc8366b(0x4a6))return;else{if(!_0x323190[_0xc8366b(0x1bd)])continue;if((_0x323190[_0xc8366b(0x1bb)]??'')[_0xc8366b(0x55a)]()!=='booted')continue;_0x3ad189[_0xc8366b(0x407)]({'udid':_0x323190['udid'],'name':_0x323190['name']??_0x323190['udid'],'runtime':_0x323190['runtime']??_0x2755b7});}}}return _0x3ad189;}catch{return[];}}function _0x5cf10f(_0x5d54b2){const _0x33fdb2=_0xa6e1;return _0x33fdb2(0x49e)+_0x5d54b2;}var _0x2f3432,_0x10193d,_0x1ed23b=_0x1b53f6({'src/target.ts'(){'use strict';const _0x26da4c=_0xa6e1;_0x2f3432=_0x26da4c(0x211),_0x10193d=class{['apps'];[_0x26da4c(0x372)];['cached']=null;['cachedAt']=0x0;['cacheTtlMs'];['inflight']=null;[_0x26da4c(0x19a)]=0x0;['simulatorWdaPort']=null;['simulatorWdaUdid']=null;['realDeviceHook']=null;[_0x26da4c(0x1ba)]=new Set();[_0x26da4c(0x577)]=new Map();[_0x26da4c(0x1f6)];constructor(_0x5ad399={}){const _0x211a61=_0x26da4c;this['apps']=_0x5ad399[_0x211a61(0x44e)]??null,this['readPreference']=_0x5ad399[_0x211a61(0x372)]??(()=>_0x2bba2(process.env.CERAPH_TARGET)),this[_0x211a61(0x502)]=_0x5ad399[_0x211a61(0x502)]??0x1388,this['listBooted']=_0x5ad399['listBooted']??_0x18af60;}['setAppLifecycle'](_0x5d61aa){const _0x50a900=_0x26da4c;this[_0x50a900(0x44e)]=_0x5d61aa,this[_0x50a900(0x33e)]=null,this['stateVersion']++;}['setSimulatorWdaPort'](_0x5abbef,_0x59588b){const _0x1ddda5=_0x26da4c;this['simulatorWdaPort']=_0x5abbef,this['simulatorWdaUdid']=_0x59588b,this[_0x1ddda5(0x33e)]=null,this['stateVersion']++;}[_0x26da4c(0x21e)](){const _0x58d858=_0x26da4c;this[_0x58d858(0x286)]=null,this['simulatorWdaUdid']=null,this[_0x58d858(0x33e)]=null,this[_0x58d858(0x19a)]++;}[_0x26da4c(0x226)](){const _0x2a4f5c=_0x26da4c;return this[_0x2a4f5c(0x286)];}['getSimulatorWdaUdid'](){return this['simulatorWdaUdid'];}[_0x26da4c(0x1a8)](){this['cached']=null,this['stateVersion']++;}[_0x26da4c(0x30f)](_0x3a5595){const _0x361aa4=_0x26da4c;if('AidWt'==='krHoN')'use strict';else this[_0x361aa4(0x306)]=_0x3a5595;}async['getBaseUrl'](){const _0x5db367=await this['resolve']();return _0x5db367['baseUrl'];}async['getTarget'](){const _0x428021=await this['resolve']();return _0x428021['target'];}async[_0x26da4c(0x3f8)](){const _0x815f7d=_0x26da4c;if(_0x815f7d(0x15e)==='ZOqli'){if(this[_0x815f7d(0x33e)]&&this['cacheTtlMs']>0x0&&Date[_0x815f7d(0x1ec)]()-this[_0x815f7d(0x48c)]<this['cacheTtlMs'])return this['cached'];if(this[_0x815f7d(0x1f5)])return this['inflight'];const _0x4f3ad0=this[_0x815f7d(0x19a)],_0x349e36=((async()=>{const _0x3a3618=_0x815f7d,_0xb9318a=this['readPreference']();if(_0xb9318a===_0x3a3618(0x2c0)){const _0x3705a0=await this['apps']?.[_0x3a3618(0x39c)]()??null;return{'target':_0x3a3618(0x2c0),'udid':_0x3705a0,'baseUrl':_0x2f3432,'wdaReady':!![],'reason':'env-override-device'};}if(_0xb9318a==='simulator'){const _0x158c19=await this[_0x3a3618(0x1f6)](),_0x318caf=this[_0x3a3618(0x1bf)]?_0x158c19[_0x3a3618(0x320)](_0x5b0a53=>_0x5b0a53['udid']===this[_0x3a3618(0x1bf)])??_0x158c19[0x0]:_0x158c19[0x0],_0xb9c228=_0x318caf?.['udid']??this['simulatorWdaUdid']??null,_0x406fa6=this[_0x3a3618(0x1bf)]!==null&&_0x158c19[_0x3a3618(0x179)](_0x52a238=>_0x52a238[_0x3a3618(0x1bd)]===this[_0x3a3618(0x1bf)]),_0xae0d3e=this[_0x3a3618(0x286)]!==null&&this['simulatorWdaUdid']!==null&&_0x406fa6&&_0xb9c228===this[_0x3a3618(0x1bf)];return{'target':_0x3a3618(0x44c),'udid':_0xb9c228,'baseUrl':_0xae0d3e?_0x5cf10f(this[_0x3a3618(0x286)]):_0x2f3432,'wdaReady':_0xae0d3e,'reason':_0x3a3618(0x22a)};}const [_0x38a356,_0x5920df]=await Promise['all']([this[_0x3a3618(0x44e)]?.['getUdid']()??Promise[_0x3a3618(0x3f8)](null),this[_0x3a3618(0x1f6)]()]);if(_0x38a356)return{'target':'device','udid':_0x38a356,'baseUrl':_0x2f3432,'wdaReady':!![],'reason':'auto-prefer-device'};if(_0x5920df[_0x3a3618(0x358)]>0x0){const _0x4316d8=this[_0x3a3618(0x1bf)]?_0x5920df['find'](_0xf75ef2=>_0xf75ef2['udid']===this['simulatorWdaUdid'])??_0x5920df[0x0]:_0x5920df[0x0],_0x961d37=this[_0x3a3618(0x1bf)]!==null&&_0x5920df['some'](_0x1f506d=>_0x1f506d['udid']===this['simulatorWdaUdid']),_0x6b1d86=this['simulatorWdaPort']!==null&&this['simulatorWdaUdid']!==null&&_0x961d37&&_0x4316d8['udid']===this['simulatorWdaUdid'];return{'target':'simulator','udid':_0x4316d8[_0x3a3618(0x1bd)],'baseUrl':_0x6b1d86?_0x5cf10f(this['simulatorWdaPort']):_0x2f3432,'wdaReady':_0x6b1d86,'reason':'auto-only-simulator'};}return{'target':_0x3a3618(0x2c0),'udid':null,'baseUrl':_0x2f3432,'wdaReady':!![],'reason':'auto-no-target-found'};})());this[_0x815f7d(0x1f5)]=_0x349e36;try{const _0x23ce0a=await _0x349e36;this[_0x815f7d(0x19a)]===_0x4f3ad0&&(this[_0x815f7d(0x33e)]=_0x23ce0a,this[_0x815f7d(0x48c)]=Date['now']());if(this['realDeviceHook']&&_0x23ce0a['target']==='device'&&_0x23ce0a['udid']&&!this[_0x815f7d(0x1ba)][_0x815f7d(0x3b6)](_0x23ce0a['udid'])&&!this['realDeviceHookInflight'][_0x815f7d(0x3b6)](_0x23ce0a[_0x815f7d(0x1bd)])){const _0x208bb1=_0x23ce0a['udid'];this['realDeviceHookFiredFor']['add'](_0x208bb1);const _0xc1403f=Promise['resolve']()[_0x815f7d(0x298)](()=>this[_0x815f7d(0x306)]?.(_0x23ce0a))[_0x815f7d(0x3e8)](()=>{})['finally'](()=>{const _0x3f837f=_0x815f7d;this[_0x3f837f(0x577)]['delete'](_0x208bb1);});this['realDeviceHookInflight'][_0x815f7d(0x293)](_0x208bb1,_0xc1403f);}return _0x23ce0a;}finally{this['inflight']=null;}}else return{'success':![],'matchCount':_0x199158['matchCount'],'error':_0x197efa['error']??'No\x20element\x20found\x20matching\x20'+_0x513d7c[_0x815f7d(0x278)](_0x198c3c)};}async['__awaitRealDeviceHookForTests'](_0x4971dc){const _0x4324df=_0x26da4c,_0x14fb6f=this[_0x4324df(0x577)]['get'](_0x4971dc);if(_0x14fb6f)await _0x14fb6f;}[_0x26da4c(0x39e)](){const _0x58a6c0=_0x26da4c;this[_0x58a6c0(0x33e)]=null,this[_0x58a6c0(0x1f5)]=null,this[_0x58a6c0(0x286)]=null,this[_0x58a6c0(0x1bf)]=null,this[_0x58a6c0(0x1ba)][_0x58a6c0(0x544)](),this[_0x58a6c0(0x577)][_0x58a6c0(0x544)](),this['stateVersion']++;}};}}),_0x1d83d4,_0x226263,_0x48ae99=_0x1b53f6({'src/screen.ts'(){'use strict';const _0x58a562=_0xa6e1;_0x1ed23b(),_0x1d83d4=0x1388,_0x226263=class{[_0x58a562(0x21b)]=null;[_0x58a562(0x54a)]=null;[_0x58a562(0x29f)];['sessionBaseUrl']=null;[_0x58a562(0x36d)]=null;constructor(_0x589d0d={}){const _0x36e380=_0x58a562;this[_0x36e380(0x29f)]=_0x589d0d['targetResolver']??new _0x10193d();}async['tapAtPoint'](_0x49bcbb,_0x43b783,_0x550ffe){const _0x3298dc=_0x58a562;if(this[_0x3298dc(0x36d)]!=='legacy'){const _0x1cfabe=await this['sendW3CActions'](_0x49bcbb,[{'type':'pointer','id':_0x3298dc(0x418),'parameters':{'pointerType':_0x3298dc(0x406)},'actions':this['buildTapPointerActions'](_0x43b783,_0x550ffe)}]);if(_0x1cfabe)return _0x3298dc(0x4ea)!=='OucLs'?(this['tapTransport']=_0x3298dc(0x1ac),{'ok':!![]}):![];if(this['tapTransport']==='actions')return{'ok':![],'error':_0x3298dc(0x4ba)};}const _0x152468=await this[_0x3298dc(0x427)]('/session/'+_0x49bcbb+_0x3298dc(0x1c6),{'method':'POST','body':JSON[_0x3298dc(0x278)]({'x':_0x43b783,'y':_0x550ffe})});if(_0x152468['ok'])return this[_0x3298dc(0x36d)]='legacy',{'ok':!![]};const _0x5b43b9=await _0x152468[_0x3298dc(0x48a)]()['catch'](()=>_0x3298dc(0x548));return{'ok':![],'error':'WDA\x20tap\x20failed:\x20/actions\x20rejected\x20the\x20tap\x20and\x20legacy\x20/wda/tap/0\x20returned\x20'+_0x152468['status']+'\x20'+_0x5b43b9};}async[_0x58a562(0x4fb)](){const _0x5da77a=_0x58a562;try{const _0x4c6c40=await this[_0x5da77a(0x29f)]['resolve']();return{'baseUrl':_0x4c6c40[_0x5da77a(0x4ab)],'ready':_0x4c6c40[_0x5da77a(0x4d3)]};}catch{return{'baseUrl':_0x2f3432,'ready':!![]};}}async[_0x58a562(0x2b0)](_0x4540ce,_0x52ab0c,_0x42932b={},_0x25df73=_0x1d83d4){const _0x27d630=_0x58a562,_0x301a21=''+_0x4540ce+_0x52ab0c,_0x320b78=new AbortController(),_0x11937a=setTimeout(()=>_0x320b78['abort'](),_0x25df73);try{const _0x5cbbff=await fetch(_0x301a21,{..._0x42932b,'signal':_0x320b78['signal'],'headers':{'Content-Type':'application/json',..._0x42932b[_0x27d630(0x1fe)]}});return _0x5cbbff;}finally{clearTimeout(_0x11937a);}}async['wdaFetch'](_0x41ff73,_0x28423f={},_0x16d69b=_0x1d83d4){const _0x183fd1=_0x58a562,_0x4142a5=await this[_0x183fd1(0x4fb)]();if(!_0x4142a5[_0x183fd1(0x2bb)]){if(_0x183fd1(0x3ad)===_0x183fd1(0x3ad))throw new Error('WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.');else return{'success':![],'transport':'idb','error':_0x183fd1(0x356)+(_0x3267f6[_0x183fd1(0x461)]||_0xfd92ee['stdout'])['trim']()};}const _0x3b6416=this['sessionBaseUrl']??_0x4142a5[_0x183fd1(0x4ab)];return this[_0x183fd1(0x2b0)](_0x3b6416,_0x41ff73,_0x28423f,_0x16d69b);}async['currentBaseUrl'](){const _0x53fa95=_0x58a562;if(this['sessionBaseUrl'])return this['sessionBaseUrl'];const _0x5c8746=await this[_0x53fa95(0x4fb)]();return _0x5c8746[_0x53fa95(0x4ab)];}async['isAvailable'](){const _0x386b11=_0x58a562,_0x355d8b=await this['snapshotTarget']();if(!_0x355d8b[_0x386b11(0x2bb)])return![];try{const _0xd39bc1=await this['wdaFetchAt'](_0x355d8b[_0x386b11(0x4ab)],_0x386b11(0x2d9));return _0xd39bc1['ok'];}catch{return![];}}async['ensureSession'](){const _0x3ebeaa=_0x58a562,_0x4e4666=await this['snapshotTarget']();if(!_0x4e4666[_0x3ebeaa(0x2bb)])throw new Error('WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.');const _0x196296=_0x4e4666['baseUrl'];this[_0x3ebeaa(0x58e)]&&this['sessionBaseUrl']!==_0x196296&&(this[_0x3ebeaa(0x21b)]=null,this['pixelRatio']=null);this[_0x3ebeaa(0x58e)]=_0x196296;if(this[_0x3ebeaa(0x21b)]){try{const _0x599392=await this[_0x3ebeaa(0x2b0)](_0x196296,'/session/'+this[_0x3ebeaa(0x21b)]);if(_0x599392['ok'])return this[_0x3ebeaa(0x21b)];}catch{}this['sessionId']=null;}try{const _0x109173=await this[_0x3ebeaa(0x2b0)](_0x196296,_0x3ebeaa(0x2d9));if(_0x109173['ok']){const _0x1bc093=await _0x109173['json'](),_0x13102f=_0x1bc093['sessionId']||_0x1bc093[_0x3ebeaa(0x267)]?.[_0x3ebeaa(0x21b)];if(_0x13102f)return this['sessionId']=_0x13102f,_0x13102f;}}catch{}const _0x5143dc=await this['wdaFetchAt'](_0x196296,_0x3ebeaa(0x52e),{'method':_0x3ebeaa(0x3ba),'body':JSON[_0x3ebeaa(0x278)]({'capabilities':{'alwaysMatch':{}}})});if(!_0x5143dc['ok']){const _0x2bdb64=await _0x5143dc[_0x3ebeaa(0x48a)]()[_0x3ebeaa(0x3e8)](()=>'unknown\x20error');throw new Error(_0x3ebeaa(0x513)+_0x5143dc['status']+'\x20'+_0x2bdb64);}const _0xa18f29=await _0x5143dc['json'](),_0x3ed332=_0xa18f29['sessionId']||_0xa18f29['value']?.['sessionId'];if(!_0x3ed332){if('YzWGX'==='NzvsC')return{'registered':[],'registryPath':_0x44e71f,'writtenOrUnchanged':_0x3ebeaa(0x50b)};else throw new Error(_0x3ebeaa(0x536));}return this[_0x3ebeaa(0x21b)]=_0x3ed332,_0x3ed332;}async[_0x58a562(0x27d)](){const _0x3a878d=_0x58a562;if(this[_0x3a878d(0x54a)])return this[_0x3a878d(0x54a)];const _0x36ffec=await this['ensureSession'](),_0x3b03e2=await this['wdaFetch'](_0x3a878d(0x349)+_0x36ffec+_0x3a878d(0x3cd));if(!_0x3b03e2['ok'])throw new Error(_0x3a878d(0x453)+_0x3b03e2[_0x3a878d(0x17a)]);const _0xa28ce2=await _0x3b03e2[_0x3a878d(0x21a)](),_0xd44e5e=_0xa28ce2['value'][_0x3a878d(0x1f9)],_0x1bdf37=await this[_0x3a878d(0x427)](_0x3a878d(0x349)+_0x36ffec+'/screenshot');if(!_0x1bdf37['ok'])return this['pixelRatio']=0x3,this['pixelRatio'];const _0xe2119c=await _0x1bdf37[_0x3a878d(0x21a)](),_0x242b4a=_0xe2119c[_0x3a878d(0x267)],_0x401ced=Buffer['from'](_0x242b4a,_0x3a878d(0x229));if(_0x401ced['length']<0x18)return this['pixelRatio']=0x3,this['pixelRatio'];const _0x39a3ec=_0x401ced[_0x3a878d(0x584)](0x10);return this['pixelRatio']=Math[_0x3a878d(0x1f3)](_0x39a3ec/_0xd44e5e),(this['pixelRatio']<0x1||this[_0x3a878d(0x54a)]>0x4)&&(this[_0x3a878d(0x54a)]=0x3),this[_0x3a878d(0x54a)];}async['getWindowSize'](){const _0x1bd641=_0x58a562,_0x3cb3f2=await this[_0x1bd641(0x17e)](),_0x30c18e=await this[_0x1bd641(0x427)](_0x1bd641(0x349)+_0x3cb3f2+'/window/size');if(!_0x30c18e['ok']){if(_0x1bd641(0x291)===_0x1bd641(0x291))throw new Error('Failed\x20to\x20get\x20window\x20size:\x20'+_0x30c18e['status']);else{if(!_0x2574a4[_0x1bd641(0x1be)]||typeof _0x42d233['githubUser']!=='object')return![];const _0x14d982=_0x1c20f7[_0x1bd641(0x1be)];if(typeof _0x14d982[_0x1bd641(0x51d)]!==_0x1bd641(0x2c6)||typeof _0x14d982['id']!=='number')return![];}}const _0x57547c=await _0x30c18e[_0x1bd641(0x21a)]();return _0x57547c[_0x1bd641(0x267)];}async[_0x58a562(0x214)](_0x116ae3,_0x4f47f5,_0x4a4475=!![]){const _0x27d1b5=_0x58a562;try{const _0x4003b0=await this[_0x27d1b5(0x17e)](),_0x1cd963=await this[_0x27d1b5(0x27d)](),_0x1bd4d0=_0x4a4475?_0x116ae3/_0x1cd963:_0x116ae3,_0x2e49db=_0x4a4475?_0x4f47f5/_0x1cd963:_0x4f47f5,_0x6ad1bc=await this['tapAtPoint'](_0x4003b0,_0x1bd4d0,_0x2e49db);if(!_0x6ad1bc['ok'])return{'success':![],'tappedAt':{'x':_0x1bd4d0,'y':_0x2e49db},'pixelRatio':_0x1cd963,'correction':_0x4a4475?_0x27d1b5(0x56e)+_0x1cd963+_0x27d1b5(0x20d)+_0x116ae3+','+_0x4f47f5+_0x27d1b5(0x535)+_0x1bd4d0[_0x27d1b5(0x297)](0x1)+','+_0x2e49db[_0x27d1b5(0x297)](0x1)+')':_0x27d1b5(0x446),'error':_0x6ad1bc[_0x27d1b5(0x48f)]??_0x27d1b5(0x4c9)};return{'success':!![],'tappedAt':{'x':_0x1bd4d0,'y':_0x2e49db},'pixelRatio':_0x1cd963,'correction':_0x4a4475?'Divided\x20by\x20'+_0x1cd963+'x:\x20('+_0x116ae3+','+_0x4f47f5+_0x27d1b5(0x535)+_0x1bd4d0['toFixed'](0x1)+','+_0x2e49db[_0x27d1b5(0x297)](0x1)+')':'No\x20correction\x20(device\x20coordinates)'};}catch(_0x28eca0){return{'success':![],'tappedAt':{'x':_0x116ae3,'y':_0x4f47f5},'pixelRatio':this[_0x27d1b5(0x54a)]??0x0,'correction':'Failed\x20before\x20correction\x20could\x20be\x20applied','error':_0x28eca0 instanceof Error?_0x28eca0['message']:'Unknown\x20error\x20during\x20tap'};}}async[_0x58a562(0x4fc)](_0x2fcbc5){const _0x18e40=_0x58a562;try{const _0x298f4b=await this['ensureSession'](),_0x4b3470=await this['wdaFetch']('/session/'+_0x298f4b+'/source?format=json');if(!_0x4b3470['ok'])return{'success':![],'error':_0x18e40(0x589)+_0x4b3470['status']};const _0x1c6937=await _0x4b3470['json'](),_0x184fc5=_0x1c6937['value'],_0xf03f5e=this[_0x18e40(0x440)](_0x184fc5,_0x2fcbc5);if(_0xf03f5e[_0x18e40(0x358)]===0x0){const _0x20d0eb=this[_0x18e40(0x4f5)](_0x184fc5,0x32);return{'success':![],'matchCount':0x0,'availableElements':_0x20d0eb,'error':_0x18e40(0x323)+JSON[_0x18e40(0x278)](_0x2fcbc5)};}const _0x50e5bb=_0x2fcbc5['index']??0x0;if(_0x50e5bb>=_0xf03f5e['length'])return{'success':![],'matchCount':_0xf03f5e['length'],'error':'Index\x20'+_0x50e5bb+'\x20out\x20of\x20range.\x20Found\x20'+_0xf03f5e[_0x18e40(0x358)]+'\x20matching\x20element(s).','availableElements':_0xf03f5e['map'](_0x1f1e0d=>({'type':_0x1f1e0d[_0x18e40(0x3ca)]??'unknown','label':_0x1f1e0d[_0x18e40(0x47c)]??'','text':String(_0x1f1e0d['value']??_0x1f1e0d[_0x18e40(0x47c)]??'')}))};const _0x255528=_0xf03f5e[_0x50e5bb],_0x5313c6=_0x255528[_0x18e40(0x32e)];if(!_0x5313c6){if('oBeFr'==='gDliF')_0x149789[_0x18e40(0x407)]({'path':_0x206b3e,'status':_0x18e40(0x4af)});else return{'success':![],'matchCount':_0xf03f5e['length'],'error':'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'};}const _0x536dde=_0x5313c6['x']+_0x5313c6['width']/0x2,_0x262d14=_0x5313c6['y']+_0x5313c6[_0x18e40(0x221)]/0x2,_0xc75c16=await this['tapAtPoint'](_0x298f4b,_0x536dde,_0x262d14);if(!_0xc75c16['ok'])return _0x18e40(0x270)!==_0x18e40(0x270)?{'result':{'success':![],'error':_0x29f93d instanceof _0x2b6058?_0x1d3dcf['message']:'Unknown\x20error\x20during\x20findAndTapReturningTree'},'tree':null}:{'success':![],'matchCount':_0xf03f5e['length'],'error':_0xc75c16['error']??_0x18e40(0x4c9),'element':{'type':_0x255528['type']??_0x18e40(0x548),'label':_0x255528[_0x18e40(0x47c)]??_0x255528['name']??'','bounds':_0x5313c6},'tappedAt':{'x':_0x536dde,'y':_0x262d14}};return{'success':!![],'matchCount':_0xf03f5e['length'],'element':{'type':_0x255528['type']??_0x18e40(0x548),'label':_0x255528['label']??_0x255528[_0x18e40(0x273)]??'','bounds':_0x5313c6},'tappedAt':{'x':_0x536dde,'y':_0x262d14}};}catch(_0x40356e){return{'success':![],'error':_0x40356e instanceof Error?_0x40356e[_0x18e40(0x2aa)]:'Unknown\x20error\x20during\x20findAndTap'};}}async[_0x58a562(0x18f)](_0x2066b2){const _0x166144=_0x58a562;try{if('gYslw'!=='SnYzN'){const _0x474255=await this['ensureSession'](),_0x1266d3=await this[_0x166144(0x427)]('/session/'+_0x474255+'/source?format=json');if(!_0x1266d3['ok'])return{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree:\x20'+_0x1266d3[_0x166144(0x17a)]};const _0x2cf4cd=await _0x1266d3[_0x166144(0x21a)](),_0x38a940=this['searchElements'](_0x2cf4cd[_0x166144(0x267)],_0x2066b2);if(_0x38a940['length']===0x0)return{'success':![],'matchCount':0x0};const _0x490f85=_0x2066b2['index']??0x0;if(_0x490f85>=_0x38a940['length'])return{'success':![],'matchCount':_0x38a940[_0x166144(0x358)]};return{'success':!![],'element':_0x38a940[_0x490f85],'matchCount':_0x38a940[_0x166144(0x358)]};}else{const _0x5c0bc8=_0x4bb7a0['getElements']()[0x0];return!!_0x5c0bc8&&_0x5aea02(_0x5c0bc8,_0x2fd7fc);}}catch(_0x1dfede){return{'success':![],'error':_0x1dfede instanceof Error?_0x1dfede['message']:'Unknown\x20error\x20during\x20findElement'};}}async['swipe'](_0x2d9f63){const _0x4474b1=_0x58a562;try{if(_0x4474b1(0x3ce)==='KdYOW'){const _0x54f7dc=await this['ensureSession'](),_0x1fcacb=await this[_0x4474b1(0x334)](),_0x5883d9=await this['getPixelRatio'](),_0x30db43=(_0x2d9f63[_0x4474b1(0x465)]??_0x4474b1(0x2c0))===_0x4474b1(0x370);let _0x475932=_0x2d9f63[_0x4474b1(0x3d3)]?.['x']??_0x1fcacb[_0x4474b1(0x1f9)]/0x2,_0x4f79b9=_0x2d9f63['from']?.['y']??_0x1fcacb[_0x4474b1(0x221)]/0x2;_0x30db43&&(_0x475932=_0x475932/_0x5883d9,_0x4f79b9=_0x4f79b9/_0x5883d9);const _0x26d30f=_0x2d9f63[_0x4474b1(0x4f6)]==='up'||_0x2d9f63[_0x4474b1(0x4f6)]===_0x4474b1(0x3a4)?_0x1fcacb['height']:_0x1fcacb[_0x4474b1(0x1f9)],_0x3012b6=_0x2d9f63['distancePx']??Math['floor'](_0x26d30f*0.6);let _0x40e623=_0x475932,_0x5a883b=_0x4f79b9;switch(_0x2d9f63[_0x4474b1(0x4f6)]){case'up':_0x5a883b=_0x4f79b9-_0x3012b6;break;case'down':_0x5a883b=_0x4f79b9+_0x3012b6;break;case _0x4474b1(0x174):_0x40e623=_0x475932-_0x3012b6;break;case _0x4474b1(0x3f3):_0x40e623=_0x475932+_0x3012b6;break;}_0x40e623=Math[_0x4474b1(0x241)](0x0,Math[_0x4474b1(0x595)](_0x1fcacb[_0x4474b1(0x1f9)]-0x1,_0x40e623)),_0x5a883b=Math[_0x4474b1(0x241)](0x0,Math['min'](_0x1fcacb['height']-0x1,_0x5a883b)),_0x475932=Math['max'](0x0,Math[_0x4474b1(0x595)](_0x1fcacb[_0x4474b1(0x1f9)]-0x1,_0x475932)),_0x4f79b9=Math['max'](0x0,Math[_0x4474b1(0x595)](_0x1fcacb[_0x4474b1(0x221)]-0x1,_0x4f79b9));const _0x429ae0=_0x2d9f63[_0x4474b1(0x3a7)]??0x12c,_0x23bf1e=await this[_0x4474b1(0x427)]('/session/'+_0x54f7dc+'/wda/dragfromtoforduration',{'method':'POST','body':JSON['stringify']({'fromX':_0x475932,'fromY':_0x4f79b9,'toX':_0x40e623,'toY':_0x5a883b,'duration':_0x429ae0/0x3e8})});if(!_0x23bf1e['ok']){const _0x3c7013=await _0x23bf1e[_0x4474b1(0x48a)]()[_0x4474b1(0x3e8)](()=>_0x4474b1(0x548));return{'success':![],'from':{'x':_0x475932,'y':_0x4f79b9},'to':{'x':_0x40e623,'y':_0x5a883b},'durationMs':_0x429ae0,'error':_0x4474b1(0x1b6)+_0x23bf1e['status']+'\x20'+_0x3c7013};}return{'success':!![],'from':{'x':_0x475932,'y':_0x4f79b9},'to':{'x':_0x40e623,'y':_0x5a883b},'durationMs':_0x429ae0};}else _0x4a0016(_0x4a4411);}catch(_0x3ddff1){return{'success':![],'from':{'x':0x0,'y':0x0},'to':{'x':0x0,'y':0x0},'durationMs':_0x2d9f63[_0x4474b1(0x3a7)]??0x12c,'error':_0x3ddff1 instanceof Error?_0x3ddff1['message']:'Unknown\x20error\x20during\x20swipe'};}}async['scrollToElement'](_0x1392de,_0x3d22a1={}){const _0x408b20=_0x58a562,_0x32c08c=_0x3d22a1['maxSwipes']??0xa,_0x29bf31=_0x3d22a1['direction']??'up';let _0xb4b12f=void 0x0;for(let _0x5a498b=0x0;_0x5a498b<=_0x32c08c;_0x5a498b++){const _0x4a4245=await this['findElement'](_0x1392de);if(_0x4a4245[_0x408b20(0x197)]&&_0x4a4245[_0x408b20(0x432)]?.['rect'])return _0x408b20(0x23f)!=='yDIxe'?(_0x25ae5f(_0x46ea65+_0x408b20(0x4eb)+_0x4a4604+_0x408b20(0x538)+(_0x5cef20[_0x408b20(0x310)](_0x25c2cd)?_0x408b20(0x247):typeof _0x40d949)+')\x20—\x20preserving\x20the\x20file.'),![]):{'success':!![],'swipes':_0x5a498b,'element':{'type':_0x4a4245['element']['type']??'unknown','label':_0x4a4245['element']['label']??_0x4a4245[_0x408b20(0x432)][_0x408b20(0x273)]??'','bounds':_0x4a4245['element'][_0x408b20(0x32e)]}};_0x4a4245['matchCount']!==void 0x0&&(_0xb4b12f=_0xb4b12f===void 0x0?_0x4a4245[_0x408b20(0x16d)]:Math[_0x408b20(0x241)](_0xb4b12f,_0x4a4245['matchCount']));if(_0x5a498b===_0x32c08c)break;const _0x59e099=await this[_0x408b20(0x350)]({'direction':_0x29bf31,'distancePx':_0x3d22a1['distancePx']});if(!_0x59e099[_0x408b20(0x197)])return{'success':![],'swipes':_0x5a498b,'error':_0x59e099['error']??'Swipe\x20failed\x20during\x20scrollToElement'};}return{'success':![],'swipes':_0x32c08c,'matchCount':_0xb4b12f,'error':_0x408b20(0x421)+_0x32c08c+_0x408b20(0x1d5)+JSON[_0x408b20(0x278)](_0x1392de)};}async['longPress'](_0x5b7b2a,_0x59decd,_0x1ea463=0x3e8,_0x31c10a=![]){const _0x2aaa8e=_0x58a562;try{const _0x19c54d=await this[_0x2aaa8e(0x17e)]();let _0x27796b=_0x5b7b2a,_0x501498=_0x59decd;if(_0x31c10a){const _0x46194c=await this[_0x2aaa8e(0x27d)]();_0x27796b=_0x5b7b2a/_0x46194c,_0x501498=_0x59decd/_0x46194c;}const _0x518c89=await this['wdaFetch']('/session/'+_0x19c54d+_0x2aaa8e(0x1bc),{'method':'POST','body':JSON['stringify']({'x':_0x27796b,'y':_0x501498,'duration':_0x1ea463/0x3e8})});if(!_0x518c89['ok']){const _0x4546ed=await _0x518c89['text']()[_0x2aaa8e(0x3e8)](()=>_0x2aaa8e(0x548));return{'success':![],'error':_0x2aaa8e(0x585)+_0x518c89[_0x2aaa8e(0x17a)]+'\x20'+_0x4546ed};}return{'success':!![],'details':{'x':_0x27796b,'y':_0x501498,'durationMs':_0x1ea463}};}catch(_0x4e532c){return{'success':![],'error':_0x4e532c instanceof Error?_0x4e532c['message']:'Unknown\x20error\x20during\x20longPress'};}}async[_0x58a562(0x398)](_0x18a624,_0x15ca33=0x3e8){const _0x1defdb=_0x58a562,_0x37e5b9=await this[_0x1defdb(0x18f)](_0x18a624);if(!_0x37e5b9[_0x1defdb(0x197)]||!_0x37e5b9[_0x1defdb(0x432)]?.['rect'])return{'success':![],'matchCount':_0x37e5b9[_0x1defdb(0x16d)],'error':_0x37e5b9['error']??'No\x20element\x20found\x20matching\x20'+JSON['stringify'](_0x18a624)};const _0x50386a=_0x37e5b9[_0x1defdb(0x432)][_0x1defdb(0x32e)],_0x2174d7=_0x50386a['x']+_0x50386a[_0x1defdb(0x1f9)]/0x2,_0x33126e=_0x50386a['y']+_0x50386a[_0x1defdb(0x221)]/0x2,_0x209ff5=await this['longPress'](_0x2174d7,_0x33126e,_0x15ca33,![]);return{..._0x209ff5,'matchCount':_0x37e5b9[_0x1defdb(0x16d)],'element':{'type':_0x37e5b9['element'][_0x1defdb(0x3ca)]??_0x1defdb(0x548),'label':_0x37e5b9['element']['label']??_0x37e5b9[_0x1defdb(0x432)][_0x1defdb(0x273)]??'','bounds':_0x50386a}};}async['type'](_0x1faa16,_0x498105={}){const _0x1133a8=_0x58a562;try{const _0x44fc84=await this['ensureSession'](),_0x1cec06=Array['from'](_0x1faa16),_0x46ac0d=await this['wdaFetch'](_0x1133a8(0x349)+_0x44fc84+_0x1133a8(0x3d9),{'method':_0x1133a8(0x3ba),'body':JSON[_0x1133a8(0x278)]({'value':_0x1cec06})});if(!_0x46ac0d['ok']){const _0x455180=await _0x46ac0d['text']()[_0x1133a8(0x3e8)](()=>'unknown');return{'success':![],'error':'WDA\x20keys\x20failed:\x20'+_0x46ac0d['status']+'\x20'+_0x455180};}if(_0x498105[_0x1133a8(0x28a)]){if('pIVYW'!==_0x1133a8(0x32c))return{'name':_0x1133a8(0x1ee),'status':_0x1133a8(0x48f),'details':{'error':_0x43329a(_0x41e4c2),..._0x4bb8b7?{'dryRun':!![]}:{}}};else await this[_0x1133a8(0x427)](_0x1133a8(0x349)+_0x44fc84+'/wda/keys',{'method':'POST','body':JSON['stringify']({'value':['\x0a']})})[_0x1133a8(0x3e8)](()=>void 0x0);}return{'success':!![]};}catch(_0x10c548){return{'success':![],'error':_0x10c548 instanceof Error?_0x10c548[_0x1133a8(0x2aa)]:'Unknown\x20error\x20during\x20type'};}}async[_0x58a562(0x2b3)](_0x1bce24){const _0x1145ae=_0x58a562;try{const _0x1087de=await this[_0x1145ae(0x18f)](_0x1bce24);if(!_0x1087de['success']||!_0x1087de[_0x1145ae(0x432)]?.[_0x1145ae(0x32e)])return{'success':![],'error':_0x1087de[_0x1145ae(0x48f)]??'No\x20element\x20found\x20matching\x20'+JSON['stringify'](_0x1bce24)};const _0x3517ed=_0x1087de[_0x1145ae(0x432)]['rect'],_0x4edafa=String(_0x1087de['element']['value']??'');if(_0x4edafa[_0x1145ae(0x358)]===0x0)return{'success':!![]};const _0x116c0f=await this[_0x1145ae(0x214)](_0x3517ed['x']+_0x3517ed['width']/0x2,_0x3517ed['y']+_0x3517ed['height']/0x2,![]);if(!_0x116c0f[_0x1145ae(0x197)])return{'success':![],'error':_0x116c0f['error']??'Failed\x20to\x20focus\x20element\x20before\x20clearing'};const _0x5bd309=new Array(_0x4edafa['length'])['fill'](''),_0x2ee6ef=await this[_0x1145ae(0x17e)](),_0x52ceb8=await this['wdaFetch']('/session/'+_0x2ee6ef+'/wda/keys',{'method':'POST','body':JSON['stringify']({'value':_0x5bd309})});if(!_0x52ceb8['ok']){const _0x2b13da=await _0x52ceb8['text']()['catch'](()=>'unknown');return{'success':![],'error':_0x1145ae(0x420)+_0x52ceb8['status']+'\x20'+_0x2b13da};}return{'success':!![],'details':{'cleared':_0x4edafa['length']}};}catch(_0x96ce04){if(_0x1145ae(0x569)===_0x1145ae(0x569))return{'success':![],'error':_0x96ce04 instanceof Error?_0x96ce04[_0x1145ae(0x2aa)]:_0x1145ae(0x410)};else _0x223186[_0x1145ae(0x407)](_0x5342a1[_0x1145ae(0x2d0)]);}}async[_0x58a562(0x2c7)](_0x5e7e0b){const _0x1ff466=_0x58a562;try{const _0x27ca2a=await this[_0x1ff466(0x17e)]();if(_0x5e7e0b==='lock'){const _0x14c8ba=await this[_0x1ff466(0x427)]('/session/'+_0x27ca2a+'/wda/lock',{'method':'POST','body':JSON[_0x1ff466(0x278)]({})});if(!_0x14c8ba['ok']){const _0x3900e5=await _0x14c8ba[_0x1ff466(0x48a)]()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20lock\x20failed:\x20'+_0x14c8ba[_0x1ff466(0x17a)]+'\x20'+_0x3900e5};}return{'success':!![]};}if(_0x5e7e0b===_0x1ff466(0x1ae)){if(_0x1ff466(0x4b5)!==_0x1ff466(0x516))return await this['_systemBack']();else try{const _0x48af62=_0x27377a(import.meta.url),_0x58f8b8=_0x48af62(_0x1ff466(0x414));return _0x58f8b8[_0x1ff466(0x483)]??_0x1ff466(0x1d8);}catch{return'0.0.0';}}if(_0x5e7e0b!==_0x1ff466(0x45d)&&_0x5e7e0b!==_0x1ff466(0x43e)&&_0x5e7e0b!==_0x1ff466(0x1ab))return{'success':![],'error':_0x1ff466(0x31c)+String(_0x5e7e0b)};const _0x1640c8=_0x5e7e0b==='home'?_0x1ff466(0x45d):_0x5e7e0b===_0x1ff466(0x43e)?'volumeup':'volumedown',_0x41ac25=await this[_0x1ff466(0x427)](_0x1ff466(0x349)+_0x27ca2a+_0x1ff466(0x3db),{'method':'POST','body':JSON[_0x1ff466(0x278)]({'name':_0x1640c8})});if(!_0x41ac25['ok']){const _0x284a2d=await _0x41ac25['text']()['catch'](()=>_0x1ff466(0x548));return{'success':![],'error':_0x1ff466(0x208)+_0x41ac25[_0x1ff466(0x17a)]+'\x20'+_0x284a2d};}return{'success':!![]};}catch(_0x1c3c8d){return{'success':![],'error':_0x1c3c8d instanceof Error?_0x1c3c8d['message']:_0x1ff466(0x1ea)};}}async[_0x58a562(0x3aa)](){const _0x2a70f6=_0x58a562,_0x2e8f2d=await this['_findNavBarBackButton']();if(_0x2e8f2d){const _0xd5defa=_0x2e8f2d['x']+_0x2e8f2d['width']/0x2,_0x44419b=_0x2e8f2d['y']+_0x2e8f2d[_0x2a70f6(0x221)]/0x2,_0x263ffa=await this['ensureSession'](),_0x4a89aa=await this['tapAtPoint'](_0x263ffa,_0xd5defa,_0x44419b);if(_0x4a89aa['ok'])return{'success':!![],'details':{'method':_0x2a70f6(0x1de),'tappedAt':{'x':_0xd5defa,'y':_0x44419b}}};}const _0x2455d1=await this['getWindowSize'](),_0x9cc22=await this[_0x2a70f6(0x350)]({'direction':_0x2a70f6(0x3f3),'from':{'x':0x0,'y':Math['floor'](_0x2455d1[_0x2a70f6(0x221)]/0x2)},'coordinateSource':_0x2a70f6(0x2c0)});return{'success':_0x9cc22['success'],'error':_0x9cc22['error'],'details':{'method':_0x2a70f6(0x51b),'from':_0x9cc22['from'],'to':_0x9cc22['to']}};}async[_0x58a562(0x2b2)](){const _0x100335=_0x58a562,_0x203436=await this['getSource']();if(!_0x203436['success']||!_0x203436[_0x100335(0x385)])return null;const _0x42a2f8=await this[_0x100335(0x334)](),_0xe1ad60=_0x42a2f8['width']/0x2,_0x2f5c14=0x8c,_0x2da923=[],_0xb0a7ea=_0x56280b=>{const _0x149483=_0x100335,_0x466e19=String(_0x56280b[_0x149483(0x3ca)]??''),_0x4c8aa7=_0x56280b['rect'],_0x9f9429=_0x466e19[_0x149483(0x55a)]()['includes']('button');if(_0x9f9429&&_0x4c8aa7&&typeof _0x4c8aa7['x']===_0x149483(0x2f7)){const _0x14a4cd=_0x4c8aa7['x']<_0xe1ad60&&_0x4c8aa7['y']<_0x2f5c14;if(_0x14a4cd&&_0x4c8aa7['width']>0x0&&_0x4c8aa7[_0x149483(0x221)]>0x0){const _0x40bf4f=String(_0x56280b['label']??_0x56280b[_0x149483(0x273)]??'')[_0x149483(0x55a)]();_0x2da923['push']({'rect':_0x4c8aa7,'labelledBack':_0x40bf4f[_0x149483(0x3bb)]('back')});}}const _0xf49114=_0x56280b[_0x149483(0x264)];if(Array['isArray'](_0xf49114)){for(const _0x59fc7b of _0xf49114)_0xb0a7ea(_0x59fc7b);}};_0xb0a7ea(_0x203436[_0x100335(0x385)]);if(_0x2da923['length']===0x0)return null;return _0x2da923[_0x100335(0x192)]((_0xa3d1db,_0x51f197)=>{const _0x15b624=_0x100335;if(_0xa3d1db[_0x15b624(0x456)]!==_0x51f197['labelledBack'])return _0xa3d1db[_0x15b624(0x456)]?-0x1:0x1;if(_0xa3d1db['rect']['x']!==_0x51f197['rect']['x'])return _0xa3d1db[_0x15b624(0x32e)]['x']-_0x51f197['rect']['x'];return _0xa3d1db['rect']['y']-_0x51f197[_0x15b624(0x32e)]['y'];}),_0x2da923[0x0]['rect'];}async['unlock'](){const _0x583cd3=_0x58a562;if('qzRvA'==='qzRvA')try{const _0x4fc1eb=await this['ensureSession'](),_0x5a9c46=await this['wdaFetch'](_0x583cd3(0x349)+_0x4fc1eb+'/wda/unlock',{'method':'POST','body':JSON[_0x583cd3(0x278)]({})});if(!_0x5a9c46['ok']){const _0x5651a9=await _0x5a9c46['text']()['catch'](()=>_0x583cd3(0x548));return{'success':![],'error':_0x583cd3(0x1d2)+_0x5a9c46[_0x583cd3(0x17a)]+'\x20'+_0x5651a9};}return{'success':!![]};}catch(_0x1a7f82){return{'success':![],'error':_0x1a7f82 instanceof Error?_0x1a7f82['message']:'Unknown\x20error\x20during\x20unlock'};}else _0x8065f0(_0x528031(_0x583cd3(0x255)+(_0x231e41['reason']??'unknown\x20reason')));}async['isLocked'](){const _0x5c0b83=_0x58a562;try{const _0x5b9522=await this['ensureSession'](),_0x207525=await this[_0x5c0b83(0x427)]('/session/'+_0x5b9522+_0x5c0b83(0x23d));if(!_0x207525['ok'])return null;const _0x43a65c=await _0x207525[_0x5c0b83(0x21a)]();return typeof _0x43a65c[_0x5c0b83(0x267)]==='boolean'?_0x43a65c['value']:null;}catch{return null;}}async['screenshot'](){const _0x19e8dd=_0x58a562;try{const _0x237fa0=await this[_0x19e8dd(0x17e)](),_0x2a0f5c=await this[_0x19e8dd(0x427)](_0x19e8dd(0x349)+_0x237fa0+'/screenshot');if(!_0x2a0f5c['ok']){const _0x59c9ff=await _0x2a0f5c['text']()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20screenshot\x20failed:\x20'+_0x2a0f5c['status']+'\x20'+_0x59c9ff};}const _0x496581=await _0x2a0f5c['json']();return{'success':!![],'base64':_0x496581['value']};}catch(_0x4c8c76){return{'success':![],'error':_0x4c8c76 instanceof Error?_0x4c8c76[_0x19e8dd(0x2aa)]:_0x19e8dd(0x26a)};}}async[_0x58a562(0x50e)](){const _0x2d01f6=_0x58a562;try{const _0xef54d7=await this['ensureSession'](),_0x4b723c=await this[_0x2d01f6(0x427)]('/session/'+_0xef54d7+_0x2d01f6(0x2dc));if(!_0x4b723c['ok']){const _0x1e5273=await _0x4b723c[_0x2d01f6(0x48a)]()[_0x2d01f6(0x3e8)](()=>_0x2d01f6(0x548));return{'success':![],'error':'WDA\x20source\x20failed:\x20'+_0x4b723c['status']+'\x20'+_0x1e5273};}const _0x3cf969=await _0x4b723c['json']();return{'success':!![],'source':_0x3cf969[_0x2d01f6(0x267)]};}catch(_0x54088b){return{'success':![],'error':_0x54088b instanceof Error?_0x54088b[_0x2d01f6(0x2aa)]:_0x2d01f6(0x338)};}}async['waitFor'](_0x50919c,_0x5baec8={}){const _0x16f6fe=_0x58a562;if(_0x16f6fe(0x1cd)===_0x16f6fe(0x1cd)){const _0x2dac60=_0x5baec8['timeoutMs']??0x1388,_0x40c043=_0x5baec8['pollIntervalMs']??0x96,_0x4b93df=_0x5baec8['disappear']??![],_0x130360=Date[_0x16f6fe(0x1ec)]();while(Date['now']()-_0x130360<_0x2dac60){const _0x3af045=await this['findElement'](_0x50919c),_0x5e076a=_0x3af045['success']&&!!_0x3af045['element'];if(!_0x4b93df&&_0x5e076a){const _0x435b39=_0x3af045['element'][_0x16f6fe(0x32e)];return{'success':!![],'found':!![],'elapsedMs':Date['now']()-_0x130360,'element':_0x435b39?{'type':_0x3af045['element']['type']??'unknown','label':_0x3af045[_0x16f6fe(0x432)][_0x16f6fe(0x47c)]??_0x3af045['element'][_0x16f6fe(0x273)]??'','bounds':_0x435b39}:void 0x0};}if(_0x4b93df&&!_0x5e076a)return{'success':!![],'found':![],'elapsedMs':Date['now']()-_0x130360};await new Promise(_0x32eb36=>setTimeout(_0x32eb36,_0x40c043));}return{'success':![],'found':!_0x4b93df,'elapsedMs':Date[_0x16f6fe(0x1ec)]()-_0x130360,'error':_0x4b93df?_0x16f6fe(0x423)+_0x2dac60+_0x16f6fe(0x2e0)+JSON[_0x16f6fe(0x278)](_0x50919c):_0x16f6fe(0x552)+_0x2dac60+'ms:\x20'+JSON[_0x16f6fe(0x278)](_0x50919c)};}else{const _0x1e4b4f=_0x2cdcaa['getExpression']();if(_0x37f1f[_0x16f6fe(0x3de)](_0x1e4b4f)&&_0x1e4b4f['getText']()===_0x49f099)return!![];}}async[_0x58a562(0x40e)](_0x149568){const _0x181a89=_0x58a562,_0x2986cd=await this['findElement'](_0x149568);if(_0x2986cd['error'])return{'success':![],'visible':![],'error':_0x2986cd['error']};if(_0x2986cd['success']&&_0x2986cd['element']?.[_0x181a89(0x32e)])return{'success':!![],'visible':!![],'element':{'type':_0x2986cd['element']['type']??'unknown','label':_0x2986cd[_0x181a89(0x432)]['label']??_0x2986cd['element']['name']??'','bounds':_0x2986cd['element'][_0x181a89(0x32e)]}};return{'success':!![],'visible':![]};}async[_0x58a562(0x2e3)](_0x1a4f54){const _0x4463a9=_0x58a562,_0x6fe3ba=await this[_0x4463a9(0x18f)](_0x1a4f54);if(_0x6fe3ba[_0x4463a9(0x48f)])return{'success':![],'visible':![],'error':_0x6fe3ba[_0x4463a9(0x48f)]};const _0x342c8e=_0x6fe3ba[_0x4463a9(0x197)]&&!!_0x6fe3ba[_0x4463a9(0x432)];return{'success':!![],'visible':_0x342c8e};}async['fetchSourceTree'](_0x26d445){const _0xf47961=_0x58a562;try{if(_0xf47961(0x2cc)===_0xf47961(0x2cc)){const _0x4b4351=_0x26d445??await this[_0xf47961(0x17e)](),_0x337482=await this[_0xf47961(0x427)]('/session/'+_0x4b4351+_0xf47961(0x2dc));if(!_0x337482['ok']){if(!_0x26d445){this[_0xf47961(0x21b)]=null;const _0x7d800c=await this['ensureSession'](),_0x5569b8=await this['wdaFetch'](_0xf47961(0x349)+_0x7d800c+'/source?format=json');if(!_0x5569b8['ok'])return null;const _0x1d17e1=await _0x5569b8[_0xf47961(0x21a)]();return _0x1d17e1['value']??null;}return null;}const _0x501c46=await _0x337482[_0xf47961(0x21a)]();return _0x501c46['value']??null;}else try{_0x4dc4a2[_0xf47961(0x16f)](_0x425e91);}catch{}}catch{return null;}}['findElementFromTree'](_0x287d00,_0x24cb50){const _0x284ecc=_0x58a562;return this[_0x284ecc(0x440)](_0x287d00,_0x24cb50);}async['findAndTapReturningTree'](_0x152152){const _0x353e97=_0x58a562;try{if('DPJRk'==='DPJRk'){const _0x2f9fd=await this[_0x353e97(0x17e)](),_0x33f3e7=await this['fetchSourceTree'](_0x2f9fd);if(!_0x33f3e7)return{'result':{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree'},'tree':null};const _0x1fe57d=this['searchElements'](_0x33f3e7,_0x152152);if(_0x1fe57d[_0x353e97(0x358)]===0x0){const _0x334cd6=this[_0x353e97(0x4f5)](_0x33f3e7,0x32);return{'result':{'success':![],'matchCount':0x0,'availableElements':_0x334cd6,'error':_0x353e97(0x323)+JSON['stringify'](_0x152152)},'tree':_0x33f3e7};}const _0x56b3c3=_0x152152['index']??0x0;if(_0x56b3c3>=_0x1fe57d['length'])return{'result':{'success':![],'matchCount':_0x1fe57d['length'],'error':'Index\x20'+_0x56b3c3+_0x353e97(0x34a)+_0x1fe57d[_0x353e97(0x358)]+'\x20matching\x20element(s).','availableElements':_0x1fe57d[_0x353e97(0x471)](_0x139a3e=>({'type':_0x139a3e['type']??_0x353e97(0x548),'label':_0x139a3e[_0x353e97(0x47c)]??'','text':String(_0x139a3e[_0x353e97(0x267)]??_0x139a3e['label']??'')}))},'tree':_0x33f3e7};const _0x2ef7d9=_0x1fe57d[_0x56b3c3],_0x4c5525=_0x2ef7d9[_0x353e97(0x32e)];if(!_0x4c5525)return{'result':{'success':![],'matchCount':_0x1fe57d[_0x353e97(0x358)],'error':_0x353e97(0x2b7)},'tree':_0x33f3e7};const _0xa12173=_0x4c5525['x']+_0x4c5525['width']/0x2,_0x59ba44=_0x4c5525['y']+_0x4c5525['height']/0x2,_0x1327dd=await this[_0x353e97(0x4d6)](_0x2f9fd,_0xa12173,_0x59ba44);if(!_0x1327dd['ok'])return{'result':{'success':![],'matchCount':_0x1fe57d['length'],'error':_0x1327dd['error']??'WDA\x20tap\x20failed','element':{'type':_0x2ef7d9['type']??'unknown','label':_0x2ef7d9['label']??_0x2ef7d9['name']??'','bounds':_0x4c5525},'tappedAt':{'x':_0xa12173,'y':_0x59ba44}},'tree':_0x33f3e7};return{'result':{'success':!![],'matchCount':_0x1fe57d[_0x353e97(0x358)],'element':{'type':_0x2ef7d9['type']??_0x353e97(0x548),'label':_0x2ef7d9[_0x353e97(0x47c)]??_0x2ef7d9['name']??'','bounds':_0x4c5525},'tappedAt':{'x':_0xa12173,'y':_0x59ba44}},'tree':_0x33f3e7};}else _0x243a66['error']('Uninstall\x20failed:',_0x47c24a),_0x53a1b5['exit'](0x1);}catch(_0x20e0e2){return{'result':{'success':![],'error':_0x20e0e2 instanceof Error?_0x20e0e2['message']:'Unknown\x20error\x20during\x20findAndTapReturningTree'},'tree':null};}}async[_0x58a562(0x1a0)](_0x12bad3,_0x12d59c){const _0x1b5c8c=_0x58a562;try{const _0x2627cb=await this[_0x1b5c8c(0x427)]('/session/'+_0x12bad3+'/actions',{'method':_0x1b5c8c(0x3ba),'body':JSON[_0x1b5c8c(0x278)]({'actions':_0x12d59c})});return _0x2627cb['ok'];}catch{return![];}}[_0x58a562(0x193)](_0x377e64,_0x2c67be){const _0x2d2a2b=_0x58a562;return[{'type':'pointerMove','duration':0x0,'x':_0x377e64,'y':_0x2c67be},{'type':_0x2d2a2b(0x19d),'button':0x0},{'type':_0x2d2a2b(0x244),'duration':0x32},{'type':_0x2d2a2b(0x1fd),'button':0x0}];}async['tapAndVerify'](_0x42c75e,_0x1dedc1={}){const _0x33dbf4=_0x58a562;try{if('hHolX'!==_0x33dbf4(0x442)){const _0x50404c=_0x295764[_0x33dbf4(0x2c4)](/\.(tsx|jsx)$/i,''),_0x4083ab=_0x50404c['split'](/[\\/]/)['filter'](_0x2a6e8a=>_0x2a6e8a[_0x33dbf4(0x358)]>0x0);if(_0x4083ab['length']===0x0)return'camera';const _0x242221=_0x4083ab[_0x4083ab[_0x33dbf4(0x358)]-0x1],_0x36f049=_0x4083ab['length']>0x1?_0x4083ab[_0x4083ab[_0x33dbf4(0x358)]-0x2]:_0x242221,_0x3a5604=new _0x13dbce(['page','index','screen',_0x33dbf4(0x58f),'layout']),_0x237815=_0x3a5604[_0x33dbf4(0x3b6)](_0x242221['toLowerCase']())?_0x36f049:_0x242221,_0x68ea38=_0x237815['replace'](/([a-z0-9])([A-Z])/g,'$1-$2')['toLowerCase']()['replace'](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x68ea38['length']>0x0?_0x68ea38:'camera';}else{const _0x51e403=_0x1dedc1[_0x33dbf4(0x21b)]??await this['ensureSession'](),_0x3f69b8=await this['fetchSourceTree'](_0x51e403);if(!_0x3f69b8)return{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree','batched':![]};const _0x1137a0=this['searchElements'](_0x3f69b8,_0x42c75e);if(_0x1137a0[_0x33dbf4(0x358)]===0x0)return{'success':![],'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x42c75e),'batched':![]};const _0x2a3a24=_0x42c75e[_0x33dbf4(0x261)]??0x0,_0x5a3612=_0x1137a0[_0x2a3a24];if(!_0x5a3612||!_0x5a3612[_0x33dbf4(0x32e)])return{'success':![],'error':_0x2a3a24>=_0x1137a0['length']?'Index\x20'+_0x2a3a24+_0x33dbf4(0x34a)+_0x1137a0[_0x33dbf4(0x358)]+'\x20matching\x20element(s).':_0x33dbf4(0x2b7),'batched':![]};const _0xd42f14=_0x5a3612['rect'],_0x2f1296=_0xd42f14['x']+_0xd42f14[_0x33dbf4(0x1f9)]/0x2,_0x149965=_0xd42f14['y']+_0xd42f14['height']/0x2,_0xf6a298={'type':_0x5a3612['type']??'unknown','label':_0x5a3612['label']??_0x5a3612['name']??'','bounds':_0xd42f14},_0x48ca2c=await this[_0x33dbf4(0x1a0)](_0x51e403,[{'type':'pointer','id':'finger1','parameters':{'pointerType':'touch'},'actions':this[_0x33dbf4(0x193)](_0x2f1296,_0x149965)}]);let _0x557ac2=_0x48ca2c;if(!_0x48ca2c){const _0x152727=await this[_0x33dbf4(0x214)](_0x2f1296,_0x149965,![]);if(!_0x152727['success'])return{'success':![],'error':_0x152727['error']??_0x33dbf4(0x400),'element':_0xf6a298,'tappedAt':{'x':_0x2f1296,'y':_0x149965},'batched':![]};_0x557ac2=![];}let _0x1984e9,_0xff4fd4,_0x322150=!![];if(_0x1dedc1['verifySelector']){let _0x2ac862,_0x350279;if(_0x1dedc1['sessionId']){const _0x1377d4=Date[_0x33dbf4(0x1ec)]()+0xbb8;for(;;){if('QFlqn'==='QFlqn'){const _0x327080=await this[_0x33dbf4(0x299)](_0x1dedc1[_0x33dbf4(0x21b)]);if(_0x327080){const _0x4aab5e=this['searchElements'](_0x327080,_0x1dedc1['verifySelector']);if(_0x4aab5e[_0x33dbf4(0x358)]>0x0&&_0x4aab5e[0x0]){_0x2ac862=_0x4aab5e[0x0];break;}}if(Date[_0x33dbf4(0x1ec)]()>=_0x1377d4){_0x350279=_0x327080?_0x33dbf4(0x215)+JSON[_0x33dbf4(0x278)](_0x1dedc1['verifySelector']):'Failed\x20to\x20get\x20element\x20tree\x20on\x20the\x20pinned\x20session';break;}await new Promise(_0x2d01d1=>setTimeout(_0x2d01d1,0x1f4));}else return{'name':_0x5883c6,'ok':![],'severity':_0x2d575f,'message':_0x38b189 instanceof _0x6b0136?_0x9546c2['message']:_0x27ea6e(_0x37f5bc)};}_0x1984e9={'visible':!!_0x2ac862,'element':_0x2ac862&&_0x2ac862['rect']?{'type':_0x2ac862[_0x33dbf4(0x3ca)]??'unknown','label':_0x2ac862['label']??_0x2ac862[_0x33dbf4(0x273)]??'','bounds':_0x2ac862['rect']}:void 0x0},_0x322150=!!_0x2ac862,!_0x322150&&(_0xff4fd4=_0x33dbf4(0x2e2)+_0x350279);}else{const _0x391274=await this[_0x33dbf4(0x2ba)](_0x1dedc1['verifySelector'],{'timeoutMs':0xbb8});_0x1984e9={'visible':_0x391274[_0x33dbf4(0x50a)]&&_0x391274['success'],'element':_0x391274[_0x33dbf4(0x432)]},_0x322150=_0x391274[_0x33dbf4(0x197)]&&_0x391274[_0x33dbf4(0x50a)],!_0x322150&&(_0xff4fd4='tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20'+(_0x391274[_0x33dbf4(0x48f)]??_0x33dbf4(0x480)+JSON['stringify'](_0x1dedc1[_0x33dbf4(0x2ad)])+'\x20not\x20visible'));}}return{'success':_0x322150,'element':_0xf6a298,'tappedAt':{'x':_0x2f1296,'y':_0x149965},'verifyResult':_0x1984e9,'batched':_0x557ac2,..._0xff4fd4?{'error':_0xff4fd4}:{}};}}catch(_0x25cd8a){return{'success':![],'error':_0x25cd8a instanceof Error?_0x25cd8a['message']:'Unknown\x20error\x20during\x20tapAndVerify','batched':![]};}}async[_0x58a562(0x276)](_0x1e6879,_0x208964,_0x47b357={}){const _0xd4c74=_0x58a562;try{const _0x4266e7=await this[_0xd4c74(0x17e)](),_0xa7bce8=await this['fetchSourceTree'](_0x4266e7);if(!_0xa7bce8)return _0xd4c74(0x313)!=='KxciD'?_0x41741c['indexOf'](_0x584e7a):{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree','batched':![]};const _0x40dedf=this['searchElements'](_0xa7bce8,_0x1e6879);if(_0x40dedf['length']===0x0)return{'success':![],'matchCount':0x0,'error':_0xd4c74(0x1c2)+JSON[_0xd4c74(0x278)](_0x1e6879),'batched':![]};const _0x52e221=_0x1e6879['index']??0x0,_0x17406e=_0x40dedf[_0x52e221];if(!_0x17406e||!_0x17406e[_0xd4c74(0x32e)])return{'success':![],'matchCount':_0x40dedf[_0xd4c74(0x358)],'error':_0x52e221>=_0x40dedf[_0xd4c74(0x358)]?'Index\x20'+_0x52e221+_0xd4c74(0x34a)+_0x40dedf['length']+_0xd4c74(0x3d6):'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','batched':![]};const _0x3b1571=_0x17406e[_0xd4c74(0x32e)],_0x40635f=_0x3b1571['x']+_0x3b1571['width']/0x2,_0x13c56a=_0x3b1571['y']+_0x3b1571['height']/0x2,_0x56ac09={'type':_0x17406e[_0xd4c74(0x3ca)]??_0xd4c74(0x548),'label':_0x17406e['label']??_0x17406e[_0xd4c74(0x273)]??'','bounds':_0x3b1571};if(_0x47b357['clearFirst']){const _0x5e93c1=await this['clearText'](_0x1e6879);if(!_0x5e93c1[_0xd4c74(0x197)])return{'success':![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'error':_0x5e93c1[_0xd4c74(0x48f)]??_0xd4c74(0x4c2),'batched':![]};}const _0x23209d=Array[_0xd4c74(0x3d3)](_0x208964),_0xf3f78f=[],_0x4a17ba=0x4;for(let _0x1f92b7=0x0;_0x1f92b7<_0x4a17ba;_0x1f92b7++){_0xf3f78f[_0xd4c74(0x407)]({'type':'pause','duration':0x0});}_0xf3f78f['push']({'type':_0xd4c74(0x244),'duration':0x12c});for(const _0x8236f6 of _0x23209d){_0xf3f78f['push']({'type':'keyDown','value':_0x8236f6}),_0xf3f78f[_0xd4c74(0x407)]({'type':'keyUp','value':_0x8236f6});}const _0x24c355=await this[_0xd4c74(0x1a0)](_0x4266e7,[{'type':'pointer','id':'finger1','parameters':{'pointerType':_0xd4c74(0x406)},'actions':this['buildTapPointerActions'](_0x40635f,_0x13c56a)},{'type':'key','id':'keyboard','actions':_0xf3f78f}]);if(_0x24c355)return{'success':!![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'batched':!![]};const _0x2f60b3=await this['findAndTap'](_0x1e6879);if(!_0x2f60b3['success'])return{'success':![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'error':_0x2f60b3[_0xd4c74(0x48f)]??'Failed\x20to\x20focus\x20field\x20(serial\x20fallback)','batched':![]};const _0x422365=await this[_0xd4c74(0x3ca)](_0x208964);if(!_0x422365['success'])return{'success':![],'matchCount':_0x40dedf[_0xd4c74(0x358)],'element':_0x56ac09,'error':_0x422365['error']??_0xd4c74(0x434),'batched':![]};return{'success':!![],'matchCount':_0x40dedf['length'],'element':_0x56ac09,'batched':![]};}catch(_0x43aec1){return{'success':![],'error':_0x43aec1 instanceof Error?_0x43aec1[_0xd4c74(0x2aa)]:'Unknown\x20error\x20during\x20typeIntoField','batched':![]};}}async['tapChain'](_0x4af080){const _0x133b52=_0x58a562;if(_0x4af080['length']===0x0)return{'success':![],'results':[],'batched':![],'error':'tapChain\x20called\x20with\x20empty\x20queries\x20array'};try{const _0x58b06a=await this['ensureSession'](),_0x60b965=await this[_0x133b52(0x299)](_0x58b06a);if(!_0x60b965)return{'success':![],'results':[],'batched':![],'error':'Failed\x20to\x20get\x20element\x20tree'};const _0x2953c4=[];for(const _0x88e9 of _0x4af080){if('tmNIa'!=='WabRN'){const _0x5ced21=this[_0x133b52(0x440)](_0x60b965,_0x88e9);if(_0x5ced21[_0x133b52(0x358)]===0x0){if(_0x133b52(0x191)!=='faWQB')return{'success':![],'results':[..._0x2953c4[_0x133b52(0x471)](_0x2ce5a1=>({'query':_0x2ce5a1['query'],'element':_0x2ce5a1[_0x133b52(0x432)],'tappedAt':_0x2ce5a1[_0x133b52(0x218)]})),{'query':_0x88e9,'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x88e9)}],'batched':![],'error':_0x133b52(0x3b8)+_0x2953c4[_0x133b52(0x358)]};else throw new _0xa39036('Failed\x20to\x20get\x20window\x20size:\x20'+_0x1fde52[_0x133b52(0x17a)]);}const _0x12da3b=_0x88e9[_0x133b52(0x261)]??0x0,_0xb3ca01=_0x5ced21[_0x12da3b];if(!_0xb3ca01||!_0xb3ca01[_0x133b52(0x32e)])return{'success':![],'results':[..._0x2953c4[_0x133b52(0x471)](_0x1908ab=>({'query':_0x1908ab['query'],'element':_0x1908ab['element'],'tappedAt':_0x1908ab[_0x133b52(0x218)]})),{'query':_0x88e9,'error':_0x12da3b>=_0x5ced21[_0x133b52(0x358)]?'Index\x20'+_0x12da3b+_0x133b52(0x34a)+_0x5ced21[_0x133b52(0x358)]+_0x133b52(0x3d6):'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'}],'batched':![],'error':_0x133b52(0x1ef)+_0x2953c4['length']};_0x2953c4[_0x133b52(0x407)]({'query':_0x88e9,'element':{'type':_0xb3ca01[_0x133b52(0x3ca)]??'unknown','label':_0xb3ca01[_0x133b52(0x47c)]??_0xb3ca01['name']??'','bounds':_0xb3ca01[_0x133b52(0x32e)]},'center':{'x':_0xb3ca01[_0x133b52(0x32e)]['x']+_0xb3ca01['rect']['width']/0x2,'y':_0xb3ca01['rect']['y']+_0xb3ca01[_0x133b52(0x32e)][_0x133b52(0x221)]/0x2}});}else _0x3fc779(_0x12d8c9);}const _0x22773d=[];for(let _0x4bdcc1=0x0;_0x4bdcc1<_0x2953c4['length'];_0x4bdcc1++){if('CfZym'!==_0x133b52(0x510)){let _0x41d824;try{_0x41d824=new _0x262c14(_0x3ea85a);}catch{throw new _0x5b1120('Invalid\x20Ceraph\x20endpoint\x20URL:\x20\x22'+_0x21bffe+_0x133b52(0x4bb));}if(_0x41d824['protocol']===_0x133b52(0x1c1))return _0x1700fa;if(_0x41d824['protocol']===_0x133b52(0x2b9)){const _0x4658e5=_0x41d824[_0x133b52(0x352)]['toLowerCase']();if(_0x1e9a44['has'](_0x4658e5))return _0x195f24;throw new _0x407b22(_0x133b52(0x3ec)+_0x5781fc+'\x22.\x20Use\x20https://\x20for\x20remote\x20endpoints\x20(http://\x20is\x20only\x20allowed\x20for\x20localhost\x20/\x20127.0.0.1).');}throw new _0x2bf298('Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20to\x20a\x20\x22'+_0x41d824[_0x133b52(0x280)]+_0x133b52(0x295)+_0x39438f+'\x22.\x20Only\x20https://\x20(or\x20http://\x20for\x20localhost\x20/\x20127.0.0.1)\x20endpoints\x20are\x20allowed.');}else{const _0x2673d9=_0x2953c4[_0x4bdcc1];_0x22773d[_0x133b52(0x407)](...this['buildTapPointerActions'](_0x2673d9['center']['x'],_0x2673d9[_0x133b52(0x218)]['y'])),_0x4bdcc1<_0x2953c4[_0x133b52(0x358)]-0x1&&_0x22773d[_0x133b52(0x407)]({'type':_0x133b52(0x244),'duration':0x64});}}const _0x4d1c4d=await this['sendW3CActions'](_0x58b06a,[{'type':_0x133b52(0x353),'id':_0x133b52(0x418),'parameters':{'pointerType':'touch'},'actions':_0x22773d}]);if(_0x4d1c4d)return{'success':!![],'results':_0x2953c4[_0x133b52(0x471)](_0x25ec00=>({'query':_0x25ec00['query'],'element':_0x25ec00['element'],'tappedAt':_0x25ec00['center']})),'batched':!![]};const _0x269a9e=[];for(const _0x5e2d9d of _0x2953c4){const _0x293670=await this['tap'](_0x5e2d9d['center']['x'],_0x5e2d9d[_0x133b52(0x218)]['y'],![]);if(!_0x293670['success'])return _0x269a9e['push']({'query':_0x5e2d9d[_0x133b52(0x213)],'element':_0x5e2d9d[_0x133b52(0x432)],'tappedAt':_0x5e2d9d[_0x133b52(0x218)],'error':_0x293670['error']??'Serial\x20tap\x20failed'}),{'success':![],'results':_0x269a9e,'batched':![],'error':'Serial\x20fallback\x20tap\x20failed\x20at\x20index\x20'+(_0x269a9e[_0x133b52(0x358)]-0x1)};_0x269a9e['push']({'query':_0x5e2d9d[_0x133b52(0x213)],'element':_0x5e2d9d[_0x133b52(0x432)],'tappedAt':_0x5e2d9d[_0x133b52(0x218)]});}return{'success':!![],'results':_0x269a9e,'batched':![]};}catch(_0xbe2336){return{'success':![],'results':[],'batched':![],'error':_0xbe2336 instanceof Error?_0xbe2336['message']:'Unknown\x20error\x20during\x20tapChain'};}}async[_0x58a562(0x39d)](){const _0x1d6c22=_0x58a562;if(_0x1d6c22(0x40a)!==_0x1d6c22(0x40a))return{'success':![],'matchCount':_0x50d069[_0x1d6c22(0x358)]};else try{const _0x24b29f=await this[_0x1d6c22(0x17e)](),_0x3e6cc8=await this[_0x1d6c22(0x427)]('/session/'+_0x24b29f+'/orientation');if(!_0x3e6cc8['ok'])return null;const _0x2f1e9b=await _0x3e6cc8['json']();return _0x2f1e9b['value']??null;}catch{return null;}}async['setOrientation'](_0x2cf5d3){const _0x11a3a8=_0x58a562;try{const _0x524921=await this[_0x11a3a8(0x17e)](),_0x4ac74b=await this[_0x11a3a8(0x427)]('/session/'+_0x524921+_0x11a3a8(0x227),{'method':_0x11a3a8(0x3ba),'body':JSON['stringify']({'orientation':_0x2cf5d3['toUpperCase']()})});if(!_0x4ac74b['ok']){const _0x2e2af1=await _0x4ac74b['text']()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20setOrientation\x20failed:\x20'+_0x4ac74b[_0x11a3a8(0x17a)]+'\x20'+_0x2e2af1};}return{'success':!![]};}catch(_0x1771b7){return{'success':![],'error':_0x1771b7 instanceof Error?_0x1771b7['message']:'Unknown\x20error\x20during\x20setOrientation'};}}async['getActiveAppInfo'](){const _0x46911b=_0x58a562;try{const _0x8bad6f=await this[_0x46911b(0x17e)](),_0x1f115f=await this[_0x46911b(0x427)](_0x46911b(0x349)+_0x8bad6f+_0x46911b(0x4ae));if(!_0x1f115f['ok']){const _0x446f9e=await _0x1f115f[_0x46911b(0x48a)]()[_0x46911b(0x3e8)](()=>_0x46911b(0x548));return{'success':![],'error':'WDA\x20activeAppInfo\x20failed:\x20'+_0x1f115f['status']+'\x20'+_0x446f9e};}const _0x24e024=await _0x1f115f[_0x46911b(0x21a)]();return{'success':!![],'bundleId':_0x24e024['value']?.['bundleId'],'pid':_0x24e024['value']?.['pid'],'name':_0x24e024[_0x46911b(0x267)]?.[_0x46911b(0x273)]};}catch(_0x4623ab){return{'success':![],'error':_0x4623ab instanceof Error?_0x4623ab['message']:_0x46911b(0x37c)};}}async['activateApp'](_0x3face4){const _0x4f7bcc=_0x58a562;try{const _0x5ea8d8=await this[_0x4f7bcc(0x17e)](),_0x45da82=await this['wdaFetch']('/session/'+_0x5ea8d8+'/wda/apps/launch',{'method':'POST','body':JSON[_0x4f7bcc(0x278)]({'bundleId':_0x3face4})});if(!_0x45da82['ok']){const _0x19b24f=await _0x45da82['text']()[_0x4f7bcc(0x3e8)](()=>'unknown');return{'success':![],'error':_0x4f7bcc(0x391)+_0x45da82[_0x4f7bcc(0x17a)]+'\x20'+_0x19b24f};}return{'success':!![]};}catch(_0x21d917){return{'success':![],'error':_0x21d917 instanceof Error?_0x21d917[_0x4f7bcc(0x2aa)]:'Unknown\x20error\x20during\x20activateApp'};}}async[_0x58a562(0x2f9)](_0xbc3441){const _0x468578=_0x58a562;try{const _0x2c8e6e=await this[_0x468578(0x17e)](),_0x2cda1a=await this['wdaFetch'](_0x468578(0x349)+_0x2c8e6e+_0x468578(0x50f),{'method':'POST','body':JSON['stringify']({'url':_0xbc3441})});if(!_0x2cda1a['ok']){const _0x11089b=await _0x2cda1a[_0x468578(0x48a)]()[_0x468578(0x3e8)](()=>_0x468578(0x548)),_0xaa870=_0x11089b[_0x468578(0x3bb)](_0x468578(0x4a3))&&_0x11089b[_0x468578(0x3bb)](_0x468578(0x3b9));if(_0xaa870&&_0xbc3441['startsWith'](_0x468578(0x3d0))){if('NXPwF'===_0x468578(0x2cd))return{'success':![],'error':'The\x20`ceraph://`\x20URL\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20so\x20this\x20deep\x20link\x20couldn\x27t\x20be\x20delivered.\x20`init`\x20adds\x20the\x20scheme\x20to\x20app.json,\x20but\x20it\x20only\x20lands\x20in\x20the\x20native\x20Info.plist\x20after\x20a\x20rebuild\x20—\x20run\x20`npx\x20expo\x20prebuild`\x20then\x20rebuild/reinstall\x20the\x20dev\x20client\x20(or\x20your\x20EAS/Xcode\x20build),\x20and\x20retry.\x20Tools\x20affected:\x20rn_reset_state,\x20rn_reload,\x20and\x20camera/auth-bypass\x20deep\x20links.'};else{if(_0x40ca58['isMonorepo']&&!_0x37cd75[_0x468578(0x42d)])throw new _0x4557ec(_0x468578(0x314));return _0x1774d6;}}return{'success':![],'error':_0x468578(0x31d)+_0x2cda1a[_0x468578(0x17a)]+'\x20'+_0x11089b};}return{'success':!![]};}catch(_0x320952){return{'success':![],'error':_0x320952 instanceof Error?_0x320952[_0x468578(0x2aa)]:'Unknown\x20error\x20during\x20openUrl'};}}async['terminateAppViaWDA'](_0xb2b32c){const _0x3e8cab=_0x58a562;try{const _0x258f65=await this['ensureSession'](),_0x538373=await this['wdaFetch']('/session/'+_0x258f65+_0x3e8cab(0x4e8),{'method':'POST','body':JSON['stringify']({'bundleId':_0xb2b32c})});if(!_0x538373['ok']){const _0x6f8949=await _0x538373[_0x3e8cab(0x48a)]()['catch'](()=>_0x3e8cab(0x548));return{'success':![],'error':'WDA\x20apps/terminate\x20failed:\x20'+_0x538373[_0x3e8cab(0x17a)]+'\x20'+_0x6f8949};}return this['sessionId']=null,{'success':!![]};}catch(_0x561387){return{'success':![],'error':_0x561387 instanceof Error?_0x561387['message']:'Unknown\x20error\x20during\x20terminateAppViaWDA'};}}async['pingStatus'](){const _0x34684e=_0x58a562;try{const _0x240a87=await this[_0x34684e(0x427)]('/status',{},0x7d0);return _0x240a87['ok'];}catch{return'JCGks'===_0x34684e(0x3e0)?![]:(_0x5dece3['scheme']=_0x2c05da,{'action':'added','scheme':_0x5a2d97,'previousScheme':void 0x0,'nextScheme':[_0x2aac95]});}}['searchElements'](_0x217093,_0x2080d7){const _0x4c6bda=_0x58a562,_0x351ba5=[];this[_0x4c6bda(0x39a)](_0x217093,_0x2080d7)&&_0x351ba5['push'](_0x217093);const _0x5a8881=_0x217093[_0x4c6bda(0x264)];if(Array['isArray'](_0x5a8881))for(const _0x1dcb34 of _0x5a8881){_0x351ba5[_0x4c6bda(0x407)](...this['searchElements'](_0x1dcb34,_0x2080d7));}return _0x351ba5;}[_0x58a562(0x39a)](_0x2a2f82,_0x1503ec){const _0x322f64=_0x58a562;if('cxTMK'===_0x322f64(0x42c)){if(_0x1503ec[_0x322f64(0x48a)]!==void 0x0){const _0x57bb04=_0x1503ec['text'][_0x322f64(0x55a)](),_0x402628=[_0x2a2f82[_0x322f64(0x267)],_0x2a2f82['label'],_0x2a2f82[_0x322f64(0x273)]][_0x322f64(0x422)](Boolean)[_0x322f64(0x471)](_0x4b1882=>String(_0x4b1882)[_0x322f64(0x55a)]());if(!_0x402628['some'](_0x5f335d=>_0x5f335d[_0x322f64(0x3bb)](_0x57bb04)))return![];}if(_0x1503ec['accessibilityLabel']!==void 0x0){const _0x4279fc=String(_0x2a2f82['label']??_0x2a2f82['name']??'');if(!_0x4279fc['toLowerCase']()['includes'](_0x1503ec[_0x322f64(0x351)]['toLowerCase']()))return![];}if(_0x1503ec['type']!==void 0x0){const _0x558f3e=String(_0x2a2f82['type']??'');if(!_0x558f3e['toLowerCase']()[_0x322f64(0x3bb)](_0x1503ec['type']['toLowerCase']()))return![];}return _0x1503ec['text']!==void 0x0||_0x1503ec['accessibilityLabel']!==void 0x0||_0x1503ec['type']!==void 0x0||_0x1503ec[_0x322f64(0x261)]!==void 0x0;}else _0x35f0b7(_0x231e63(_0x322f64(0x1b1)));}['collectVisibleElements'](_0x5631a6,_0x5dfa58){const _0x110bd1=_0x58a562,_0x471287=[];if(_0x5dfa58<=0x0)return _0x471287;const _0x3df06b=String(_0x5631a6[_0x110bd1(0x47c)]??_0x5631a6['name']??''),_0x1a1558=String(_0x5631a6[_0x110bd1(0x267)]??''),_0xaaded2=String(_0x5631a6['type']??'');(_0x3df06b||_0x1a1558)&&_0x471287['push']({'type':_0xaaded2,'label':_0x3df06b,'text':_0x1a1558});const _0x5cb34b=_0x5631a6[_0x110bd1(0x264)];if(Array[_0x110bd1(0x310)](_0x5cb34b))for(const _0x7da933 of _0x5cb34b){if('aiGqe'==='jwSci')return{'success':!![],'apps':this['installedAppsCache'][_0x110bd1(0x44e)]};else{const _0x393335=_0x5dfa58-_0x471287[_0x110bd1(0x358)];if(_0x393335<=0x0)break;_0x471287[_0x110bd1(0x407)](...this[_0x110bd1(0x4f5)](_0x7da933,_0x393335));}}return _0x471287;}[_0x58a562(0x39e)](){const _0x1063c3=_0x58a562;this['sessionId']=null,this['pixelRatio']=null,this[_0x1063c3(0x58e)]=null;}};}}),_0x5e9958,_0x57366c=_0x1b53f6({'src/device-autonomy.ts'(){'use strict';const _0x45d3c6=_0xa6e1;_0x5e9958=class{constructor(_0x19b14e){const _0x45c746=_0xa6e1;this[_0x45c746(0x2bf)]=_0x19b14e;}async[_0x45d3c6(0x33c)](){const _0x37f778=_0x45d3c6,_0x3d8891=await this[_0x37f778(0x2bf)][_0x37f778(0x1d3)]();if(!_0x3d8891){const _0x581496=await this[_0x37f778(0x2bf)][_0x37f778(0x363)]()['catch'](()=>'http://localhost:8100'),_0x3d4a2c=_0x581496['replace'](/^https?:\/\//,'');return{'awake':![],'lockState':'unknown','remediation':'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x3d4a2c+'.\x20Open\x20Xcode,\x20run\x20the\x20WebDriverAgentRunner\x20target\x20on\x20your\x20connected\x20iPhone\x20once,\x20then\x20try\x20again\x20on\x20real\x20devices.\x20Simulator\x20support\x20is\x20available\x20via\x20rn_wda_start.'};}const _0x135153=await this[_0x37f778(0x343)]();if(_0x135153===_0x37f778(0x1e8))return{'awake':!![],'lockState':_0x37f778(0x1e8)};if(_0x135153===_0x37f778(0x39f)||_0x135153===_0x37f778(0x49a)){if('sUIQW'==='sUIQW'){const _0x4d9915=await this[_0x37f778(0x2bf)][_0x37f778(0x163)]();if(_0x4d9915[_0x37f778(0x197)]){if('OEqVp'===_0x37f778(0x3c2)){const _0x3b1d30=_0x554dac(_0x56f7bb);return _0x4b162a+_0x37f778(0x557)+_0x3b1d30+'\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20})';}else{const _0x185ee1=await this[_0x37f778(0x343)]();if(_0x185ee1===_0x37f778(0x1e8))return{'awake':!![],'lockState':_0x37f778(0x1e8)};}}await this['screen'][_0x37f778(0x2c7)](_0x37f778(0x45d))[_0x37f778(0x3e8)](()=>void 0x0);const _0x2cfdcb=await this[_0x37f778(0x343)]();if(_0x2cfdcb===_0x37f778(0x1e8))return{'awake':!![],'lockState':_0x37f778(0x1e8)};return{'awake':![],'lockState':_0x2cfdcb,'remediation':_0x37f778(0x378)};}else return _0x3fc1e3();}return{'awake':![],'lockState':_0x135153,'remediation':_0x37f778(0x485)};}['keepAliveHeartbeat'](_0x5a5be4={}){const _0xe881cb=_0x45d3c6,_0x447bc6=_0x5a5be4[_0xe881cb(0x457)]??0x5dc,_0x48945c=setInterval(()=>{const _0x2e1000=_0xe881cb;this['screen'][_0x2e1000(0x2d8)]()[_0x2e1000(0x3e8)](()=>void 0x0);},_0x447bc6);if(typeof _0x48945c['unref']===_0xe881cb(0x4aa))_0x48945c[_0xe881cb(0x302)]();let _0x38ceb4=![];return{'intervalMs':_0x447bc6,'stop':()=>{if(_0x38ceb4)return;_0x38ceb4=!![],clearInterval(_0x48945c);}};}async['getLockState'](){const _0x1e13b2=_0x45d3c6,_0x4ecc4e=await this[_0x1e13b2(0x2bf)][_0x1e13b2(0x3c4)]();if(_0x4ecc4e===!![])return'locked';if(_0x4ecc4e===![]){const _0x273835=await this['hasCoverSheet']();return _0x273835?_0x1e13b2(0x39f):_0x1e13b2(0x1e8);}const _0x411027=await this['hasCoverSheet']();if(_0x411027===null)return _0x1e13b2(0x548);return _0x411027?_0x1e13b2(0x39f):'unlocked';}async[_0x45d3c6(0x55e)](){const _0x1486a7=_0x45d3c6,_0x187e9e=await this['screen'][_0x1486a7(0x50e)]();if(!_0x187e9e[_0x1486a7(0x197)]||!_0x187e9e[_0x1486a7(0x385)])return null;const _0x142bd1=['sbcoversheet',_0x1486a7(0x1f2),'lockscreen'];let _0x254b45=![];const _0x275051=_0x53d302=>{const _0x363373=_0x1486a7;if(_0x254b45)return;const _0x3bee63=[_0x53d302[_0x363373(0x273)],_0x53d302[_0x363373(0x47c)],_0x53d302['type']][_0x363373(0x422)](Boolean)[_0x363373(0x3c0)]('\x20')['toLowerCase']();if(_0x142bd1['some'](_0x1da77d=>_0x3bee63['includes'](_0x1da77d))){if(_0x363373(0x29a)!==_0x363373(0x29a)){const _0x2cbc3a=_0x3dd25f[_0x363373(0x48a)]['toLowerCase'](),_0x17421d=[_0x4da17a['value'],_0x3de359['label'],_0x4be567['name']]['filter'](_0x5c79de)['map'](_0x5bb544=>_0x25ccf6(_0x5bb544)[_0x363373(0x55a)]());if(!_0x17421d[_0x363373(0x179)](_0x5064e6=>_0x5064e6['includes'](_0x2cbc3a)))return![];}else{_0x254b45=!![];return;}}const _0x14c3cc=_0x53d302['children'];if(Array[_0x363373(0x310)](_0x14c3cc)){for(const _0x3919f2 of _0x14c3cc)_0x275051(_0x3919f2);}};return _0x275051(_0x187e9e[_0x1486a7(0x385)]),_0x254b45;}async[_0x45d3c6(0x1d6)](_0x5e554b){return this['screen']['setOrientation'](_0x5e554b);}[_0x45d3c6(0x2bd)](){return{'success':![],'message':'iOS\x20does\x20not\x20expose\x20an\x20API\x20for\x20disabling\x20Auto-Lock.\x20Open\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20on\x20the\x20device\x20before\x20running\x20long\x20flows.\x20The\x20flow\x20runner\x20keeps\x20WDA\x27s\x20session\x20warm\x20with\x20a\x20heartbeat,\x20but\x20it\x20cannot\x20prevent\x20Auto-Lock\x20by\x20itself.'};}};}});import{spawn as _0x544388}from'child_process';import{mkdir as _0x3bf22a,rm,stat as _0x22b983}from'fs/promises';import{dirname as _0x4c011b,join as _0x1d892d}from'path';function _0x2de1c3(){return _0x32089b;}var _0x32089b,_0x2f2b88,_0xb8aac8=_0x1b53f6({'src/video-recorder.ts'(){'use strict';const _0x52563e=_0xa6e1;_0x32089b='unverified',_0x2f2b88=_0x52563e(0x294);}});import{spawn as _0x547c2f}from'child_process';import{createRequire}from'module';import{createServer as _0x111c5b}from'net';import{dirname as _0x33ee2b,join as _0x3b2537}from'path';function _0x49eef0(_0x1465f8){const _0x2a409d=_0xa6e1,_0x25066e=_0x16b4e9=>{const _0x2b1308=_0xa6e1;try{const _0x4c841e=createRequire(_0x16b4e9),_0x26f1a1=_0x4c841e['resolve']('appium-webdriveragent/package.json'),_0x7baa34=_0x33ee2b(_0x26f1a1);return _0x3b2537(_0x7baa34,_0x2b1308(0x534));}catch{return null;}};if(_0x1465f8){if('Ilhwz'==='Ilhwz'){const _0x11a7a4=_0x25066e(new URL('package.json','file://'+(_0x1465f8['endsWith']('/')?_0x1465f8:_0x1465f8+'/')));if(_0x11a7a4)return _0x11a7a4;}else{const _0x43173e=_0xe5a4cc[_0x2a409d(0x477)]['getFirstAncestorByKind'](_0x5896f7[_0x2a409d(0x32d)]);_0x43173e&&(_0x43173e['remove'](),_0x7863fc=!![]);}}return _0x25066e(import.meta.url);}var _0x46e68b=_0x1b53f6({'src/wda-simulator.ts'(){'use strict';_0x1ed23b();}});import{spawn as _0x291574}from'child_process';import{access as _0x1d3d40}from'fs/promises';import{join as _0x439ec7}from'path';function _0x39040e(_0x7f60b){const _0x57cbca=_0xa6e1;switch(_0x7f60b){case _0x57cbca(0x1f0):return{'bin':_0x57cbca(0x1f0),'args':[_0x57cbca(0x48e),'-D',_0x35f281]};case'pnpm':return{'bin':_0x57cbca(0x55f),'args':[_0x57cbca(0x3f7),'-D',_0x35f281]};case _0x57cbca(0x24e):return{'bin':'yarn','args':[_0x57cbca(0x3f7),'-D',_0x35f281]};case _0x57cbca(0x42b):return{'bin':'bun','args':['add','-D',_0x35f281]};}}function _0x2a8e3d(_0x490809){return _0x49eef0(_0x490809)!==null;}async function _0xc64dca(_0x46d84a){try{return await _0x1d3d40(_0x46d84a),!![];}catch{return![];}}async function _0xeefcef(_0x3bb034){for(const {file:_0x46efe9,pm:_0x43dff1}of _0x2c0b23){if(await _0xc64dca(_0x439ec7(_0x3bb034,_0x46efe9)))return _0x43dff1;}return'npm';}function _0x2bdd07(_0x362b08,_0x22a1c9){const {bin:_0x41ac76,args:_0xb7543}=_0x39040e(_0x362b08),_0x41abe1=0x5*0xea60;return new Promise(_0x3c7232=>{const _0x30d670=_0xa6e1;let _0x32ce0a;try{_0x32ce0a=_0x291574(_0x41ac76,_0xb7543,{'cwd':_0x22a1c9,'stdio':[_0x30d670(0x3e2),0x2,0x2]});}catch(_0x235abf){_0x3c7232({'ok':![],'error':'Failed\x20to\x20spawn\x20'+_0x41ac76+':\x20'+(_0x235abf instanceof Error?_0x235abf[_0x30d670(0x2aa)]:String(_0x235abf))});return;}let _0x4f448b=![];const _0x1c81fd=_0x1ba26d=>{if(_0x4f448b)return;_0x4f448b=!![],clearTimeout(_0x164d33),_0x3c7232(_0x1ba26d);},_0x164d33=setTimeout(()=>{const _0x152d11=_0x30d670;try{_0x32ce0a[_0x152d11(0x2ea)]('SIGKILL');}catch{}_0x1c81fd({'ok':![],'error':'`'+_0x41ac76+'\x20'+_0xb7543[_0x152d11(0x3c0)]('\x20')+'`\x20timed\x20out\x20after\x20'+_0x41abe1/0xea60+'min.'});},_0x41abe1);_0x32ce0a['on'](_0x30d670(0x48f),_0x2d857c=>_0x1c81fd({'ok':![],'error':'`'+_0x41ac76+'\x20'+_0xb7543[_0x30d670(0x3c0)]('\x20')+'`\x20failed\x20to\x20run:\x20'+_0x2d857c[_0x30d670(0x2aa)]})),_0x32ce0a['on']('exit',_0x116d00=>{_0x116d00===0x0?_0x1c81fd({'ok':!![]}):_0x1c81fd({'ok':![],'error':'`'+_0x41ac76+'\x20'+_0xb7543['join']('\x20')+'`\x20exited\x20with\x20code\x20'+(_0x116d00??0x1)+'.'});});});}async function _0x42b022(_0x2d2681,_0x193668={}){const _0x23985=_0xa6e1,_0x3e41db=_0x193668['isInstalled']??_0x2a8e3d,_0x50fbba=_0x193668['detectPackageManager']??_0xeefcef,_0x5cd86b=_0x193668['runInstall']??_0x2bdd07,_0x15bd64=_0x193668['log'];try{if(_0x3e41db(_0x2d2681))return'aQpER'==='ZFfpy'?{'success':![],'visible':![],'error':_0x2250f1['error']}:{'status':'present'};_0x15bd64?.(_0x23985(0x564));const _0x1d35f3=await _0x50fbba(_0x2d2681),_0x2a028f=await _0x5cd86b(_0x1d35f3,_0x2d2681);if(_0x3e41db(_0x2d2681))return{'status':'installed'};return{'status':'install-failed','error':_0x2a028f[_0x23985(0x48f)]??'appium-webdriveragent\x20still\x20isn\x27t\x20resolvable\x20after\x20`'+_0x39040e(_0x1d35f3)[_0x23985(0x4dc)]+'\x20'+_0x39040e(_0x1d35f3)['args'][_0x23985(0x3c0)]('\x20')+'`.'};}catch(_0x1a0dd3){return{'status':_0x23985(0x4fd),'error':_0x1a0dd3 instanceof Error?_0x1a0dd3['message']:String(_0x1a0dd3)};}}var _0x35f281,_0x2c0b23,_0x37bc84=_0x1b53f6({'src/ensure-appium.ts'(){'use strict';const _0x8f5394=_0xa6e1;_0x46e68b(),_0x35f281='appium-webdriveragent',_0x2c0b23=[{'file':_0x8f5394(0x3e4),'pm':'pnpm'},{'file':'yarn.lock','pm':'yarn'},{'file':'bun.lockb','pm':_0x8f5394(0x42b)},{'file':'bun.lock','pm':'bun'},{'file':'package-lock.json','pm':_0x8f5394(0x1f0)}];}});import{spawn as _0x5b16d1}from'child_process';import{readdir as _0x49bd3f,readFile as _0x35b2cd}from'fs/promises';import{join as _0x43e453,relative as _0x4cf812,sep as _0x5ea5e9}from'path';function _0x44c2f8(_0x3995a1,_0x23c9b4,_0x1e00b8=0xfa0){return new Promise(_0x88e284=>{const _0x284d86=_0xa6e1;let _0x541ccb='',_0x502282='',_0x1ad236;try{_0x1ad236=_0x5b16d1(_0x3995a1,_0x23c9b4,{'stdio':['ignore',_0x284d86(0x1e3),'pipe']});}catch(_0x587ad8){_0x88e284({'code':0x7f,'stdout':'','stderr':_0x587ad8 instanceof Error?_0x587ad8['message']:String(_0x587ad8)});return;}const _0x195ba7=setTimeout(()=>{const _0x425bd5=_0x284d86;try{_0x1ad236['kill'](_0x425bd5(0x464));}catch{}},_0x1e00b8);_0x1ad236[_0x284d86(0x376)]?.['on']('data',_0x14c854=>{_0x541ccb+=_0x14c854['toString']();}),_0x1ad236['stderr']?.['on']('data',_0x54c79d=>{const _0xd67f12=_0x284d86;_0x502282+=_0x54c79d[_0xd67f12(0x360)]();});let _0x3320d7=![];_0x1ad236['on']('error',_0x3dd444=>{if(_0x3320d7)return;_0x3320d7=!![],clearTimeout(_0x195ba7),_0x88e284({'code':0x7f,'stdout':_0x541ccb,'stderr':_0x502282+(_0x3dd444['message']??String(_0x3dd444))});}),_0x1ad236['on'](_0x284d86(0x542),_0x256c1a=>{if(_0x3320d7)return;_0x3320d7=!![],clearTimeout(_0x195ba7),_0x88e284({'code':_0x256c1a??0x1,'stdout':_0x541ccb,'stderr':_0x502282});});});}async function _0x3b9a3e(_0x488f2d,_0x18d1b2,_0x33f2cb){try{const _0x3fb61d=await _0x33f2cb();return{'name':_0x488f2d,..._0x3fb61d};}catch(_0x4bf5bc){return{'name':_0x488f2d,'ok':![],'severity':_0x18d1b2,'message':_0x4bf5bc instanceof Error?_0x4bf5bc['message']:String(_0x4bf5bc)};}}async function _0x427370(_0x5fba31,_0x3dbb3b){const _0x764ade=_0xa6e1,_0x594e04=Date[_0x764ade(0x1ec)]()+_0x3dbb3b[_0x764ade(0x4f4)];try{if(await _0x5fba31())return!![];}catch{}while(Date['now']()<_0x594e04){await new Promise(_0x496e8b=>setTimeout(_0x496e8b,_0x3dbb3b['intervalMs']));try{if(await _0x5fba31())return!![];}catch{}}return![];}async function _0x363ee3(){const _0x53d232=_0xa6e1,_0x231bc9=await _0x44c2f8(_0x53d232(0x4a2),['-getairportnetwork',_0x53d232(0x203)]);if(_0x231bc9['code']!==0x0)return null;const _0x102f4c=_0x231bc9['stdout'][_0x53d232(0x382)](/Current Wi-Fi Network:\s*(.+)$/m);if(!_0x102f4c)return null;const _0x2acae5=_0x102f4c[0x1]['trim']();if(!_0x2acae5||_0x2acae5[_0x53d232(0x55a)]()['includes'](_0x53d232(0x345)))return null;return _0x2acae5;}async function _0x38d98d(){const _0x2fba8e=_0xa6e1,_0x3da0b6=await _0x44c2f8('ipconfig',[_0x2fba8e(0x274),'en0']);if(_0x3da0b6['code']!==0x0)return null;const _0x35fe0d=_0x3da0b6['stdout'][_0x2fba8e(0x531)]();return _0x35fe0d['length']>0x0?_0x35fe0d:null;}async function _0x5cc73c(_0x3ea682){const _0x3ba0e4=[];async function _0x5ea6a7(_0x442a32){const _0x2bc777=_0xa6e1;let _0x3b314f;try{_0x3b314f=await _0x49bd3f(_0x442a32,{'withFileTypes':!![]});}catch{return;}for(const _0x23a89c of _0x3b314f){const _0x45f7af=_0x43e453(_0x442a32,_0x23a89c['name']);if(_0x23a89c['isDirectory']()){if(_0x471dd0[_0x2bc777(0x3b6)](_0x23a89c['name']))continue;await _0x5ea6a7(_0x45f7af);continue;}if(!_0x23a89c['isFile']())continue;const _0x3d4800=_0x23a89c['name'][_0x2bc777(0x2b4)]('.');if(_0x3d4800<0x0)continue;const _0x5a9374=_0x23a89c['name']['slice'](_0x3d4800)['toLowerCase']();if(!_0x18f7c3[_0x2bc777(0x3b6)](_0x5a9374))continue;let _0x20fff0;try{_0x20fff0=await _0x35b2cd(_0x45f7af,'utf-8');}catch{continue;}const _0x39ce1c=_0x4cf812(_0x3ea682,_0x45f7af)['split'](_0x5ea5e9)['join']('/');_0x3ba0e4[_0x2bc777(0x407)]({'absPath':_0x45f7af,'relPath':_0x39ce1c,'contents':_0x20fff0});}}for(const _0x3c015a of _0x2e7e77){await _0x5ea6a7(_0x43e453(_0x3ea682,_0x3c015a));}return _0x3ba0e4;}function _0x24704c(_0x269acd,_0x31a83b){const _0x5ea937=_0xa6e1,_0x3814c6=[],_0x59a299=_0x269acd['contents'],_0x1c2b1d=_0x31a83b['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&'),_0x527e61=new RegExp('<'+_0x1c2b1d+'(?=[\x5cs/>])','g');let _0x115c52;while((_0x115c52=_0x527e61[_0x5ea937(0x342)](_0x59a299))!==null){const _0x3f1545=_0x115c52[_0x5ea937(0x261)],_0xe57aa3=_0x3f659a(_0x59a299,_0x3f1545+_0x115c52[0x0][_0x5ea937(0x358)]);if(_0xe57aa3===-0x1)continue;const _0x4dcb05=_0x59a299['slice'](_0x3f1545,_0xe57aa3+0x1),_0x2d5590=_0x59a299['slice'](0x0,_0x3f1545),_0x5057f7=(_0x2d5590[_0x5ea937(0x382)](/\n/g)?.['length']??0x0)+0x1;_0x3814c6[_0x5ea937(0x407)]({'file':_0x269acd,'line':_0x5057f7,'openingTag':_0x4dcb05});}return _0x3814c6;}function _0x3f659a(_0x5d853f,_0x7f1358){const _0x502d58=_0xa6e1;let _0x2b3455=0x0,_0x355592=![],_0x364071=![],_0x1971eb=![];for(let _0x52c219=_0x7f1358;_0x52c219<_0x5d853f['length'];_0x52c219++){const _0x5e7440=_0x5d853f[_0x52c219];if(_0x355592){if(_0x5e7440==='\x22'&&!_0x256bdf(_0x5d853f,_0x52c219))_0x355592=![];continue;}if(_0x364071){if(_0x5e7440==='\x27'&&!_0x256bdf(_0x5d853f,_0x52c219))_0x364071=![];continue;}if(_0x1971eb){if(_0x5e7440==='`'&&!_0x256bdf(_0x5d853f,_0x52c219))_0x1971eb=![];continue;}if(_0x5e7440==='\x22'){_0x355592=!![];continue;}if(_0x5e7440==='\x27'){if('NNQDU'!=='WGVTI'){_0x364071=!![];continue;}else return _0x5826d7[_0x502d58(0x4cd)]({'moduleSpecifier':_0x493af0,'namedImports':[_0x5337e7]}),!![];}if(_0x5e7440==='`'){_0x1971eb=!![];continue;}if(_0x5e7440==='{'){_0x2b3455++;continue;}if(_0x5e7440==='}'){_0x2b3455=Math['max'](0x0,_0x2b3455-0x1);continue;}if(_0x2b3455===0x0&&_0x5e7440==='>')return _0x52c219;}return-0x1;}function _0x256bdf(_0x2ec1c0,_0x49fcf5){let _0x2ef033=0x0,_0x2a6b7d=_0x49fcf5-0x1;while(_0x2a6b7d>=0x0&&_0x2ec1c0[_0x2a6b7d]==='\x5c'){_0x2ef033++,_0x2a6b7d--;}return _0x2ef033%0x2===0x1;}function _0x27ef10(_0x4c7e76){const _0x3a7930=_0xa6e1,_0x5277fd=_0x4c7e76['replace'](/\.(tsx|jsx)$/i,''),_0x262fac=_0x5277fd[_0x3a7930(0x41d)](/[\\/]/)['filter'](_0x1fefc2=>_0x1fefc2['length']>0x0);if(_0x262fac['length']===0x0)return _0x3a7930(0x365);const _0x28186c=_0x262fac[_0x262fac[_0x3a7930(0x358)]-0x1],_0x595572=_0x262fac['length']>0x1?_0x262fac[_0x262fac[_0x3a7930(0x358)]-0x2]:_0x28186c,_0x112678=new Set([_0x3a7930(0x45e),'index',_0x3a7930(0x2bf),'route','layout']),_0x479696=_0x112678[_0x3a7930(0x3b6)](_0x28186c[_0x3a7930(0x55a)]())?_0x595572:_0x28186c,_0x7995c3=_0x479696[_0x3a7930(0x2c4)](/([a-z0-9])([A-Z])/g,'$1-$2')['toLowerCase']()['replace'](/[^a-z0-9]+/g,'-')[_0x3a7930(0x2c4)](/^-+|-+$/g,'');return _0x7995c3[_0x3a7930(0x358)]>0x0?_0x7995c3:_0x3a7930(0x365);}function _0x31dcbe(_0x220681){const _0x49713f=_0xa6e1,_0x4a5b8a=/import\s*\{([^}]*)\}\s*from\s*["']expo-camera["']/g;let _0x24a484;while((_0x24a484=_0x4a5b8a['exec'](_0x220681))!==null){const _0x18c86f=_0x24a484[0x1]['split'](',')['map'](_0x244bdd=>_0x244bdd['trim']()[_0x49713f(0x41d)](/\s+as\s+/)[0x0][_0x49713f(0x531)]());if(_0x18c86f[_0x49713f(0x3bb)](_0x49713f(0x3c6)))return!![];}return![];}function _0x4df342(_0x5ded39){const _0xd29b7b=_0xa6e1,_0x832ee='imageKey';let _0x7556ed=0x0,_0x1cc47c=![],_0x26db66=![],_0x490664=![];for(let _0x3db1fc=0x0;_0x3db1fc<_0x5ded39['length'];_0x3db1fc++){const _0x1e623e=_0x5ded39[_0x3db1fc];if(_0x1cc47c){if(_0x1e623e==='\x22'&&!_0x256bdf(_0x5ded39,_0x3db1fc))_0x1cc47c=![];continue;}if(_0x26db66){if(_0x1e623e==='\x27'&&!_0x256bdf(_0x5ded39,_0x3db1fc))_0x26db66=![];continue;}if(_0x490664){if(_0x1e623e==='`'&&!_0x256bdf(_0x5ded39,_0x3db1fc))_0x490664=![];continue;}if(_0x1e623e==='\x22'){_0x1cc47c=!![];continue;}if(_0x1e623e==='\x27'){_0x26db66=!![];continue;}if(_0x1e623e==='`'){_0x490664=!![];continue;}if(_0x1e623e==='{'){_0x7556ed++;continue;}if(_0x1e623e==='}'){if(_0xd29b7b(0x1aa)==='DSBdc')return{'name':'mcp-clients','status':'error','details':{'error':_0x4d9324(_0xf56eb7),'dryRun':!![]}};else{_0x7556ed=Math[_0xd29b7b(0x241)](0x0,_0x7556ed-0x1);continue;}}if(_0x7556ed!==0x0)continue;if(_0x1e623e!=='i')continue;if(_0x5ded39[_0xd29b7b(0x201)](_0x3db1fc,_0x3db1fc+_0x832ee['length'])!==_0x832ee)continue;const _0x59ee3d=_0x3db1fc===0x0?'\x20':_0x5ded39[_0x3db1fc-0x1];if(/[A-Za-z0-9_$]/[_0xd29b7b(0x3a0)](_0x59ee3d))continue;const _0x31ef3e=_0x5ded39[_0x3db1fc+_0x832ee[_0xd29b7b(0x358)]]??'';if(_0x31ef3e!=='='&&!/\s/[_0xd29b7b(0x3a0)](_0x31ef3e))continue;let _0x365a59=_0x3db1fc+_0x832ee[_0xd29b7b(0x358)];while(_0x365a59<_0x5ded39[_0xd29b7b(0x358)]&&/\s/['test'](_0x5ded39[_0x365a59]))_0x365a59++;if(_0x5ded39[_0x365a59]!=='='){_0x3db1fc=_0x365a59-0x1;continue;}_0x365a59++;while(_0x365a59<_0x5ded39['length']&&/\s/[_0xd29b7b(0x3a0)](_0x5ded39[_0x365a59]))_0x365a59++;const _0x1869b2=_0x5ded39[_0x365a59];if(_0x1869b2==='\x22'||_0x1869b2==='\x27'){let _0x45b333=_0x365a59+0x1;while(_0x45b333<_0x5ded39[_0xd29b7b(0x358)]&&!(_0x5ded39[_0x45b333]===_0x1869b2&&!_0x256bdf(_0x5ded39,_0x45b333))){if(_0xd29b7b(0x4e9)!==_0xd29b7b(0x4e9))return{'kind':_0xd29b7b(0x248),'path':_0x11eb05,'reason':_0xd29b7b(0x2e9)};else _0x45b333++;}const _0x2a6082=_0x5ded39[_0xd29b7b(0x554)](_0x365a59+0x1,_0x45b333);if(_0x2a6082['trim']()[_0xd29b7b(0x358)]===0x0)return{'present':![]};return{'present':!![],'value':_0x2a6082};}if(_0x1869b2==='{')return{'present':!![],'value':null};return{'present':![]};}return{'present':![]};}async function _0xb3ba0e(_0x460892){const _0x2a459e=_0xa6e1,{screen:_0x4d9ee0,apps:_0x4b461c,autonomy:_0x4378a2,bundleId:_0x46068b,requiredEnv:_0x1c0e76,expectedNetwork:_0x4fd9f9,projectDir:projectDir=process['cwd'](),target:_0x3f51b0,excludeRuntimeChecks:excludeRuntimeChecks=![],screenRecordingStatus:screenRecordingStatus=_0x2de1c3,ensureAppium:ensureAppium=_0x42b022}=_0x460892,_0x4c5e75=!excludeRuntimeChecks&&_0x3f51b0?await _0x3f51b0[_0x2a459e(0x3f8)]()[_0x2a459e(0x3e8)](()=>null):null,_0x2c2232=_0x4c5e75?.[_0x2a459e(0x3ed)]==='simulator',_0x5e3a72=_0xd5f358(projectDir),_0x25350c=_0x5e3a72[_0x2a459e(0x298)](_0x518cd8=>{const _0x4bfcef=_0x2a459e;if(_0x518cd8[_0x4bfcef(0x1c7)]==='missing-dir')return{'name':'camera-registry-synced','ok':!![],'severity':_0x4bfcef(0x180),'message':'Skipped\x20—\x20no\x20.ceraph/camera-images/\x20directory.\x20Drop\x20test\x20images\x20there\x20to\x20enable\x20the\x20camera\x20shim.'};return{'name':'camera-registry-synced','ok':!![],'severity':'info','message':'Camera\x20image\x20registry\x20'+_0x518cd8['writtenOrUnchanged']+'\x20('+_0x518cd8['registered']['length']+'\x20image'+(_0x518cd8['registered'][_0x4bfcef(0x358)]===0x1?'':'s')+')\x20at\x20'+_0x1f0a95(projectDir,_0x518cd8['registryPath'])+'.','details':{'registered':_0x518cd8[_0x4bfcef(0x583)][_0x4bfcef(0x471)](_0x14572f=>_0x14572f['key']),'state':_0x518cd8['writtenOrUnchanged']}};},_0x58ca09=>({'name':_0x2a459e(0x4ef),'ok':![],'severity':'warning','message':_0x2a459e(0x46e)+(_0x58ca09 instanceof Error?_0x58ca09['message']:String(_0x58ca09))})),_0x4dfeb8=_0x5cc73c(projectDir),_0x909a4d=_0x3b9a3e('camera-views-unwrapped','warning',async()=>{const _0x208bec=_0x2a459e;if(_0x208bec(0x23e)!==_0x208bec(0x2fa)){const _0x3bef93=await _0x4dfeb8,_0x588587=[];for(const _0x3ea0cd of _0x3bef93){if(!_0x31dcbe(_0x3ea0cd[_0x208bec(0x388)]))continue;const _0x1164de=_0x24704c(_0x3ea0cd,_0x208bec(0x3c6));for(const _0x5ea53d of _0x1164de){_0x588587['push'](_0x5ea53d['file'][_0x208bec(0x539)]+':'+_0x5ea53d[_0x208bec(0x31b)]);}}if(_0x588587[_0x208bec(0x358)]===0x0)return{'ok':!![],'severity':_0x208bec(0x38c),'message':_0x208bec(0x1e2)};return{'ok':![],'severity':'warning','message':'Found\x20'+_0x588587[_0x208bec(0x358)]+_0x208bec(0x329),'remediation':_0x208bec(0x1b8),'details':{'offenders':_0x588587}};}else return{'success':!![],'results':_0x8b18d0[_0x208bec(0x471)](_0xd712a0=>({'query':_0xd712a0[_0x208bec(0x213)],'element':_0xd712a0['element'],'tappedAt':_0xd712a0['center']})),'batched':!![]};}),_0xb86f33=_0x3b9a3e('camera-imageKey-setup',_0x2a459e(0x180),async()=>{const _0x50a200=_0x2a459e,_0x2f6336=await _0x4dfeb8,_0x3045af=[];for(const _0x60e1e7 of _0x2f6336){const _0x36684a=_0x24704c(_0x60e1e7,_0x50a200(0x53f));for(const _0x4d42fb of _0x36684a){if('zxaSO'==='zxaSO'){const _0x501cc3=_0x4df342(_0x4d42fb['openingTag']);!_0x501cc3[_0x50a200(0x4c1)]&&_0x3045af[_0x50a200(0x407)]({'location':_0x4d42fb['file'][_0x50a200(0x539)]+':'+_0x4d42fb[_0x50a200(0x31b)],'file':_0x4d42fb[_0x50a200(0x362)][_0x50a200(0x539)],'line':_0x4d42fb['line'],'suggestedKey':_0x27ef10(_0x4d42fb['file']['relPath'])});}else return _0x3bc7f3['scheme']=_0xb3a3db[0x0],{'changed':!![],'previousScheme':_0x97b11e,'nextScheme':_0x3138fd[0x0]};}}if(_0x3045af['length']===0x0)return{'ok':!![],'severity':_0x50a200(0x180),'message':'All\x20<CeraphCamera>\x20components\x20have\x20an\x20explicit\x20imageKey\x20(or\x20use\x20a\x20runtime\x20sentinel).'};return{'ok':!![],'severity':_0x50a200(0x180),'message':_0x3045af['length']+_0x50a200(0x4e1)+(_0x3045af['length']===0x1?'':'s')+'\x20awaiting\x20imageKey\x20assignment\x20('+_0x3045af[_0x50a200(0x471)](_0x83b80e=>_0x83b80e['location'])[_0x50a200(0x3c0)](',\x20')+').','remediation':'Ask\x20the\x20user\x20about\x20each\x20camera\x20screen\x20and\x20use\x20`ceraph_init_replace_camera`\x20to\x20set\x20the\x20imageKey.\x20Three\x20options\x20per\x20camera:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x201024x1024\x20black\x20PNG.\x20Right\x20for\x20tests\x20that\x20don\x27t\x20care\x20about\x20image\x20content\x20(most\x20form/upload\x20flows).\x20(B)\x20imageKey=\x22<scenario>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Drop\x20the\x20file\x20at\x20.ceraph/camera-images/<scenario>.{jpg,png,webp}\x20(use\x20`ceraph_add_camera_image`\x20to\x20write\x20it\x20programmatically)\x20and\x20re-run\x20`rn_sync_camera_registry`.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20multi-image\x20flows\x20where\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime;\x20the\x20shim\x20won\x27t\x20lock\x20the\x20camera\x20to\x20any\x20static\x20key.','details':{'uninitializedCameras':_0x3045af}};}),_0xdb6273=_0x3b9a3e(_0x2a459e(0x4a0),'error',async()=>{const _0x341b38=_0x2a459e,[_0x346ca5,_0x2bd56a]=await Promise[_0x341b38(0x290)]([_0x5e3a72,_0x4dfeb8]),_0x5aa8ed=new Set(_0x346ca5['registered'][_0x341b38(0x471)](_0x5739ad=>_0x5739ad['key'])),_0x54ac7f=[];for(const _0x4ef5aa of _0x2bd56a){const _0x225db9=_0x24704c(_0x4ef5aa,_0x341b38(0x53f));for(const _0x25d44e of _0x225db9){const _0x13273d=_0x4df342(_0x25d44e[_0x341b38(0x2d3)]);if(!_0x13273d[_0x341b38(0x4c1)])continue;if(_0x13273d[_0x341b38(0x267)]===null)continue;if(_0x13273d['value']===_0x341b38(0x22c))continue;if(_0x13273d['value'][_0x341b38(0x317)]('@'))continue;!_0x5aa8ed[_0x341b38(0x3b6)](_0x13273d['value'])&&_0x54ac7f['push']({'location':_0x25d44e[_0x341b38(0x362)][_0x341b38(0x539)]+':'+_0x25d44e['line'],'key':_0x13273d['value']});}}if(_0x54ac7f['length']===0x0)return{'ok':!![],'severity':'error','message':'All\x20<CeraphCamera\x20imageKey>\x20values\x20resolve\x20to\x20files\x20in\x20.ceraph/camera-images/.'};const _0x590004=_0x54ac7f['map'](_0x2bd809=>_0x2bd809['location']+_0x341b38(0x240)+_0x2bd809['key']+'\x22)')[_0x341b38(0x3c0)](';\x20');return{'ok':![],'severity':'error','message':_0x341b38(0x28e)+_0x54ac7f[_0x341b38(0x358)]+'\x20orphan\x20imageKey\x20reference(s):\x20'+_0x590004+'.','remediation':_0x341b38(0x1c8),'details':{'orphans':_0x54ac7f}};}),_0x388c27=excludeRuntimeChecks?null:_0x3f51b0?Promise[_0x2a459e(0x3f8)]({'name':'target-selected','ok':!![],'severity':'info','message':_0x4c5e75?_0x2a459e(0x55d)+_0x4c5e75['target']+'\x20('+_0x4c5e75[_0x2a459e(0x3c8)]+').\x20WDA\x20base\x20URL:\x20'+_0x4c5e75['baseUrl']+(_0x4c5e75['udid']?_0x2a459e(0x32a)+_0x4c5e75[_0x2a459e(0x1bd)]:''):'Target:\x20unknown\x20(resolver\x20failed).\x20Falling\x20back\x20to\x20device\x20defaults.','details':_0x4c5e75?{'target':_0x4c5e75['target'],'reason':_0x4c5e75['reason'],'baseUrl':_0x4c5e75[_0x2a459e(0x4ab)],'udid':_0x4c5e75['udid'],'preferenceEnv':process.env.CERAPH_TARGET??null}:void 0x0}):null,_0x4725d0='Call\x20rn_wda_start\x20to\x20launch\x20WebDriverAgent\x20on\x20the\x20simulator,\x20then\x20retry\x20(first\x20launch\x20runs\x20a\x20one-time\x20xcodebuild\x20for\x20code\x20signing;\x20later\x20launches\x20reuse\x20the\x20cache).',_0x481a8e='Ensure\x20WebDriverAgent\x20is\x20running\x20on\x20the\x20device\x20(Xcode\x20→\x20run\x20WDA\x20target\x20on\x20your\x20iPhone,\x20or\x20check\x20`iproxy\x208100\x208100`).',_0xfbf625=_0x4c5e75?.[_0x2a459e(0x4d3)]??!![],_0x4a001e=_0xfbf625?_0x4c5e75?.[_0x2a459e(0x4ab)]??_0x2a459e(0x211):null;let _0x47a9ed,_0x32bce9;if(excludeRuntimeChecks)_0x47a9ed=null,_0x32bce9=null;else{if(!_0x2c2232&&_0x460892['iproxyManager']){const _0x24c5de=_0x460892[_0x2a459e(0x369)],_0x1abd38=(async()=>{const _0x57ddf5=_0x2a459e;let _0x31594f=await _0x4d9ee0['isAvailable'](),_0x86da7,_0x7c4da8=!![],_0x5d3741,_0x8ec128;if(_0x31594f){if('QCdLD'!==_0x57ddf5(0x19e)){const _0x4f0399=_0x4e94d3['getBody']();if(_0x430adb['isBlock'](_0x4f0399))_0xaa44eb=_0x4f0399;else{if(_0x293f75[_0x57ddf5(0x58d)](_0x4f0399)){const _0x3333f2=_0x4f0399[_0x57ddf5(0x1cb)]();if(_0x16bc0d['isIdentifier'](_0x3333f2)&&_0x3333f2['getText']()===_0x39d94d)return _0x57ddf5(0x1d1);}return _0x57ddf5(0x253);}}else _0x86da7='WebDriverAgent\x20already\x20reachable\x20—\x20skipped\x20iproxy\x20auto-bridge.';}else{const _0x3c6f7f=await _0x4b461c[_0x57ddf5(0x39c)]()['catch'](()=>null);if(!_0x3c6f7f)_0x7c4da8=![],_0x86da7=_0x57ddf5(0x287),_0x5d3741='Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20doctor.';else{if('hSMDt'!=='hSMDt')return _0x2f9cb6;else{const _0x2ae36f=await _0x24c5de[_0x57ddf5(0x565)](_0x3c6f7f);if(_0x2ae36f['ok'])_0x31594f=await _0x427370(()=>_0x4d9ee0['isAvailable'](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x86da7=_0x57ddf5(0x2c2)+_0x2ae36f[_0x57ddf5(0x520)]+').',_0x8ec128={'pid':_0x2ae36f[_0x57ddf5(0x520)],'udid':_0x3c6f7f};else{if(_0x2ae36f['reason']===_0x57ddf5(0x1fa))_0x31594f=await _0x427370(()=>_0x4d9ee0[_0x57ddf5(0x1d3)](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x86da7=_0x57ddf5(0x4f7);else _0x2ae36f[_0x57ddf5(0x3c8)]===_0x57ddf5(0x24f)?(_0x7c4da8=![],_0x86da7=_0x57ddf5(0x4c5),_0x5d3741=_0x57ddf5(0x33b)):(_0x7c4da8=![],_0x86da7=_0x57ddf5(0x495)+(_0x2ae36f[_0x57ddf5(0x461)]?.[0x0]??_0x57ddf5(0x51c))+'.',_0x5d3741=_0x57ddf5(0x3bd),_0x8ec128={'stderr':_0x2ae36f[_0x57ddf5(0x461)]});}}}}const _0x2d2f7a={'name':'iproxy-bridge','ok':_0x7c4da8,'severity':'warning','message':_0x86da7,'remediation':_0x5d3741,'details':_0x8ec128},_0x1983ae=_0x31594f?{'name':_0x57ddf5(0x449),'ok':!![],'severity':'error','message':'WebDriverAgent\x20is\x20reachable\x20at\x20'+_0x4a001e+'.'}:{'name':_0x57ddf5(0x449),'ok':![],'severity':'error','message':_0x4a001e?'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x4a001e+'.':_0x57ddf5(0x3fc),'remediation':_0x481a8e};return{'bridge':_0x2d2f7a,'wda':_0x1983ae};})()['catch'](_0x13321e=>({'bridge':{'name':'iproxy-bridge','ok':![],'severity':_0x2a459e(0x38c),'message':_0x2a459e(0x549)+(_0x13321e instanceof Error?_0x13321e[_0x2a459e(0x2aa)]:String(_0x13321e))},'wda':{'name':_0x2a459e(0x449),'ok':![],'severity':_0x2a459e(0x48f),'message':'WDA\x20reachability\x20probe\x20threw:\x20'+(_0x13321e instanceof Error?_0x13321e['message']:String(_0x13321e))}}));_0x47a9ed=_0x1abd38['then'](_0x199d27=>_0x199d27['bridge']),_0x32bce9=_0x1abd38[_0x2a459e(0x298)](_0x4f378c=>_0x4f378c[_0x2a459e(0x44a)]);}else _0x47a9ed=Promise['resolve']({'name':'iproxy-bridge','ok':!![],'severity':'info','message':_0x2c2232?'Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20applicable\x20to\x20simulator\x20targets.':'Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20enabled\x20for\x20this\x20doctor\x20call.'}),_0x32bce9=_0x3b9a3e('wda-reachable',_0x2a459e(0x48f),async()=>{const _0x25d5d1=_0x2a459e,_0x3adfa5=await _0x4d9ee0['isAvailable']();if(_0x3adfa5)return{'ok':!![],'severity':_0x25d5d1(0x48f),'message':_0x25d5d1(0x2d4)+_0x4a001e+'.'};return{'ok':![],'severity':'error','message':_0x4a001e?_0x25d5d1(0x26f)+_0x4a001e+'.':'WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','remediation':_0x2c2232?_0x4725d0:_0x481a8e};});}const _0x48d857=_0x2c2232?_0x2a459e(0x38c):_0x2a459e(0x48f),_0x3356a2=excludeRuntimeChecks?null:_0x3b9a3e('real-device-connected',_0x48d857,async()=>{const _0x2b51b8=_0x2a459e,_0x297954=await _0x4b461c['getUdid']();if(_0x297954)return{'ok':!![],'severity':_0x48d857,'message':'Real\x20iOS\x20device\x20connected\x20(udid\x20'+_0x297954+').','details':{'udid':_0x297954}};if(_0x2c2232)return{'ok':!![],'severity':'info','message':'No\x20real\x20iOS\x20device\x20detected\x20—\x20target\x20is\x20simulator,\x20so\x20this\x20is\x20fine.'};return{'ok':![],'severity':_0x48d857,'message':'No\x20iOS\x20target\x20available.','remediation':_0x2b51b8(0x20b)};}),_0x262c1b=excludeRuntimeChecks?null:_0x3b9a3e(_0x2a459e(0x377),_0x2a459e(0x48f),async()=>{const _0x1599ab=_0x2a459e,_0xe70e22=await _0x4378a2[_0x1599ab(0x33c)]();if(_0xe70e22['awake'])return{'ok':!![],'severity':'error','message':'Device\x20is\x20awake\x20(lockState:\x20'+_0xe70e22[_0x1599ab(0x417)]+').','details':{'lockState':_0xe70e22['lockState']}};return{'ok':![],'severity':_0x1599ab(0x48f),'message':_0x1599ab(0x494)+_0xe70e22['lockState']+').','remediation':_0xe70e22['remediation']??_0x1599ab(0x31e),'details':{'lockState':_0xe70e22[_0x1599ab(0x417)]}};}),_0x1d9ccf=excludeRuntimeChecks?null:Promise['resolve']({'name':_0x2a459e(0x35e),'ok':!![],'severity':'info','message':_0x2a459e(0x3e3)}),_0xaf1586=excludeRuntimeChecks?null:_0x3b9a3e('ffmpeg-installed','warning',async()=>{const _0x73ec7b=_0x2a459e;if(_0x2c2232)return{'ok':!![],'severity':'info','message':_0x73ec7b(0x2f2)};const _0x4342b3=await _0x44c2f8(_0x73ec7b(0x489),[_0x73ec7b(0x573)]),_0x169d1f=_0x4342b3[_0x73ec7b(0x359)]===0x0&&_0x4342b3['stdout'][_0x73ec7b(0x531)]()[_0x73ec7b(0x358)]>0x0;if(_0x169d1f)return{'ok':!![],'severity':'info','message':'ffmpeg\x20available\x20at\x20'+_0x4342b3[_0x73ec7b(0x376)]['trim']()+_0x73ec7b(0x305),'details':{'path':_0x4342b3[_0x73ec7b(0x376)][_0x73ec7b(0x531)]()}};return{'ok':![],'severity':'warning','message':'ffmpeg\x20not\x20found\x20—\x20continuous\x20chain-run\x20video\x20capture\x20will\x20be\x20skipped.\x20Tests\x20still\x20execute\x20normally.','remediation':_0x73ec7b(0x285)};}),_0x48bdb1=excludeRuntimeChecks||!_0x2c2232?null:_0x3b9a3e(_0x2a459e(0x56d),'error',async()=>{const _0x1edb58=_0x2a459e,_0x34d887=await ensureAppium(projectDir);if(_0x34d887[_0x1edb58(0x17a)]==='present')return{'ok':!![],'severity':'info','message':_0x1edb58(0x3d8),'details':{'status':_0x34d887['status']}};if(_0x34d887['status']===_0x1edb58(0x3ef))return{'ok':!![],'severity':_0x1edb58(0x180),'message':'Installed\x20appium-webdriveragent\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','details':{'status':_0x34d887['status']}};if(_0x34d887[_0x1edb58(0x17a)]==='skipped-not-needed')return{'ok':!![],'severity':'info','message':_0x1edb58(0x460),'details':{'status':_0x34d887['status']}};return{'ok':![],'severity':_0x1edb58(0x48f),'message':_0x1edb58(0x2e6)+_0x34d887[_0x1edb58(0x48f)],'remediation':'Couldn\x27t\x20auto-install\x20appium-webdriveragent\x20(the\x20optional\x20dep\x20the\x20simulator\x20WebDriverAgent\x20builds\x20from).\x20Install\x20it\x20manually\x20with\x20`npm\x20install\x20-D\x20appium-webdriveragent`\x20(or\x20`pnpm\x20add\x20-D\x20appium-webdriveragent`),\x20then\x20re-run\x20doctor.','details':{'status':_0x34d887[_0x1edb58(0x17a)]}};}),_0x2634a2=excludeRuntimeChecks||!screenRecordingStatus||_0x4c5e75?.[_0x2a459e(0x3ed)]!==_0x2a459e(0x2c0)?null:_0x3b9a3e('screen-recording-permission','warning',async()=>{const _0x52cd7f=_0x2a459e,_0x44165f=screenRecordingStatus();if(_0x44165f==='granted')return{'ok':!![],'severity':'info','message':_0x52cd7f(0x496),'details':{'status':_0x44165f}};const _0x830cab=_0x44165f===_0x52cd7f(0x1ad)?_0x52cd7f(0x355):'Screen\x20Recording\x20permission\x20denied\x20—\x20session\x20video\x20won\x27t\x20record\x20(tests\x20run\x20regardless).\x20Click\x20Allow\x20if\x20the\x20dialog\x20reappears,\x20or\x20grant\x20it\x20manually.';return{'ok':![],'severity':_0x52cd7f(0x38c),'message':_0x830cab,'remediation':_0x2f2b88,'details':{'status':_0x44165f}};}),_0x5e930e=excludeRuntimeChecks?null:_0x46068b?_0x3b9a3e(_0x2a459e(0x364),_0x2a459e(0x48f),async()=>{const _0x546eee=_0x2a459e,_0x4d323b=await _0x4b461c[_0x546eee(0x31f)]();if(!_0x4d323b['success'])return{'ok':![],'severity':'error','message':'Could\x20not\x20list\x20installed\x20apps:\x20'+(_0x4d323b[_0x546eee(0x48f)]??_0x546eee(0x51c)),'remediation':'Ensure\x20your\x20device\x20is\x20connected\x20and\x20Xcode\x20is\x20installed\x20(`xcrun\x20devicectl\x20list\x20devices`).'};const _0x48ce98=_0x4d323b[_0x546eee(0x44e)]['find'](_0x2a7207=>_0x2a7207[_0x546eee(0x4ad)]===_0x46068b);if(_0x48ce98)return{'ok':!![],'severity':'error','message':'App\x20'+_0x46068b+'\x20is\x20installed\x20('+_0x48ce98['name']+(_0x48ce98[_0x546eee(0x483)]?'\x20v'+_0x48ce98[_0x546eee(0x483)]:'')+').','details':{'bundleId':_0x46068b,'name':_0x48ce98[_0x546eee(0x273)],'version':_0x48ce98[_0x546eee(0x483)]}};return{'ok':![],'severity':'error','message':_0x546eee(0x4e4)+_0x46068b+_0x546eee(0x392),'remediation':_0x546eee(0x4b8),'details':{'bundleId':_0x46068b,'installedCount':_0x4d323b['apps']['length']}};}):Promise[_0x2a459e(0x3f8)]({'name':_0x2a459e(0x364),'ok':!![],'severity':'info','message':_0x2a459e(0x40d)}),_0x15bda7=excludeRuntimeChecks?null:_0x1c0e76&&_0x1c0e76[_0x2a459e(0x358)]>0x0?_0x3b9a3e(_0x2a459e(0x522),'error',async()=>{const _0x319b67=_0x2a459e;if(_0x319b67(0x2c1)==='GCwPa')_0x544805(_0x36eae8(_0x319b67(0x3fb)));else{const _0xb27818=_0x1c0e76['filter'](_0x103180=>{const _0x2ecdf4=process.env[_0x103180];return _0x2ecdf4===void 0x0||_0x2ecdf4==='';});if(_0xb27818['length']===0x0)return{'ok':!![],'severity':'error','message':'All\x20'+_0x1c0e76['length']+'\x20required\x20env\x20var(s)\x20present.','details':{'required':_0x1c0e76}};return{'ok':![],'severity':'error','message':_0x319b67(0x4d5)+_0xb27818[_0x319b67(0x3c0)](',\x20')+'.','remediation':'Set\x20the\x20missing\x20vars\x20before\x20running:\x20'+_0xb27818[_0x319b67(0x471)](_0x20b312=>_0x319b67(0x23b)+_0x20b312+_0x319b67(0x303))[_0x319b67(0x3c0)](';\x20')+'\x20(or\x20add\x20them\x20to\x20.env.local).','details':{'missing':_0xb27818,'required':_0x1c0e76}};}}):Promise[_0x2a459e(0x3f8)]({'name':'required-env-vars','ok':!![],'severity':_0x2a459e(0x180),'message':'Skipped\x20—\x20no\x20required\x20env\x20vars\x20declared.'}),_0x1d63fa=excludeRuntimeChecks?null:_0x3b9a3e('laptop-network',_0x2a459e(0x38c),async()=>{const _0x43e467=_0x2a459e,[_0x273584,_0x357178]=await Promise[_0x43e467(0x290)]([_0x363ee3(),_0x38d98d()]),_0x560096={'ssid':_0x273584,'ip':_0x357178};if(_0x4fd9f9&&_0x273584&&_0x273584!==_0x4fd9f9){if('ZjZvB'==='wUXsb'){const _0x16e347=_0xc14337['hardwareProperties']?.['platform']?.[_0x43e467(0x55a)]()??'',_0x1d6202=_0x2aa313['connectionProperties']?.['tunnelState']?.[_0x43e467(0x55a)]()??'';return _0x16e347['includes'](_0x43e467(0x331))&&_0x1d6202==='connected';}else return{'ok':![],'severity':_0x43e467(0x38c),'message':'Laptop\x20is\x20on\x20WiFi\x20\x27'+_0x273584+'\x27\x20at\x20'+(_0x357178??'<no\x20IP>')+'.\x20Expected\x20\x27'+_0x4fd9f9+'\x27.','remediation':'Join\x20the\x20same\x20WiFi\x20network\x20as\x20your\x20phone,\x20or\x20update\x20the\x20expectedNetwork\x20doctor\x20option.','details':_0x560096};}return{'ok':!![],'severity':_0x43e467(0x180),'message':_0x43e467(0x4db)+(_0x273584??'<unknown>')+_0x43e467(0x1dc)+(_0x357178??_0x43e467(0x371))+'.\x20If\x20you\x20see\x20network\x20timeout\x20errors\x20during\x20the\x20run,\x20verify\x20your\x20phone\x20is\x20on\x20the\x20same\x20network.','details':_0x560096};}),_0x34b8d8=excludeRuntimeChecks?null:Promise['resolve']({'name':_0x2a459e(0x21c),'ok':!![],'severity':'info','message':'Permission\x20interceptor\x20middleware\x20is\x20wired.\x20iOS\x20system\x20permission\x20dialogs\x20will\x20be\x20auto-accepted\x20during\x20flows\x20(configurable\x20via\x20the\x20`CERAPH_AUTO_ACCEPT_PERMISSIONS`\x20env\x20var:\x20`auto-accept`\x20|\x20`ask`\x20|\x20`off`).'}),_0x5f117b=await Promise[_0x2a459e(0x290)]([_0x25350c,_0x388c27,_0x47a9ed,_0x32bce9,_0x3356a2,_0x262c1b,_0x1d9ccf,_0x5e930e,_0x15bda7,_0x1d63fa,_0x34b8d8,_0xaf1586,_0x48bdb1,_0x2634a2,_0x909a4d,_0xb86f33,_0xdb6273][_0x2a459e(0x422)](_0x335007=>_0x335007!==null)),_0x1dec39=!_0x5f117b[_0x2a459e(0x179)](_0x1e1c57=>_0x1e1c57['severity']==='error'&&!_0x1e1c57['ok']),_0x52ee3b=_0x5f117b['find'](_0x15b17d=>_0x15b17d['name']==='ffmpeg-installed');let _0x42e4f1;return _0x52ee3b&&(_0x2c2232?_0x42e4f1=void 0x0:_0x42e4f1=_0x52ee3b['ok']),{'ok':_0x1dec39,'checks':_0x5f117b,'ffmpegInstalled':_0x42e4f1};}var _0x2e7e77,_0x18f7c3,_0x471dd0,_0x3152e0=_0x1b53f6({'src/doctor.ts'(){'use strict';const _0x4ab125=_0xa6e1;_0xb8aac8(),_0x5479af(),_0x37bc84(),_0x2e7e77=[_0x4ab125(0x38e),_0x4ab125(0x224),_0x4ab125(0x556)],_0x18f7c3=new Set([_0x4ab125(0x56f),'.jsx']),_0x471dd0=new Set(['node_modules',_0x4ab125(0x20e),_0x4ab125(0x37a),'.git',_0x4ab125(0x454),'.expo','.next','ios',_0x4ab125(0x469)]);}}),_0x2de720,_0x54f58f,_0x4ce409,_0x139e50,_0x238715,_0x372ba8,_0x27669c,_0x34c1ae,_0x1d6b36,_0x5e9a70=_0x1b53f6({'src/init/claude-hook-constants.ts'(){'use strict';const _0x57d0fd=_0xa6e1;_0x2de720='#!/bin/bash\x0a#\x20rn-error-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-errors.json\x20and\x20injects\x20runtime\x20errors\x20into\x20Claude\x27s\x20context.\x0a\x0aERROR_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-errors.json\x22\x0a\x0a#\x20Also\x20check\x20project\x20root\x20if\x20mobile/\x20doesn\x27t\x20exist\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20ERROR_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-errors.json\x22\x0afi\x0a\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aERROR_COUNT=$(jq\x20-r\x20\x27.errors\x20|\x20length\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null)\x0a\x0aif\x20[\x20\x22$ERROR_COUNT\x22\x20=\x20\x220\x22\x20]\x20||\x20[\x20-z\x20\x22$ERROR_COUNT\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aecho\x20\x22REACT\x20NATIVE\x20RUNTIME\x20ERROR\x20DETECTED:\x22\x0aecho\x20\x22\x22\x0ajq\x20-r\x20\x27.errors[]\x20|\x20\x22Error:\x20\x5c(.message)\x5cnStack:\x20\x5c(.stack)\x5cnTime:\x20\x5c(.timestamp)\x5cn---\x22\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null\x0aecho\x20\x22\x22\x0aecho\x20\x22Use\x20rn_get_errors\x20for\x20full\x20details.\x20Fix\x20the\x20error\x20and\x20rebuild.\x22\x0a',_0x54f58f='#!/bin/bash\x0a#\x20rn-flow-progress-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-flow-progress.json\x20and\x20injects\x20a\x20one-line\x20heartbeat\x20into\x0a#\x20Claude\x27s\x20context.\x20HEARTBEAT\x20ONLY\x20—\x20no\x20step-level\x20failure\x20details.\x0a\x0aENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-flow-progress.json\x22\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20ENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-flow-progress.json\x22\x0afi\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20If\x20jq\x20isn\x27t\x20installed,\x20exit\x20quietly\x20—\x20the\x20heartbeat\x20is\x20best-effort.\x0aif\x20!\x20command\x20-v\x20jq\x20>/dev/null\x202>&1;\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aENTRY=$(jq\x20-r\x20\x27.entry\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aif\x20[\x20\x22$ENTRY\x22\x20=\x20\x22null\x22\x20]\x20||\x20[\x20-z\x20\x22$ENTRY\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20jq\x20\x27//\x20\x22\x22\x27\x20(works\x20in\x20jq\x201.4+;\x20\x22//\x20empty\x22\x20needed\x201.5+\x20and\x20would\x20have\x0a#\x20silently\x20aborted\x20older\x20shells)\x20makes\x20jq\x20emit\x20an\x20empty\x20string\x20for\x0a#\x20missing\x20fields\x20rather\x20than\x20the\x20literal\x20\x22null\x22.\x20Defaults\x20below\x20keep\x0a#\x20set\x20-e\x20shells\x20happy\x20in\x20the\x20arithmetic\x20+\x20awk\x20expansions\x20even\x20when\x0a#\x20the\x20entry\x20is\x20partial\x20(transient\x20state\x20if\x20the\x20file\x20is\x20read\x0a#\x20mid-write).\x0aFLOW=$(jq\x20-r\x20\x27.entry.flow\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aINDEX=$(jq\x20-r\x20\x27.entry.index\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aTOTAL=$(jq\x20-r\x20\x27.entry.total\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aSUCCESS=$(jq\x20-r\x20\x27.entry.success\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aDURATION=$(jq\x20-r\x20\x27.entry.durationMs\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0a\x0aINDEX=${INDEX:-0}\x0aTOTAL=${TOTAL:-0}\x0aDURATION=${DURATION:-0}\x0aFLOW=${FLOW:-unknown}\x0a\x0aDISPLAY_INDEX=$((INDEX\x20+\x201))\x0aif\x20[\x20\x22$SUCCESS\x22\x20=\x20\x22true\x22\x20];\x20then\x0a\x20\x20STATUS=\x22passed\x22\x0aelse\x0a\x20\x20STATUS=\x22failed\x22\x0afi\x0a\x0aecho\x20\x22Flow\x20$DISPLAY_INDEX/$TOTAL\x20—\x20$FLOW:\x20$STATUS\x20in\x20$(awk\x20\x22BEGIN\x20{printf\x20\x5c\x22%.1f\x5c\x22,\x20$DURATION/1000}\x22)s\x22\x0aecho\x20\x22(Wait\x20for\x20the\x20end-of-run\x20summary\x20before\x20making\x20any\x20code\x20changes\x20—\x20the\x20flows\x20in\x20this\x20run\x20reference\x20your\x20pre-edit\x20code.)\x22\x0a',_0x4ce409=[_0x57d0fd(0x3f9),_0x57d0fd(0x19f),'rn-error-notify.sh'],_0x139e50=[_0x57d0fd(0x3f9),_0x57d0fd(0x19f),_0x57d0fd(0x4b6)],_0x238715=_0x57d0fd(0x3da),_0x372ba8=_0x57d0fd(0x3fd),_0x27669c='\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-error-notify.sh',_0x34c1ae=_0x57d0fd(0x26d),_0x1d6b36=[[_0x57d0fd(0x3f9),'settings.json'],[_0x57d0fd(0x3f9),_0x57d0fd(0x29e)]];}});import{chmod,rename,stat as _0xdd3d98,unlink,writeFile as _0x449563}from'fs/promises';import{dirname as _0x229b42,join as _0x333067}from'path';async function _0x20d51c(_0x5f1170,_0x521e83){const _0x31246f=_0xa6e1,_0x3b9671=_0x229b42(_0x5f1170),_0x179e2d=_0x333067(_0x3b9671,_0x5f1170[_0x31246f(0x554)](_0x3b9671['length']+0x1)+_0x31246f(0x22b)+process['pid']+'.'+Math[_0x31246f(0x4e2)]()['toString'](0x24)[_0x31246f(0x554)](0x2));let _0x21c662;try{const _0x1c34ad=await _0xdd3d98(_0x5f1170);_0x21c662=_0x1c34ad[_0x31246f(0x39b)]&0x1ff;}catch{}try{await _0x449563(_0x179e2d,_0x521e83,_0x31246f(0x2fd)),_0x21c662!==void 0x0&&await chmod(_0x179e2d,_0x21c662),await rename(_0x179e2d,_0x5f1170);}catch(_0x5984c0){try{await unlink(_0x179e2d);}catch{}throw _0x5984c0;}}var _0x485e76=_0x1b53f6({'src/utils/atomic-write.ts'(){'use strict';}});import{readFile as _0x32adc6}from'fs/promises';async function _0x50682b(_0x33c46c){const _0x470960=_0xa6e1;let _0x1a0d84;try{_0x1a0d84=await _0x32adc6(_0x33c46c,_0x470960(0x2fd));}catch(_0x2c4010){if(_0x470960(0x34b)!==_0x470960(0x35f)){const _0x31fe20=_0x2c4010;if(_0x31fe20&&_0x31fe20[_0x470960(0x359)]===_0x470960(0x543))return{'kind':'missing'};throw _0x2c4010;}else'use strict';}try{return{'kind':'ok','value':JSON[_0x470960(0x2ee)](_0x1a0d84)};}catch(_0x55b92c){return{'kind':'malformed','raw':_0x1a0d84,'error':_0x55b92c};}}function _0x52ec4b(_0x3cc70a){return _0x3cc70a!=null&&typeof _0x3cc70a==='object'&&!Array['isArray'](_0x3cc70a);}var _0x550f34=_0x1b53f6({'src/utils/json-config.ts'(){'use strict';}});import{mkdir as _0x23b869}from'fs/promises';import{join as _0x1ab6a3}from'path';async function _0x50eb40(_0x46f452){const _0x5c8b92=_0xa6e1,_0x353d09=_0x1ab6a3(_0x46f452,..._0xdef223),_0x51d144=await _0x50682b(_0x353d09);if(_0x51d144['kind']===_0x5c8b92(0x48b))return{'status':_0x5c8b92(0x284),'settingsPath':_0x353d09,'reason':'existing\x20settings\x20at\x20'+_0x353d09+_0x5c8b92(0x447)};if(_0x51d144[_0x5c8b92(0x15f)]==='ok'&&!_0x52ec4b(_0x51d144['value']))return{'status':'preserved','settingsPath':_0x353d09,'reason':'existing\x20settings\x20at\x20'+_0x353d09+_0x5c8b92(0x538)+(Array[_0x5c8b92(0x310)](_0x51d144[_0x5c8b92(0x267)])?'array':typeof _0x51d144['value'])+')\x20—\x20preserved'};const _0x4169de=_0x51d144['kind']==='ok'?_0x51d144['value']:{};if(_0x4169de['enableAllProjectMcpServers']===!![])return{'status':_0x5c8b92(0x333),'settingsPath':_0x353d09};const _0xbd840d=_0x4169de['enabledMcpjsonServers'];if(_0xbd840d!==void 0x0){if(!Array['isArray'](_0xbd840d)||!_0xbd840d[_0x5c8b92(0x3b7)](_0x7c67ef=>typeof _0x7c67ef===_0x5c8b92(0x2c6)))return{'status':'preserved','settingsPath':_0x353d09,'reason':'existing\x20enabledMcpjsonServers\x20in\x20'+_0x353d09+_0x5c8b92(0x3af)};if(_0xbd840d['includes'](_0x47f78c))return{'status':_0x5c8b92(0x333),'settingsPath':_0x353d09};}const _0x5a0cac=Array[_0x5c8b92(0x310)](_0xbd840d)?[..._0xbd840d,_0x47f78c]:[_0x47f78c];return _0x4169de['enabledMcpjsonServers']=_0x5a0cac,await _0x23b869(_0x1ab6a3(_0x46f452,_0x5c8b92(0x3f9)),{'recursive':!![]}),await _0x20d51c(_0x353d09,JSON['stringify'](_0x4169de,null,0x2)+'\x0a'),{'status':'approved','settingsPath':_0x353d09};}var _0x47f78c,_0xdef223,_0x13e54c=_0x1b53f6({'src/init/claude-preapproval.ts'(){'use strict';const _0x375c12=_0xa6e1;_0x485e76(),_0x550f34(),_0x47f78c=_0x375c12(0x228),_0xdef223=[_0x375c12(0x3f9),'settings.local.json'];}});function _0x3cbaa8(_0x5ad613){const _0x32ba93=_0xa6e1,_0x311e4e=/^\[\[?([^[\]]*)\]\]?\s*(?:#.*)?$/[_0x32ba93(0x342)](_0x5ad613);return _0x311e4e?_0x311e4e[0x1][_0x32ba93(0x531)]():null;}var _0x3655b9=_0x1b53f6({'src/utils/toml.ts'(){'use strict';}});import{readFile as _0xb4ca27,unlink as _0x497f2c,access as _0x9ca091}from'fs/promises';import{homedir as _0x50a152}from'os';import{join as _0x1d4dec}from'path';function _0x18d53e(_0x4b620f){const _0x2c0484=_0xa6e1,_0x5eb494=_0x4b620f??_0x50a152();return _0x24c2a5[_0x2c0484(0x471)](_0x566275=>({'label':_0x566275['label'],'path':_0x1d4dec(_0x5eb494,..._0x566275[_0x2c0484(0x362)])}));}async function _0x375189(_0x4cb1ab){try{return await _0x9ca091(_0x4cb1ab),!![];}catch{return![];}}async function _0x2e323b(_0x3f00f0,_0x1b2f90={}){const _0x288d97=_0xa6e1,_0x1f378e=_0x1b2f90['readFile']??(_0x1ef6f9=>_0xb4ca27(_0x1ef6f9,'utf-8')),_0x24ff73=_0x1b2f90[_0x288d97(0x2bc)]??_0x20d51c,_0x5390dc=_0x1b2f90[_0x288d97(0x1c5)]??(_0xf3515a=>_0x497f2c(_0xf3515a)),_0x2105ed=_0x1b2f90[_0x288d97(0x266)]??_0x375189,_0x206292=[];for(const _0xde8f2 of _0x735cd3){const _0x1ab5de=_0x1d4dec(_0x3f00f0,_0xde8f2);if(!await _0x2105ed(_0x1ab5de)){_0x206292['push']({'path':_0x1ab5de,'status':'not-found'});continue;}_0x206292[_0x288d97(0x407)](await _0x2ee458(_0x1ab5de,{'read':_0x1f378e,'write':_0x24ff73,'unlink':_0x5390dc}));}for(const _0x5ec1bd of _0x7e0c8){if(_0x288d97(0x443)===_0x288d97(0x523))return{'success':![],'error':'No\x20element\x20found\x20matching\x20query:\x20'+_0x5e2370[_0x288d97(0x278)](_0x251f23),'batched':![]};else{const _0x2d6f3a=_0x1d4dec(_0x3f00f0,_0x5ec1bd);if(!await _0x2105ed(_0x2d6f3a)){_0x206292[_0x288d97(0x407)]({'path':_0x2d6f3a,'status':'not-found'});continue;}_0x206292[_0x288d97(0x407)](await _0x4f66ff(_0x2d6f3a,{'read':_0x1f378e,'write':_0x24ff73,'unlink':_0x5390dc}));}}const _0x46cf27=_0x1d4dec(_0x3f00f0,_0x547db5);return!await _0x2105ed(_0x46cf27)?_0x206292[_0x288d97(0x407)]({'path':_0x46cf27,'status':'not-found'}):_0x206292['push'](await _0x32853b(_0x46cf27,{'read':_0x1f378e,'write':_0x24ff73,'unlink':_0x5390dc})),{'files':_0x206292};}async function _0x2ee458(_0x17e12f,_0x4a502f){const _0x3ff39c=_0xa6e1,_0x148b41=await _0x4a502f['read'](_0x17e12f);let _0x44b9f8;try{_0x44b9f8=JSON['parse'](_0x148b41);}catch{return{'path':_0x17e12f,'status':'malformed'};}if(!_0x44b9f8||typeof _0x44b9f8!==_0x3ff39c(0x2d2)||Array['isArray'](_0x44b9f8))return{'path':_0x17e12f,'status':_0x3ff39c(0x48b)};const _0xaa02d9=_0x44b9f8,_0x5ee326=_0xaa02d9[_0x3ff39c(0x27f)];if(!_0x5ee326||typeof _0x5ee326!=='object'||Array[_0x3ff39c(0x310)](_0x5ee326))return{'path':_0x17e12f,'status':_0x3ff39c(0x4fe)};const _0x285e98=_0x5ee326,_0x4c307d=[];for(const _0xfb3786 of _0x25dc0d){_0xfb3786 in _0x285e98&&(delete _0x285e98[_0xfb3786],_0x4c307d[_0x3ff39c(0x407)](_0xfb3786));}if(_0x4c307d['length']===0x0)return{'path':_0x17e12f,'status':'no-changes'};const _0x547bfb=Object[_0x3ff39c(0x3d4)](_0xaa02d9)['filter'](_0x216b78=>_0x216b78!=='mcpServers'),_0x21814d=Object['keys'](_0x285e98)['length']===0x0;if(_0x21814d&&_0x547bfb[_0x3ff39c(0x358)]===0x0)return await _0x4a502f[_0x3ff39c(0x1c5)](_0x17e12f),{'path':_0x17e12f,'status':_0x3ff39c(0x47d),'removedKeys':_0x4c307d};const _0x1abb85=_0x148b41['match'](/\n(\s+)"/),_0x59e655=_0x1abb85?.[0x1]??'\x20\x20',_0x1e0461=_0x148b41[_0x3ff39c(0x25c)]('\x0a'),_0x524cb1=JSON['stringify'](_0xaa02d9,null,_0x59e655);return await _0x4a502f['write'](_0x17e12f,_0x1e0461?_0x524cb1+'\x0a':_0x524cb1),{'path':_0x17e12f,'status':_0x3ff39c(0x394),'removedKeys':_0x4c307d};}async function _0x32853b(_0x2ec195,_0x3229a2){const _0x4cf2ab=_0xa6e1,_0x266535=await _0x3229a2[_0x4cf2ab(0x3bc)](_0x2ec195);let _0x395956;try{if(_0x4cf2ab(0x373)!=='JAdlI'){const _0x29667d=_0x207619['parse'](_0xa99ee8);if(!_0x29667d||typeof _0x29667d!==_0x4cf2ab(0x2d2)||_0x3a4ae4['isArray'](_0x29667d))return null;return _0x29667d;}else _0x395956=JSON['parse'](_0x266535);}catch{return _0x4cf2ab(0x4a4)==='cskoR'?(this['devicectlAvailable']=![],![]):{'path':_0x2ec195,'status':'malformed'};}if(!_0x395956||typeof _0x395956!=='object'||Array['isArray'](_0x395956))return{'path':_0x2ec195,'status':'malformed'};const _0x3ec0c2=_0x395956,_0x3cb4a7=_0x3ec0c2[_0x4cf2ab(0x171)];if(!Array['isArray'](_0x3cb4a7)||!_0x3cb4a7['includes'](_0x47f78c))return{'path':_0x2ec195,'status':_0x4cf2ab(0x4fe)};const _0x1a059b=_0x3cb4a7[_0x4cf2ab(0x422)](_0x5c5e23=>_0x5c5e23!==_0x47f78c);_0x1a059b['length']===0x0?delete _0x3ec0c2['enabledMcpjsonServers']:_0x3ec0c2[_0x4cf2ab(0x171)]=_0x1a059b;if(Object['keys'](_0x3ec0c2)[_0x4cf2ab(0x358)]===0x0)return await _0x3229a2['unlink'](_0x2ec195),{'path':_0x2ec195,'status':_0x4cf2ab(0x47d),'removedKeys':[_0x47f78c]};const _0x5de82a=_0x266535[_0x4cf2ab(0x382)](/\n(\s+)"/),_0x1bbe91=_0x5de82a?.[0x1]??'\x20\x20',_0x4e9800=_0x266535['endsWith']('\x0a'),_0xabca3=JSON[_0x4cf2ab(0x278)](_0x3ec0c2,null,_0x1bbe91);return await _0x3229a2['write'](_0x2ec195,_0x4e9800?_0xabca3+'\x0a':_0xabca3),{'path':_0x2ec195,'status':'removed-entries','removedKeys':[_0x47f78c]};}function _0x4adc13(_0x35e0cd,_0x589f46){const _0x5bf940=_0xa6e1,_0x477ad6=_0x35e0cd[_0x5bf940(0x41d)](/\r?\n/),_0x4be2e3=_0x35e0cd[_0x5bf940(0x25c)]('\x0a');_0x4be2e3&&_0x477ad6[_0x5bf940(0x358)]>0x0&&_0x477ad6[_0x477ad6[_0x5bf940(0x358)]-0x1]===''&&_0x477ad6['pop']();const _0x34f689=[],_0x213011=[];let _0x191fd8=![],_0x1907c4=![];for(let _0x10ba31=0x0;_0x10ba31<_0x477ad6['length'];_0x10ba31++){const _0x401ad5=_0x477ad6[_0x10ba31],_0x105e2e=_0x401ad5[_0x5bf940(0x531)](),_0x26f436=_0x3cbaa8(_0x105e2e);if(_0x26f436!==null){const _0x3e3f48=_0x589f46['has'](_0x26f436);if(_0x3e3f48){_0x34f689[_0x5bf940(0x358)]>0x0&&_0x34f689[_0x34f689[_0x5bf940(0x358)]-0x1]===''&&_0x34f689[_0x5bf940(0x576)]();const _0x124978=_0x26f436[_0x5bf940(0x317)]('mcp_servers.')?_0x26f436['slice'](_0x5bf940(0x590)[_0x5bf940(0x358)]):_0x26f436;_0x213011[_0x5bf940(0x407)](_0x124978),_0x191fd8=!![],_0x1907c4=![];continue;}(_0x191fd8||_0x1907c4)&&_0x34f689['length']>0x0&&_0x34f689[_0x34f689['length']-0x1]!==''&&_0x34f689['push']('');_0x191fd8=![],_0x1907c4=![],_0x34f689[_0x5bf940(0x407)](_0x401ad5);continue;}if(_0x191fd8){_0x1907c4=!![];continue;}if(_0x1907c4){if(_0x105e2e==='')continue;_0x34f689['length']>0x0&&_0x34f689[_0x34f689['length']-0x1]!==''&&_0x34f689[_0x5bf940(0x407)]('');_0x1907c4=![],_0x34f689['push'](_0x401ad5);continue;}_0x34f689[_0x5bf940(0x407)](_0x401ad5);}while(_0x34f689['length']>0x0&&_0x34f689[_0x34f689['length']-0x1]===''){_0x34f689[_0x5bf940(0x576)]();}const _0x3c2664=_0x34f689[_0x5bf940(0x3c0)]('\x0a'),_0x31b732=_0x4be2e3&&_0x3c2664[_0x5bf940(0x358)]>0x0?_0x3c2664+'\x0a':_0x3c2664;return{'next':_0x31b732,'removedKeys':_0x213011};}async function _0x4f66ff(_0x2f414b,_0x336117){const _0x5a34d9=_0xa6e1,_0x14bca4=await _0x336117[_0x5a34d9(0x3bc)](_0x2f414b),_0x44cfea=new Set(_0x25dc0d['map'](_0x35344e=>'mcp_servers.'+_0x35344e)),{next:_0x49e745,removedKeys:_0x35c11d}=_0x4adc13(_0x14bca4,_0x44cfea);if(_0x35c11d['length']===0x0)return{'path':_0x2f414b,'status':'no-changes'};if(_0x49e745[_0x5a34d9(0x531)]()['length']===0x0)return await _0x336117[_0x5a34d9(0x1c5)](_0x2f414b),{'path':_0x2f414b,'status':'deleted-file','removedKeys':_0x35c11d};return await _0x336117[_0x5a34d9(0x3bf)](_0x2f414b,_0x49e745),{'path':_0x2f414b,'status':_0x5a34d9(0x394),'removedKeys':_0x35c11d};}async function _0x2b03b2(_0x98c87b={}){const _0x43fe75=_0xa6e1,_0x38894f=_0x98c87b[_0x43fe75(0x529)]??(_0x9eacd4=>_0xb4ca27(_0x9eacd4,'utf-8')),_0x39e08f=_0x98c87b['writeFile']??_0x20d51c,_0x4d2738=_0x98c87b[_0x43fe75(0x1c5)]??(_0x4fe5cb=>_0x497f2c(_0x4fe5cb)),_0x3c65fb=_0x98c87b['fileExists']??_0x375189,_0x396ee3=[];for(const {path:_0x159cdb}of _0x18d53e(_0x98c87b[_0x43fe75(0x45d)])){if(!await _0x3c65fb(_0x159cdb)){_0x396ee3['push']({'path':_0x159cdb,'status':'not-found'});continue;}_0x396ee3['push'](await _0x2ee458(_0x159cdb,{'read':_0x38894f,'write':_0x39e08f,'unlink':_0x4d2738}));}return{'files':_0x396ee3};}var _0x735cd3,_0x7e0c8,_0x547db5,_0x24c2a5,_0x25dc0d,_0x25f087,_0xbc4a64=_0x1b53f6({'src/uninstall/revert-mcp-clients.ts'(){'use strict';const _0x4cba4a=_0xa6e1;_0x485e76(),_0x3655b9(),_0x13e54c(),_0x735cd3=[_0x4cba4a(0x2ce),_0x1d4dec(_0x4cba4a(0x1a1),'mcp.json'),_0x1d4dec('.vscode',_0x4cba4a(0x164))],_0x7e0c8=[_0x1d4dec('.codex',_0x4cba4a(0x311))],_0x547db5=_0x1d4dec(_0x4cba4a(0x3f9),_0x4cba4a(0x29e)),_0x24c2a5=[{'label':_0x4cba4a(0x2de),'dir':['.codeium',_0x4cba4a(0x41b)],'file':['.codeium','windsurf','mcp_config.json']},{'label':_0x4cba4a(0x327),'dir':['.gemini','antigravity'],'file':[_0x4cba4a(0x46c),'antigravity',_0x4cba4a(0x4e7)]}],_0x25dc0d=[_0x4cba4a(0x22f),_0x4cba4a(0x228)],_0x25f087=['mobile-mcp'];}});import{createRequire as _0xe37e15}from'module';function _0x451095(_0xfa227f=_0x1eed8f){const _0x36905f=_0xa6e1;if(!_0xfa227f||_0xfa227f===_0x36905f(0x1d8))return _0x4b2c86;return _0x4b2c86+'@'+_0xfa227f;}function _0x188237(){return{'command':'npx','args':['-y',_0x451095()]};}function _0xb600a0(){const _0x35db1a=_0xa6e1;return _0x35db1a(0x4c0)+_0x451095()+'\x22]\x0a';}function _0x2cd4e1(){return'args\x20=\x20[\x22-y\x22,\x20\x22'+_0x451095()+'\x22]';}function _0x73252a(_0x222c12){const _0x32764a=_0xa6e1,_0x3345eb=_0x2cd4e1(),_0x3c5073=_0x222c12['split'](/\r?\n/);let _0xa98012=![],_0x55064b=![],_0x1fee96=![],_0xd1193d=![];for(let _0xf36eb1=0x0;_0xf36eb1<_0x3c5073['length'];_0xf36eb1++){const _0x92bab7=_0x3c5073[_0xf36eb1][_0x32764a(0x531)](),_0x11a606=_0x3cbaa8(_0x92bab7);if(_0x11a606!==null){_0xa98012=_0x11a606===_0x186c3e;if(_0xa98012)_0x55064b=!![];continue;}if(_0xa98012&&/^args\s*=/['test'](_0x92bab7)){if(_0x92bab7===_0x3345eb)_0xd1193d=!![];else/^args\s*=\s*\[[^[\]]*\]\s*(?:#.*)?$/['test'](_0x92bab7)&&(_0x3c5073[_0xf36eb1]=_0x3345eb,_0x1fee96=!![]);break;}}return{'next':_0x3c5073[_0x32764a(0x3c0)]('\x0a'),'replaced':_0x1fee96,'sectionPresent':_0x55064b,'alreadyCurrent':_0xd1193d};}function _0x15f166(_0x228758,_0x54b793=_0x188237()){const _0x18a4b4=_0xa6e1;if(!_0x52ec4b(_0x228758))return![];if(_0x228758['command']!==_0x54b793[_0x18a4b4(0x3ab)])return![];const _0x47aafc=_0x228758['args'];if(!Array[_0x18a4b4(0x310)](_0x47aafc)||_0x47aafc[_0x18a4b4(0x358)]!==_0x54b793[_0x18a4b4(0x43c)][_0x18a4b4(0x358)])return![];return _0x47aafc[_0x18a4b4(0x3b7)]((_0x147716,_0x2d73e2)=>_0x147716===_0x54b793['args'][_0x2d73e2]);}var _0x4b2c86,_0x1eed8f,_0x186c3e,_0x5679be=_0x1b53f6({'src/version.ts'(){'use strict';const _0xc32635=_0xa6e1;_0x550f34(),_0x3655b9(),_0x4b2c86='@ceraph/react-native-mcp',_0x1eed8f=((()=>{const _0xbca328=_0xa6e1;try{const _0x2e0e49=_0xe37e15(import.meta.url),_0x2470a5=_0x2e0e49(_0xbca328(0x414));return _0x2470a5[_0xbca328(0x483)]??_0xbca328(0x1d8);}catch{return'0.0.0';}})()),_0x186c3e=_0xc32635(0x559);}}),_0x491ef9={};_0x2c4819(_0x491ef9,{'runInit':()=>_0x2c2b1c,'setupClaudeHook':()=>_0x54ff95,'setupCodexToml':()=>_0x62410e,'setupJsonMcp':()=>_0x183c59,'setupMcpClients':()=>_0x17351a});import{readFile as _0x4cc0b7,writeFile as _0x54a612,mkdir as _0x23a272,access as _0x4e2854,chmod as _0xf7fe55}from'fs/promises';import{join as _0x449386}from'path';async function _0x2719ea(_0x4eb26b){try{return await _0x4e2854(_0x4eb26b),!![];}catch{return![];}}async function _0x5c352b(_0x20de24,_0x25500c){await _0x23a272(_0x449386(_0x20de24,'..'),{'recursive':!![]}),await _0x20d51c(_0x20de24,JSON['stringify'](_0x25500c,null,0x2)+'\x0a');}function _0xa27cb(_0x556263){console['log']('\x20\x20'+_0x556263);}async function _0x183c59(_0x5d8580,_0xb66740){const _0x368fe3=_0xa6e1,_0x14cb74=await _0x50682b(_0x5d8580);if(_0x14cb74[_0x368fe3(0x15f)]===_0x368fe3(0x48b))return _0xa27cb(_0xb66740+':\x20existing\x20config\x20at\x20'+_0x5d8580+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.'),![];const _0x129de4=_0x14cb74['kind']==='ok'?_0x14cb74['value']:{};if(_0x14cb74['kind']==='ok'&&!_0x52ec4b(_0x129de4))return _0xa27cb(_0xb66740+':\x20existing\x20config\x20at\x20'+_0x5d8580+_0x368fe3(0x538)+(Array['isArray'](_0x129de4)?_0x368fe3(0x247):typeof _0x129de4)+')\x20—\x20preserving\x20it.'),![];const _0x4b60be=_0x52ec4b(_0x129de4)?_0x129de4:{},_0x206e75=_0x4b60be[_0x368fe3(0x27f)];if(_0x206e75!==void 0x0&&!_0x52ec4b(_0x206e75))return _0xa27cb(_0xb66740+_0x368fe3(0x4eb)+_0x5d8580+_0x368fe3(0x538)+(Array['isArray'](_0x206e75)?'array':typeof _0x206e75)+')\x20—\x20preserving\x20the\x20file.'),![];const _0x245a2f=_0x52ec4b(_0x206e75)?_0x206e75:{};let _0x12b6d6=![];for(const _0x552ece of _0x25f087){_0x552ece in _0x245a2f&&(delete _0x245a2f[_0x552ece],_0x12b6d6=!![]);}const _0x5a5fcd=_0x188237(),_0x2f9629=_0x245a2f[_0x368fe3(0x228)];if(_0x15f166(_0x2f9629,_0x5a5fcd)&&!_0x12b6d6)return _0xa27cb(_0xb66740+':\x20already\x20configured'),![];const _0x5af384=_0x52ec4b(_0x2f9629)?{..._0x2f9629}:{};return _0x245a2f['react-native-mcp']={..._0x5af384,..._0x5a5fcd},_0x4b60be[_0x368fe3(0x27f)]=_0x245a2f,await _0x5c352b(_0x5d8580,_0x4b60be),_0xa27cb(_0xb66740+_0x368fe3(0x172)),!![];}async function _0x62410e(_0xfa5f35){const _0x594dc8=_0xa6e1;let _0x427d89='';try{_0x427d89=await _0x4cc0b7(_0xfa5f35,'utf-8');}catch{}const _0x122188=new Set(_0x25f087['map'](_0x49d991=>_0x594dc8(0x590)+_0x49d991)),_0x4b2369=_0x4adc13(_0x427d89,_0x122188);_0x427d89=_0x4b2369['next'];const _0x316adc=_0x4b2369['removedKeys'][_0x594dc8(0x358)]>0x0,_0x52b6a2=_0x73252a(_0x427d89);if(_0x52b6a2['sectionPresent']&&_0x52b6a2[_0x594dc8(0x231)]&&!_0x316adc)return _0xa27cb('Codex:\x20already\x20configured'),![];if(_0x52b6a2['replaced'])_0x427d89=_0x52b6a2['next'];else{if(_0x52b6a2['sectionPresent']&&!_0x52b6a2['alreadyCurrent']){const _0xc1a36b=_0x4adc13(_0x427d89,new Set(['mcp_servers.react-native-mcp']));_0x427d89=_0xc1a36b['next']+_0xb600a0();}else!_0x52b6a2[_0x594dc8(0x501)]?_0x427d89=_0x427d89+_0xb600a0():_0x427d89=_0x52b6a2['next'];}return await _0x23a272(_0x449386(_0xfa5f35,'..'),{'recursive':!![]}),await _0x20d51c(_0xfa5f35,_0x427d89),_0xa27cb('Codex:\x20configured\x20✓'),!![];}async function _0x54ff95(_0x473c0e=_0x189b1d){const _0x573027=_0xa6e1,_0x1cb0ed=_0x449386(_0x473c0e,'.claude','hooks'),_0x49bcdb=_0x449386(_0x1cb0ed,'rn-error-notify.sh'),_0x5cbb42=_0x449386(_0x1cb0ed,'rn-flow-progress-notify.sh');await _0x23a272(_0x1cb0ed,{'recursive':!![]}),await _0x20d51c(_0x49bcdb,_0x2de720),await _0xf7fe55(_0x49bcdb,0x1ed),_0xa27cb('Hook\x20script:\x20.claude/hooks/rn-error-notify.sh\x20✓'),await _0x20d51c(_0x5cbb42,_0x54f58f),await _0xf7fe55(_0x5cbb42,0x1ed),_0xa27cb(_0x573027(0x450));const _0x46820e=_0x449386(_0x473c0e,'.claude',_0x573027(0x4bd)),_0x33a9b0=_0x449386(_0x473c0e,_0x573027(0x3f9),'settings.local.json'),_0x6021bd=(_0x45613f,_0x365a23,_0x2960f0)=>{const _0x2ba023=_0x573027,_0x7dd0d1=_0x52ec4b(_0x45613f)?_0x45613f:{},_0x4cc05a=_0x7dd0d1['hooks'],_0x34a541=_0x52ec4b(_0x4cc05a)?_0x4cc05a:{},_0x2eb220=_0x34a541[_0x2ba023(0x533)];if(!Array['isArray'](_0x2eb220))return _0x2eb220!==void 0x0;return _0x2eb220[_0x2ba023(0x179)](_0x431564=>{const _0x201183=_0x2ba023;if(!_0x52ec4b(_0x431564))return![];if(_0x431564[_0x201183(0x1c9)]!==_0x365a23)return![];const _0x122158=_0x431564['hooks'];if(!Array[_0x201183(0x310)](_0x122158))return![];return _0x122158['some'](_0x2adb81=>{if(!_0x52ec4b(_0x2adb81))return![];const _0x1488f8=_0x2adb81['command'];return typeof _0x1488f8==='string'&&_0x1488f8===_0x2960f0;});});},_0x1b1bd7=await _0x50682b(_0x46820e),_0x522941=await _0x50682b(_0x33a9b0);if(_0x1b1bd7['kind']==='malformed'){_0xa27cb(_0x573027(0x2d5)+_0x46820e+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.');return;}if(_0x522941[_0x573027(0x15f)]==='malformed'){_0xa27cb('Claude\x20Code\x20hook:\x20'+_0x33a9b0+_0x573027(0x1b5));return;}const _0x1fbc3e=_0x1b1bd7['kind']==='ok'?_0x1b1bd7['value']:null,_0xcacff2=_0x522941[_0x573027(0x15f)]==='ok'?_0x522941[_0x573027(0x267)]:null;if(_0x1fbc3e!==null&&!_0x52ec4b(_0x1fbc3e)){_0xa27cb('Claude\x20Code\x20hook:\x20'+_0x46820e+_0x573027(0x24b));return;}if(_0xcacff2!==null&&!_0x52ec4b(_0xcacff2)){_0xa27cb(_0x573027(0x2d5)+_0x33a9b0+'\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.');return;}const _0x5dc597=_0x1fbc3e??{},_0x33ff23=_0x5dc597[_0x573027(0x19f)];if(_0x33ff23!==void 0x0&&!_0x52ec4b(_0x33ff23)){_0xa27cb(_0x573027(0x2d5)+_0x46820e+_0x573027(0x322));return;}const _0xd0f774=_0x52ec4b(_0x33ff23)?_0x33ff23:{},_0x3c36ea=_0xd0f774['FileChanged'],_0x5e9213=Array['isArray'](_0x3c36ea)?_0x3c36ea:[];let _0x597433=![];if(!_0x6021bd(_0x1fbc3e,_0x238715,_0x27669c)&&!_0x6021bd(_0xcacff2,_0x238715,_0x27669c)){if(_0x573027(0x51e)!=='ODIAW')return{'status':_0x573027(0x3fe),'path':_0x45cfbe};else _0x5e9213['push']({'matcher':_0x238715,'hooks':[{'type':'command','command':_0x27669c}]}),_0x597433=!![],_0xa27cb('Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-errors.json\x20✓');}else _0xa27cb('Claude\x20Code\x20hook\x20(.rn-errors.json):\x20already\x20configured');if(!_0x6021bd(_0x1fbc3e,_0x372ba8,_0x34c1ae)&&!_0x6021bd(_0xcacff2,_0x372ba8,_0x34c1ae)){if('ZyEko'===_0x573027(0x37d))_0x5e9213[_0x573027(0x407)]({'matcher':_0x372ba8,'hooks':[{'type':'command','command':_0x34c1ae}]}),_0x597433=!![],_0xa27cb(_0x573027(0x54d));else{const {reverted:_0x1da877,skipped:_0xfb32a2,warnings:_0x41be15,manualSteps:_0x5e9763}=_0x576fb1['summary'],_0x8be601=[_0x573027(0x210)];_0x8be601['push']('\x20\x20Reverted:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1da877+'\x0a'),_0x8be601[_0x573027(0x407)]('\x20\x20Skipped/no-op:\x20\x20\x20'+_0xfb32a2+'\x0a'),_0x8be601['push']('\x20\x20Warnings:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x41be15[_0x573027(0x358)]+'\x0a'),_0x8be601['push']('\x20\x20Manual\x20actions:\x20\x20'+_0x5e9763['length']+'\x0a');if(_0x41be15['length']>0x0){_0x8be601['push']('\x0aWarnings:\x0a');for(const _0x2f9804 of _0x41be15)_0x8be601[_0x573027(0x407)]('\x20\x20-\x20'+_0x2f9804+'\x0a');}if(_0x5e9763['length']>0x0){_0x8be601[_0x573027(0x407)](_0x573027(0x587));for(const _0x4525f5 of _0x5e9763)_0x8be601['push']('\x20\x20-\x20'+_0x4525f5+'\x0a');}return _0x8be601['join']('');}}else _0xa27cb(_0x573027(0x3dd));_0x597433&&(_0xd0f774['FileChanged']=_0x5e9213,_0x5dc597['hooks']=_0xd0f774,await _0x5c352b(_0x46820e,_0x5dc597));}async function _0x2da5b9(){const _0x4398a5=_0xa6e1,_0x3196ff=_0x449386(_0x189b1d,'.ceraph',_0x4398a5(0x3dc));await _0x23a272(_0x3196ff,{'recursive':!![]});const _0x2a2786=_0x449386(_0x3196ff,'README.md');!await _0x2719ea(_0x2a2786)?(await _0x54a612(_0x2a2786,_0x5ebc75,'utf-8'),_0xa27cb('Camera\x20images:\x20.ceraph/camera-images/\x20+\x20README.md\x20✓')):_0xa27cb(_0x4398a5(0x441));}async function _0x7265c1(){const _0x1e2cde=_0xa6e1,_0x350881=_0x449386(_0x189b1d,'.gitignore');let _0x5a7b56='';try{_0x5a7b56=await _0x4cc0b7(_0x350881,'utf-8');}catch{}const _0x3aae24=[_0x1e2cde(0x3da),_0x1e2cde(0x3fd),'.ceraph/runs/','.ceraph/wda-derived/','.ceraph/last-build-snapshot.json'],_0x4fff1a=_0x3aae24[_0x1e2cde(0x422)](_0x3c8771=>!_0x5a7b56[_0x1e2cde(0x3bb)](_0x3c8771));if(_0x4fff1a[_0x1e2cde(0x358)]===0x0){_0xa27cb('.gitignore:\x20entries\x20already\x20present');return;}const _0x421c4f=_0x5a7b56===''||_0x5a7b56[_0x1e2cde(0x25c)]('\x0a')?'':'\x0a',_0x4fea37=_0x421c4f+_0x4fff1a[_0x1e2cde(0x3c0)]('\x0a')+'\x0a';await _0x20d51c(_0x350881,_0x5a7b56+_0x4fea37),_0xa27cb(_0x1e2cde(0x570)+_0x4fff1a[_0x1e2cde(0x3c0)](',\x20')+'\x20✓');}async function _0x17351a(){const _0x545b65=_0xa6e1;console['log']('MCP\x20configuration:'),await _0x183c59(_0x449386(_0x189b1d,'.mcp.json'),'Claude\x20Code');const _0x2f6269=await _0x50eb40(_0x189b1d);_0x2f6269[_0x545b65(0x17a)]===_0x545b65(0x284)?_0xa27cb(_0x545b65(0x405)+_0x2f6269['settingsPath']+'\x20has\x20an\x20unexpected\x20shape\x20—\x20preserving\x20it.\x20'+_0x2f6269['reason']):_0xa27cb(_0x545b65(0x1ca));await _0x183c59(_0x449386(_0x189b1d,'.cursor','mcp.json'),_0x545b65(0x431)),await _0x62410e(_0x449386(_0x189b1d,_0x545b65(0x344),_0x545b65(0x311))),await _0x183c59(_0x449386(_0x189b1d,_0x545b65(0x48d),_0x545b65(0x164)),_0x545b65(0x458));const _0xd24b96=process.env.HOME??process.env.USERPROFILE??'';if(_0xd24b96){const _0x221cbf=_0x449386(_0xd24b96,'.codeium',_0x545b65(0x41b),_0x545b65(0x4e7));await _0x2719ea(_0x449386(_0xd24b96,_0x545b65(0x2f6),_0x545b65(0x41b)))&&await _0x183c59(_0x221cbf,_0x545b65(0x2de));const _0x42302b=_0x449386(_0xd24b96,_0x545b65(0x46c),'antigravity',_0x545b65(0x4e7));await _0x2719ea(_0x449386(_0xd24b96,'.gemini',_0x545b65(0x3fa)))&&await _0x183c59(_0x42302b,_0x545b65(0x327));}return _0x2f6269;}function _0x3f7113(_0x3307f1){const _0x3c6c69=_0xa6e1,_0x2f9780=_0x3307f1[_0x3c6c69(0x422)](_0xd02271=>_0xd02271['severity']===_0x3c6c69(0x48f)&&!_0xd02271['ok']),_0x5768e5=_0x3307f1[_0x3c6c69(0x422)](_0x30b2b2=>_0x30b2b2[_0x3c6c69(0x498)]==='warning'&&!_0x30b2b2['ok']);if(_0x2f9780[_0x3c6c69(0x358)]===0x0&&_0x5768e5['length']===0x0)return'';const _0x6f3230=[];for(const _0x2c06bb of _0x2f9780){_0x6f3230['push'](_0x3c6c69(0x4ee)+_0x2c06bb[_0x3c6c69(0x273)]+':\x20'+_0x2c06bb['message']);if(_0x2c06bb[_0x3c6c69(0x2d0)])_0x6f3230['push']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20'+_0x2c06bb[_0x3c6c69(0x2d0)]);}for(const _0x259814 of _0x5768e5){_0x6f3230['push'](_0x3c6c69(0x4cf)+_0x259814['name']+':\x20'+_0x259814[_0x3c6c69(0x2aa)]);if(_0x259814['remediation'])_0x6f3230[_0x3c6c69(0x407)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20'+_0x259814[_0x3c6c69(0x2d0)]);}return _0x6f3230['join']('\x0a')+'\x0a';}function _0x31b271(_0x23d809){const _0x5b75ed=_0xa6e1;if(_0x23d809)return!![];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x5b75ed(0x26c)][_0x5b75ed(0x347)];}async function _0x2c2b1c(_0x175de7={}){const _0x266090=_0xa6e1,_0x2d586f=console['log'];_0x175de7['outputToStderr']&&(console[_0x266090(0x492)]=(..._0x5789f5)=>{const _0x2b22d5=_0x266090;process['stderr'][_0x2b22d5(0x3bf)](_0x5789f5['map'](_0x1ab7a1=>typeof _0x1ab7a1==='string'?_0x1ab7a1:String(_0x1ab7a1))['join']('\x20')+'\x0a');});try{return await _0x3b2a9e(_0x175de7);}finally{if('TiJRz'==='JAkxP'){const _0x2350c2=_0x2fafdf(_0x417268,_0x266090(0x53f));for(const _0x23afbb of _0x2350c2){const _0x294278=_0x385fbe(_0x23afbb[_0x266090(0x2d3)]);!_0x294278['present']&&_0x3ce210['push']({'location':_0x23afbb['file']['relPath']+':'+_0x23afbb[_0x266090(0x31b)],'file':_0x23afbb[_0x266090(0x362)]['relPath'],'line':_0x23afbb[_0x266090(0x31b)],'suggestedKey':_0x14f802(_0x23afbb['file']['relPath'])});}}else _0x175de7['outputToStderr']&&(console['log']=_0x2d586f);}}async function _0x3b2a9e(_0x34e814){const _0x766bb1=_0xa6e1,_0x39c9ed=_0x34e814[_0x766bb1(0x162)]===!![],_0x333418=_0x34e814['outputToStderr']?_0x36e34a=>{const _0x4ac55f=_0x766bb1;process[_0x4ac55f(0x461)]['write'](_0x36e34a);}:void 0x0;if(_0x34e814['tier']===_0x766bb1(0x545)&&_0x31b271(_0x39c9ed))return await _0x55b0ac(_0x766bb1(0x545))['catch'](()=>void 0x0),console[_0x766bb1(0x492)](_0x766bb1(0x2b5)),console['log'](_0x766bb1(0x2a2)),console[_0x766bb1(0x492)]('\x20\x201.\x20Sign\x20in:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x182af8({'intent':'pro'})),console['log'](_0x766bb1(0x486)),console[_0x766bb1(0x492)]('\x0aSelecting\x20Pro\x20isn\x27t\x20the\x20same\x20as\x20being\x20Pro\x20—\x20AI\x20flow\x20testing\x20unlocks\x20once\x0acheckout\x20completes.\x20Re-run\x20init\x20in\x20a\x20terminal\x20(or\x20use\x20the\x0aceraph_init_select_tier\x20tool)\x20to\x20finish\x20sign-in.\x0a'),{'proSignInDeferred':!![],'walkthrough':null};console['log']('\x0a@ceraph/react-native-mcp\x20init\x0a');const _0x4a406b=await _0x17351a();console[_0x766bb1(0x492)](_0x766bb1(0x45b)),await _0x54ff95(),console['log']('\x0aCamera\x20test\x20images:'),await _0x2da5b9(),console['log']('\x0aGitignore:'),await _0x7265c1();const _0x530199=await _0x517d0e(_0x189b1d,{'agentMode':_0x39c9ed,'nonInteractive':_0x39c9ed?!![]:void 0x0,'write':_0x333418,'installStdioToStderr':_0x34e814[_0x766bb1(0x195)]===!![],'tier':_0x34e814[_0x766bb1(0x530)],'claudePreApprovalPreserved':_0x4a406b['status']===_0x766bb1(0x284),'runDoctor':async()=>{const _0x43e27a=_0x766bb1;if(_0x43e27a(0x184)==='UUKtt'){let _0x25e2a2=_0xe9e6a1['trim']();if(_0x25e2a2['endsWith'](';'))_0x25e2a2=_0x25e2a2['slice'](0x0,-0x1)[_0x43e27a(0x531)]();return(_0x25e2a2['startsWith']('\x22')&&_0x25e2a2[_0x43e27a(0x25c)]('\x22')||_0x25e2a2['startsWith']('\x27')&&_0x25e2a2[_0x43e27a(0x25c)]('\x27'))&&(_0x25e2a2=_0x25e2a2[_0x43e27a(0x554)](0x1,-0x1)),_0x25e2a2;}else{const _0x47ee17=new _0x226263(),_0x481983=new _0x1007f8(_0x47ee17),_0x284094=new _0x5e9958(_0x47ee17),_0x5540e7=await _0xb3ba0e({'screen':_0x47ee17,'apps':_0x481983,'autonomy':_0x284094,'projectDir':_0x189b1d,'excludeRuntimeChecks':!![]}),_0x19d30b=_0x5540e7[_0x43e27a(0x387)]['filter'](_0x222020=>_0x222020['ok'])['length'];return{'ok':_0x5540e7['ok'],'summary':_0x3f7113(_0x5540e7[_0x43e27a(0x387)]),'passedCount':_0x19d30b,'totalCount':_0x5540e7[_0x43e27a(0x387)][_0x43e27a(0x358)]};}}});return{'proSignInDeferred':![],'walkthrough':_0x530199};}var _0x189b1d,_0x5ebc75,_0x177ec3,_0x2b1432=_0x1b53f6({'src/init.ts'(){'use strict';const _0x56ca62=_0xa6e1;_0x19ffbe(),_0x428b89(),_0x324a47(),_0xe2e688(),_0x48ae99(),_0x57366c(),_0x3152e0(),_0x5e9a70(),_0x485e76(),_0x550f34(),_0x13e54c(),_0xbc4a64(),_0x5679be(),_0x189b1d=process['cwd'](),_0x5ebc75='#\x20Ceraph\x20camera\x20test\x20images\x0a\x0aPer-screen\x20test\x20images\x20for\x20`<CeraphCamera\x20/>`\x20from\x0a`@ceraph/react-native-mcp/shim`.\x20The\x20filename\x20(without\x20extension)\x20is\x0athe\x20imageKey\x20you\x20pass\x20on\x20the\x20JSX\x20tag.\x0a\x0a##\x20Three\x20ways\x20to\x20wire\x20a\x20camera\x0a\x0a`<CeraphCamera\x20/>`\x20(no\x20`imageKey`)\x20—\x20uninitialized.\x20Falls\x20back\x20to\x20a\x0abundled\x201024x1024\x20black\x20PNG\x20that\x20ships\x20with\x20the\x20package,\x20so\x20the\x20screen\x0arenders.\x20The\x20MCP\x27s\x20`ceraph_doctor`\x20lists\x20these\x20as\x20info\x20findings\x20so\x20an\x0aAI\x20assistant\x20can\x20prompt\x20you\x20to\x20make\x20a\x20deliberate\x20choice.\x20Pick\x20from:\x0a\x0a1.\x20`<CeraphCamera\x20imageKey=\x22default\x22\x20/>`\x20—\x20explicit\x20acknowledgment\x20of\x0a\x20\x20\x20the\x20black\x20PNG.\x20Right\x20answer\x20for\x20most\x20form\x20/\x20upload\x20/\x20permission\x0a\x20\x20\x20flows\x20where\x20the\x20image\x20content\x20doesn\x27t\x20matter.\x0a2.\x20`<CeraphCamera\x20imageKey=\x22profile\x22\x20/>`\x20—\x20a\x20specific\x20test\x20image\x20you\x0a\x20\x20\x20provide\x20(this\x20folder).\x20Drop\x20`profile.jpg`\x20(or\x20`.png`\x20/\x20`.webp`\x20/\x0a\x20\x20\x20`.heic`)\x20here.\x20The\x20agent\x20can\x20write\x20the\x20file\x20for\x20you\x20via\x0a\x20\x20\x20`ceraph_add_camera_image`.\x0a3.\x20`<CeraphCamera\x20imageKey=\x22@runtime\x22\x20/>`\x20—\x20runtime\x20control.\x20The\x20flow\x0a\x20\x20\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20test\x20time.\x20Use\x20when\x20one\x20camera\x0a\x20\x20\x20screen\x20feeds\x20different\x20scenarios\x20across\x20multiple\x20flows.\x0a\x0a##\x20Naming\x0a\x0aLowercase\x20+\x20hyphen-separated,\x20descriptive\x20of\x20what\x20the\x20image\x20represents:\x0a\x0a-\x20`profile.jpg`\x20—\x20face\x20photo\x20for\x20a\x20profile\x20picture\x20screen\x0a-\x20`id-card.png`\x20—\x20government-issued\x20ID\x20for\x20a\x20KYC\x20scan\x20screen\x0a-\x20`product-photo.jpg`\x20—\x20a\x20product\x20image\x20for\x20an\x20upload\x20screen\x0a\x0aSupported\x20extensions:\x20`.jpg`,\x20`.jpeg`,\x20`.png`,\x20`.webp`,\x20`.heic`.\x0aExtension\x20priority\x20on\x20collision:\x20jpg\x20>\x20jpeg\x20>\x20png\x20>\x20webp\x20>\x20heic.\x0a\x0a##\x20Workflow\x0a\x0a1.\x20Drop\x20the\x20image\x20into\x20this\x20folder\x20with\x20the\x20right\x20filename.\x0a2.\x20Reference\x20it\x20on\x20the\x20tag:\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20CeraphCamera\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20<CeraphCamera\x20imageKey=\x22profile\x22\x20/>\x0a\x20\x20\x20```\x0a3.\x20Regenerate\x20the\x20registry:\x20call\x20the\x20MCP\x20tool\x0a\x20\x20\x20`rn_sync_camera_registry`,\x20or\x20just\x20call\x20`ceraph_doctor`\x20—\x20it\x0a\x20\x20\x20syncs\x20the\x20registry\x20automatically.\x0a4.\x20In\x20`App.tsx`\x20or\x20your\x20root\x20layout\x20(once):\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20useEffect(()\x20=>\x20{\x20installCeraph();\x20},\x20[]);\x0a\x20\x20\x20```\x0a\x20\x20\x20`installCeraph()`\x20loads\x20the\x20generated\x20registry\x20from\x0a\x20\x20\x20`./.ceraph/camera-images/_registry`\x20and\x20wires\x20the\x20deep-link\x0a\x20\x20\x20handlers\x20the\x20flow\x20planner\x20uses.\x0a\x0aCommit\x20these\x20images\x20so\x20flows\x20are\x20reproducible\x20across\x20machines\x20and\x20CI.\x0a',_0x177ec3=process[_0x56ca62(0x35d)][0x1]??'';if(_0x177ec3[_0x56ca62(0x25c)]('init.js')||_0x177ec3[_0x56ca62(0x25c)](_0x56ca62(0x54e))){const _0x15a46f=process.env.CERAPH_AGENT_MODE==='1'||process['argv']['includes']('--agent');_0x2c2b1c({'agentMode':_0x15a46f})['catch'](_0x221213=>{const _0x43622c=_0x56ca62;console['error']('Init\x20failed:',_0x221213),process[_0x43622c(0x542)](0x1);});}}});import{existsSync,readFileSync,readdirSync}from'fs';import{isAbsolute as _0x4ca10d,join as _0xf193eb,relative as _0x232869,resolve,sep as _0x40bf96}from'path';function _0x53d91d(_0x39a583,_0x2fa2a4){const _0x3e8e09=_0xa6e1;if(!_0x39a583||_0x39a583['length']===0x0)return _0x2fa2a4;const _0x50e6fc=_0x4ca10d(_0x39a583)?_0x39a583:resolve(_0x2fa2a4,_0x39a583),_0x26723a=_0x232869(_0x2fa2a4,_0x50e6fc),_0xe8833e=_0x26723a===''||_0x26723a!=='..'&&!_0x26723a[_0x3e8e09(0x317)]('..'+_0x40bf96)&&!_0x4ca10d(_0x26723a);return _0xe8833e?_0x2fa2a4:_0x50e6fc;}var _0x210e1c=_0x1b53f6({'src/resolve-project-dir.ts'(){'use strict';_0x52a119();}});import{readFile as _0x3cbde7,unlink as _0x15e07a,writeFile as _0xa802ff}from'fs/promises';import{join as _0x42867a}from'path';async function _0x33a4a4(_0x45650b,_0x24545a={}){const _0x32d8ab=_0xa6e1,_0x276a4b=_0x42867a(_0x45650b,'.gitignore'),_0x5893b9=_0x24545a['readFile']??(_0x3bd05d=>_0x3cbde7(_0x3bd05d,_0x32d8ab(0x2fd))),_0x3f2b1d=_0x24545a['writeFile']??((_0x1ceeb7,_0xaf09a3)=>_0xa802ff(_0x1ceeb7,_0xaf09a3,'utf-8')),_0x580642=_0x24545a['unlink']??(_0x24e714=>_0x15e07a(_0x24e714)),_0x4e6d89=[];for(const _0x2c73e7 of _0x2a6bd6){const _0x4198dd=_0x42867a(_0x45650b,_0x2c73e7);try{await _0x580642(_0x4198dd),_0x4e6d89['push'](_0x2c73e7);}catch{}}let _0x5ac067;try{_0x5ac067=await _0x5893b9(_0x276a4b);}catch{return{'status':_0x32d8ab(0x380),'path':_0x276a4b,'removedRuntimeFiles':_0x4e6d89};}const _0x3bb05a=_0x5ac067[_0x32d8ab(0x25c)]('\x0a'),_0x4dddee=_0x5ac067['split'](/\r?\n/);_0x3bb05a&&_0x4dddee['length']>0x0&&_0x4dddee[_0x4dddee['length']-0x1]===''&&_0x4dddee['pop']();const _0x1cc388=new Set(_0x572488),_0x6b9489=[],_0x53f358=[];for(const _0xf57f74 of _0x4dddee){if(_0x1cc388[_0x32d8ab(0x3b6)](_0xf57f74[_0x32d8ab(0x531)]())){if(_0x32d8ab(0x3a6)==='cSWpu'){_0x6b9489[_0x32d8ab(0x407)](_0xf57f74);continue;}else{if(_0x3da45f['isCallExpression'](_0x22b80f)){const _0x43ccf1=_0x42a1a3['getExpression']();_0x4606a7[_0x32d8ab(0x3de)](_0x43ccf1)&&_0x43ccf1[_0x32d8ab(0x424)]()===_0x32d8ab(0x4cb)&&_0x1c0f57['push'](_0x5dad40);}}}_0x53f358[_0x32d8ab(0x407)](_0xf57f74);}if(_0x6b9489[_0x32d8ab(0x358)]===0x0)return{'status':_0x32d8ab(0x3fe),'path':_0x276a4b,'removedRuntimeFiles':_0x4e6d89};const _0x34a63f=_0x3bb05a?_0x53f358[_0x32d8ab(0x3c0)]('\x0a')+'\x0a':_0x53f358[_0x32d8ab(0x3c0)]('\x0a');return await _0x3f2b1d(_0x276a4b,_0x34a63f),{'status':'reverted','path':_0x276a4b,'removedLines':_0x6b9489,'removedRuntimeFiles':_0x4e6d89};}var _0x572488,_0x2a6bd6,_0x33c85d=_0x1b53f6({'src/uninstall/revert-gitignore.ts'(){'use strict';const _0x1cd51f=_0xa6e1;_0x572488=['.rn-errors.json','.rn-flow-progress.json',_0x1cd51f(0x45a),_0x1cd51f(0x230),'.ceraph/last-build-snapshot.json'],_0x2a6bd6=['.rn-errors.json','.rn-flow-progress.json'];}});import{readFile as _0x5e5c9f,writeFile as _0xd56076}from'fs/promises';import{homedir as _0x5a2669}from'os';import{join as _0x40543a}from'path';function _0x23883c(_0x4dab17={}){const _0x44d0b3=_0xa6e1,_0x3e7e33=_0x4dab17['env']??process.env,_0x3b7865=_0x4dab17['home']??_0x5a2669(),_0x327b5a=_0x3e7e33[_0x44d0b3(0x54b)]??'';if(_0x327b5a[_0x44d0b3(0x25c)](_0x44d0b3(0x1a7)))return{'path':_0x40543a(_0x3b7865,_0x44d0b3(0x472)),'shell':'bash'};return{'path':_0x40543a(_0x3b7865,'.zshrc'),'shell':_0x44d0b3(0x579)};}async function _0x55a421(_0x4afd52={}){const _0x2f41bd=_0xa6e1,_0x42e07f=_0x4afd52['target']??_0x23883c({'env':_0x4afd52[_0x2f41bd(0x16c)],'home':_0x4afd52['home']}),_0x2f0fed=_0x4afd52['readFile']??(_0x4b5492=>_0x5e5c9f(_0x4b5492,'utf-8')),_0x1c8e07=_0x4afd52[_0x2f41bd(0x2bc)]??((_0x5c05e7,_0x5d960c)=>_0xd56076(_0x5c05e7,_0x5d960c,'utf-8'));let _0x50fa7d;try{_0x50fa7d=await _0x2f0fed(_0x42e07f['path']);}catch{return{'status':'no-profile','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f['shell']};}const _0x41c0f2=_0x50fa7d[_0x2f41bd(0x368)](_0x4c02f5);if(_0x41c0f2===-0x1)return{'status':'already-reverted','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f[_0x2f41bd(0x451)]};const _0x1189be=_0x50fa7d['indexOf'](_0x29441d,_0x41c0f2);if(_0x1189be===-0x1)return{'status':'already-reverted','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f['shell']};const _0x2310e6=_0x1189be+_0x29441d['length'],_0x5a12e1=_0x50fa7d[_0x2310e6]==='\x0a'?_0x2310e6+0x1:_0x2310e6,_0x56d925=_0x50fa7d['slice'](_0x41c0f2,_0x5a12e1),_0x1a2996=_0x56d925[_0x2f41bd(0x382)](/export\s+CERAPH_SIGNAL_HOST=(\S+)/),_0x422861=_0x1a2996?_0x1a2996[0x1]:null;let _0xf3a286=_0x41c0f2;_0xf3a286>=0x1&&_0x50fa7d[_0xf3a286-0x1]==='\x0a'&&(_0xf3a286>=0x2&&_0x50fa7d[_0xf3a286-0x2]==='\x0a'&&(_0xf3a286-=0x1));const _0x86f982=_0x50fa7d[_0x2f41bd(0x554)](0x0,_0xf3a286)+_0x50fa7d['slice'](_0x5a12e1);return await _0x1c8e07(_0x42e07f[_0x2f41bd(0x1e5)],_0x86f982),{'status':'reverted','path':_0x42e07f[_0x2f41bd(0x1e5)],'shell':_0x42e07f['shell'],'removedIp':_0x422861};}var _0x4c02f5,_0x29441d,_0x167683=_0x1b53f6({'src/uninstall/revert-signal-host-env.ts'(){'use strict';const _0x4848c2=_0xa6e1;_0x4c02f5='#\x20Ceraph\x20signal\x20host\x20—\x20auto-set\x20by\x20@ceraph/react-native-mcp\x20init',_0x29441d=_0x4848c2(0x242);}});import{rm as _0x4ee0bb,readdir as _0x1f45e3,stat as _0x5ead7f}from'fs/promises';import{join as _0x43206d}from'path';async function _0x1a0641(_0x20b6ee,_0x3af9af){const _0x4db381=_0xa6e1;try{if('qFNLx'===_0x4db381(0x325)){const _0x4253fe=await _0x3af9af(_0x20b6ee);return _0x4253fe[_0x4db381(0x330)]();}else _0x2b7095=_0x2c7d93[_0x45893f+0x1];}catch{return![];}}async function _0x5b59da(_0x39669f,_0x55b1f7={}){const _0x22d188=_0xa6e1,_0x159168=_0x43206d(_0x39669f['projectDir'],_0x22d188(0x454)),_0x2b91ea=_0x55b1f7['rm']??((_0x8a7d6a,_0x1d6fd4)=>_0x4ee0bb(_0x8a7d6a,_0x1d6fd4)),_0x3fb965=_0x55b1f7[_0x22d188(0x25a)]??(_0x3e7a92=>_0x1f45e3(_0x3e7a92)),_0x2bdb6c=_0x55b1f7[_0x22d188(0x2fb)]??(_0x4b7d08=>_0x5ead7f(_0x4b7d08)),_0x1a1eec=await _0x1a0641(_0x159168,_0x2bdb6c);if(!_0x1a1eec)return{'status':_0x22d188(0x3fe),'path':_0x159168};let _0x4dde26=[];try{_0x4dde26=await _0x3fb965(_0x159168);}catch{_0x4dde26=[];}_0x4dde26[_0x22d188(0x192)]();if(!_0x39669f[_0x22d188(0x47b)])return{'status':_0x22d188(0x17b),'path':_0x159168,'paths':_0x4dde26['map'](_0x34b5ff=>_0x43206d(_0x159168,_0x34b5ff))};return await _0x2b91ea(_0x159168,{'recursive':!![],'force':!![]}),{'status':'deleted','path':_0x159168,'deletedEntries':_0x4dde26};}var _0x3ecc48=_0x1b53f6({'src/uninstall/revert-ceraph-dir.ts'(){'use strict';}});import{rmdir,unlink as _0x4a09ee}from'fs/promises';import{homedir as _0x18e92a}from'os';import{dirname as _0x4dcd99,join as _0x3b950e}from'path';function _0x534d01(_0x16a9d8={}){const _0x149cf3=_0xa6e1;return _0x3b950e(_0x16a9d8['home']??_0x18e92a(),_0x149cf3(0x454),'auth.json');}async function _0x507b90(_0x50d887,_0x73c526={}){const _0x1d94f5=_0xa6e1,_0x44e94e=_0x534d01({'home':_0x73c526['home']}),_0x533e3f=_0x73c526[_0x1d94f5(0x1c5)]??(_0x3a5650=>_0x4a09ee(_0x3a5650));if(!_0x50d887[_0x1d94f5(0x3d1)])return{'status':_0x1d94f5(0x1a6),'path':_0x44e94e,'note':_0x1d94f5(0x592)};const _0x4876fc=_0x73c526['rmdir']??(_0x262fb7=>rmdir(_0x262fb7));try{await _0x533e3f(_0x44e94e);try{await _0x4876fc(_0x4dcd99(_0x44e94e));}catch{}return{'status':'deleted','path':_0x44e94e};}catch(_0x23c198){const _0x44360e=typeof _0x23c198===_0x1d94f5(0x2d2)&&_0x23c198!==null&&_0x1d94f5(0x359)in _0x23c198&&_0x23c198[_0x1d94f5(0x359)]==='ENOENT';if(_0x44360e){try{await _0x4876fc(_0x4dcd99(_0x44e94e));}catch{}return{'status':_0x1d94f5(0x3fe),'path':_0x44e94e};}throw _0x23c198;}}var _0x140b62=_0x1b53f6({'src/uninstall/revert-auth.ts'(){'use strict';}});import{readFile as _0x48a03f,writeFile as _0x3723f7,unlink as _0x222a77}from'fs/promises';import{join as _0x6ec1dc}from'path';import{Project as _0x5e55cf,SyntaxKind as _0x28cb29}from'ts-morph';async function _0x1a60ed(_0x3a916f){const _0xcd9769=_0xa6e1,_0x113e16=_0x3a916f['readFile']??(_0x4c31f4=>_0x48a03f(_0x4c31f4,'utf-8')),_0x5ef661=_0x3a916f['writeFile']??((_0x42e9bd,_0x81524d)=>_0x3723f7(_0x42e9bd,_0x81524d,'utf-8')),_0x4510b5=_0x3a916f['unlink']??(_0xcb5c61=>_0x222a77(_0xcb5c61));let _0x35fec7,_0x5deda0;for(const _0x2ad6f9 of _0x323fce){if(_0xcd9769(0x185)!==_0xcd9769(0x499)){const _0x222653=_0x6ec1dc(_0x3a916f[_0xcd9769(0x54c)],_0x2ad6f9);try{_0x5deda0=await _0x113e16(_0x222653),_0x35fec7=_0x222653;break;}catch{}}else{_0x1b6fda[_0xcd9769(0x31a)]=0xcc,_0x368435['end']();return;}}if(!_0x35fec7||_0x5deda0===void 0x0)return{'status':_0xcd9769(0x37f)};if(!_0x5deda0[_0xcd9769(0x3bb)](_0xe3b707)){if('ZPyMa'==='ZPyMa')return{'status':'already-reverted','path':_0x35fec7};else{const _0x3b144e=[_0x2169bd,_0x4ecf27];return _0x2cc2df[_0xcd9769(0x541)]=_0x3b144e,{'action':_0xcd9769(0x45f),'scheme':_0x3b144e,'previousScheme':_0x4f40c1,'nextScheme':_0x3b144e};}}if(_0x245443[_0xcd9769(0x3bb)](_0x5deda0))return await _0x4510b5(_0x35fec7),{'status':'reverted','path':_0x35fec7,'action':'deleted'};const _0x81ff1e=new _0x5e55cf({'useInMemoryFileSystem':!![]}),_0x5914a5=_0x81ff1e[_0xcd9769(0x1f8)]('babel.config.js',_0x5deda0);let _0x4d95e1=![];_0x5914a5[_0xcd9769(0x568)](_0x29366=>{const _0x1f6010=_0xcd9769;if(_0x4d95e1)return;if(_0x29366['getKind']()!==_0x28cb29['ArrayLiteralExpression'])return;const _0x49a0a2=_0x29366,_0x968b74=_0x49a0a2[_0x1f6010(0x25f)]();for(let _0x131bae=0x0;_0x131bae<_0x968b74[_0x1f6010(0x358)];_0x131bae++){if(_0x968b74[_0x131bae][_0x1f6010(0x424)]()[_0x1f6010(0x3bb)](_0xe3b707)){_0x49a0a2[_0x1f6010(0x2eb)](_0x131bae),_0x4d95e1=!![];break;}}});if(!_0x4d95e1)return{'status':_0xcd9769(0x3fe),'path':_0x35fec7};return await _0x5ef661(_0x35fec7,_0x5914a5['getFullText']()),{'status':_0xcd9769(0x16e),'path':_0x35fec7,'action':_0xcd9769(0x32f)};}var _0x245443,_0x2cb360=_0x1b53f6({'src/uninstall/revert-babel-config.ts'(){'use strict';const _0x3b0040=_0xa6e1;_0x3ea95e(),_0x245443=[_0x66f259(_0x3b0040(0x433)),_0x66f259(_0x3b0040(0x436))];}});import{readFile as _0x3613ff,writeFile as _0x502637,access as _0x1a042a}from'fs/promises';import{join as _0x389376}from'path';async function _0xf0a849(_0xd09f84){try{return await _0x1a042a(_0xd09f84),!![];}catch{return![];}}function _0x4bc512(_0x13f7c1){const _0x3f4528=_0xa6e1;if(!_0x13f7c1['expo']||typeof _0x13f7c1['expo']!=='object')return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};const _0x55faf0=_0x13f7c1[_0x3f4528(0x467)],_0x6ede2e=_0x55faf0[_0x3f4528(0x541)];if(typeof _0x6ede2e===_0x3f4528(0x2c6)){if(_0x6ede2e===_0x327815)return delete _0x55faf0['scheme'],{'changed':!![],'previousScheme':_0x6ede2e,'nextScheme':void 0x0};return{'changed':![],'previousScheme':_0x6ede2e,'nextScheme':_0x6ede2e};}if(Array['isArray'](_0x6ede2e)){const _0x5deb31=_0x6ede2e[_0x3f4528(0x3bb)](_0x327815);if(!_0x5deb31)return{'changed':![],'previousScheme':[..._0x6ede2e],'nextScheme':[..._0x6ede2e]};const _0xf97668=_0x6ede2e[_0x3f4528(0x422)](_0x21630d=>_0x21630d!==_0x327815),_0x456f8c=[..._0x6ede2e];if(_0xf97668['length']===0x0)return delete _0x55faf0['scheme'],{'changed':!![],'previousScheme':_0x456f8c,'nextScheme':void 0x0};if(_0xf97668[_0x3f4528(0x358)]===0x1)return _0x55faf0['scheme']=_0xf97668[0x0],{'changed':!![],'previousScheme':_0x456f8c,'nextScheme':_0xf97668[0x0]};return _0x55faf0['scheme']=_0xf97668,{'changed':!![],'previousScheme':_0x456f8c,'nextScheme':_0xf97668};}return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};}function _0x462386(_0x385655){const _0x556359=_0xa6e1;try{const _0x16f0d6=JSON[_0x556359(0x2ee)](_0x385655);if(!_0x16f0d6||typeof _0x16f0d6!=='object'||Array['isArray'](_0x16f0d6))return null;return _0x16f0d6;}catch{return null;}}function _0xe5e6b8(_0x1e4a21,_0x2f38c8){const _0x59bda9=_0xa6e1,_0x26c299=_0x2f38c8['match'](/\n(\s+)"/),_0x120c5d=_0x26c299?.[0x1]??'\x20\x20',_0x58ede5=_0x2f38c8['endsWith']('\x0a'),_0x530bfa=JSON[_0x59bda9(0x278)](_0x1e4a21,null,_0x120c5d);return _0x58ede5?_0x530bfa+'\x0a':_0x530bfa;}function _0x117c0d(_0x2802b4){const _0x5e4c59=_0xa6e1;return'Your\x20project\x20uses\x20'+_0x2802b4+_0x5e4c59(0x194);}async function _0x307a71(_0xe326e5,_0x35a44c={}){const _0x5de32d=_0xa6e1,_0x144a63=_0x35a44c[_0x5de32d(0x266)]??_0xf0a849,_0x2e7fcf=_0x35a44c[_0x5de32d(0x529)]??(_0x2cdb05=>_0x3613ff(_0x2cdb05,_0x5de32d(0x2fd))),_0x5b04ae=_0x35a44c[_0x5de32d(0x2bc)]??((_0x5dbbb4,_0x46e9c8)=>_0x502637(_0x5dbbb4,_0x46e9c8,_0x5de32d(0x2fd))),_0x1f9c44=_0x389376(_0xe326e5,'app.json'),_0x37ee6f=_0x389376(_0xe326e5,'app.config.js'),_0x7c85db=_0x389376(_0xe326e5,_0x5de32d(0x3a5)),_0x5baa22=_0x389376(_0xe326e5,_0x5de32d(0x331)),_0x2ce001=_0x389376(_0xe326e5,'android'),_0x37668a=await _0x144a63(_0x37ee6f),_0x1fd399=await _0x144a63(_0x7c85db);if(_0x37668a||_0x1fd399){const _0x4afa4a=_0x1fd399?_0x7c85db:_0x37ee6f;return{'status':'manual','kind':_0x5de32d(0x2ae),'path':_0x4afa4a,'remediation':_0x117c0d(_0x4afa4a)};}if(await _0x144a63(_0x1f9c44)){const _0xc047=await _0x2e7fcf(_0x1f9c44),_0x3ea856=_0x462386(_0xc047);if(!_0x3ea856){if('XCHtV'==='DAAsJ'){if(_0x440d30(_0x3559f7))return![];if(_0x2400ef['isArrowFunction'](_0x141fbb)){const _0x2a6b79=_0x496f31[_0x5de32d(0x408)]();if(!_0xb0eaeb[_0x5de32d(0x336)](_0x2a6b79)){const _0x173b89=_0x2a6b79['getText']();_0x2a6b79['replaceWithText'](_0x5de32d(0x165)+_0x173b89+_0x5de32d(0x2a9));}}const _0x456637=_0x485df4['getBody']();if(!_0x456637||!_0x495f52['isBlock'](_0x456637))return![];return _0x456637[_0x5de32d(0x3a3)](0x0,'useEffect(()\x20=>\x20{\x20'+_0x25a66d(_0x5467b1)+_0x5de32d(0x2a8)),!![];}else return{'status':_0x5de32d(0x3fe),'path':_0x1f9c44};}const {changed:_0x5cdd4f,previousScheme:_0x4604ce,nextScheme:_0x55502e}=_0x4bc512(_0x3ea856);if(!_0x5cdd4f)return{'status':_0x5de32d(0x3fe),'path':_0x1f9c44};return await _0x5b04ae(_0x1f9c44,_0xe5e6b8(_0x3ea856,_0xc047)),{'status':'reverted','path':_0x1f9c44,'previousScheme':_0x4604ce,'nextScheme':_0x55502e};}if(await _0x144a63(_0x5baa22)||await _0x144a63(_0x2ce001)){if('GNEPR'==='Gnktq')_0x3821bc+=_0x46d18c[_0x5de32d(0x360)]();else return{'status':_0x5de32d(0x466),'kind':'bare-rn','remediation':_0xfed568};}return{'status':_0x5de32d(0x563)};}var _0x327815,_0xfed568,_0x133df7=_0x1b53f6({'src/uninstall/revert-scheme.ts'(){'use strict';const _0x5ed23b=_0xa6e1;_0x327815='ceraph',_0xfed568=_0x5ed23b(0x2db);}});import{access as _0xa18fca,readFile as _0x2f3ff6,unlink as _0x307092}from'fs/promises';import{join as _0x3832c2}from'path';async function _0xfb6f5a(_0x553e84){try{return await _0xa18fca(_0x553e84),!![];}catch{return![];}}async function _0x10a8bd(_0x3b9ddb,_0x56265f={}){const _0x3befe2=_0xa6e1,_0x4a0079=_0x56265f[_0x3befe2(0x529)]??(_0xf66ed5=>_0x2f3ff6(_0xf66ed5,_0x3befe2(0x2fd))),_0x5edb7f=_0x56265f[_0x3befe2(0x2bc)]??_0x20d51c,_0x480824=_0x56265f['unlink']??(_0xf9477c=>_0x307092(_0xf9477c)),_0x4d371f=_0x56265f[_0x3befe2(0x266)]??_0xfb6f5a,_0x5dfdcb=[{'scriptAbsPath':_0x3832c2(_0x3b9ddb['projectDir'],..._0x4ce409),'canonicalScript':_0x2de720,'matcher':_0x238715,'command':_0x27669c},{'scriptAbsPath':_0x3832c2(_0x3b9ddb['projectDir'],..._0x139e50),'canonicalScript':_0x54f58f,'matcher':_0x372ba8,'command':_0x34c1ae}],_0x2fb372=[],_0x2c5849=[];for(const _0x5422d9 of _0x5dfdcb){if(!await _0x4d371f(_0x5422d9['scriptAbsPath']))continue;let _0xf8131d;try{_0xf8131d=await _0x4a0079(_0x5422d9[_0x3befe2(0x4bf)]);}catch{_0x2c5849['push'](_0x5422d9['scriptAbsPath']);continue;}_0xf8131d===_0x5422d9['canonicalScript']?(await _0x480824(_0x5422d9['scriptAbsPath']),_0x2fb372[_0x3befe2(0x407)](_0x5422d9[_0x3befe2(0x4bf)])):_0x2c5849[_0x3befe2(0x407)](_0x5422d9[_0x3befe2(0x4bf)]);}const _0x3e045d=[],_0x364bcd=[];for(const _0x5481b9 of _0x1d6b36){const _0x1649ea=_0x3832c2(_0x3b9ddb[_0x3befe2(0x54c)],..._0x5481b9);if(!await _0x4d371f(_0x1649ea))continue;let _0x5901f7;try{_0x5901f7=await _0x4a0079(_0x1649ea);}catch{_0x364bcd['push'](_0x1649ea);continue;}let _0x5ed208;try{_0x5ed208=JSON['parse'](_0x5901f7);}catch{_0x364bcd[_0x3befe2(0x407)](_0x1649ea);continue;}if(!_0x5ed208||typeof _0x5ed208!=='object'||Array[_0x3befe2(0x310)](_0x5ed208)){_0x364bcd[_0x3befe2(0x407)](_0x1649ea);continue;}const _0x48bd6f=_0x113590(_0x5ed208,_0x5dfdcb);if(!_0x48bd6f['mutated']){_0x364bcd['push'](_0x1649ea);continue;}const _0xf074a9=_0x5901f7[_0x3befe2(0x382)](/\n(\s+)"/),_0x421f67=_0xf074a9?.[0x1]??'\x20\x20',_0x3a687c=_0x5901f7[_0x3befe2(0x25c)]('\x0a'),_0x1cf89d=JSON[_0x3befe2(0x278)](_0x48bd6f[_0x3befe2(0x20c)],null,_0x421f67);await _0x5edb7f(_0x1649ea,_0x3a687c?_0x1cf89d+'\x0a':_0x1cf89d),_0x3e045d['push'](_0x1649ea);}const _0x128087=_0x2fb372['length']>0x0||_0x3e045d['length']>0x0;let _0x28051d;if(_0x2c5849[_0x3befe2(0x358)]>0x0)_0x28051d=_0x3befe2(0x466);else _0x128087?_0x28051d='reverted':_0x28051d=_0x3befe2(0x3fe);return{'status':_0x28051d,'details':{'scriptsDeleted':_0x2fb372,'scriptsLeftAlone':_0x2c5849,'settingsFilesModified':_0x3e045d,'settingsFilesUntouched':_0x364bcd}};}function _0x113590(_0x12ff2a,_0xcc087a){const _0x39b86a=_0xa6e1,_0x15f37e=_0x12ff2a['hooks'];if(!_0x15f37e||typeof _0x15f37e!==_0x39b86a(0x2d2)||Array['isArray'](_0x15f37e))return{'mutated':![],'next':_0x12ff2a};const _0x56f93c=_0x15f37e,_0x2c4e8b=_0x56f93c['FileChanged'];if(!Array['isArray'](_0x2c4e8b)){if(_0x39b86a(0x3df)!==_0x39b86a(0x49d))return{'mutated':![],'next':_0x12ff2a};else _0x2fd2bd=![],_0x56d310='WDA\x20unreachable\x20and\x20no\x20iOS\x20device\x20detected\x20—\x20cannot\x20auto-bridge.',_0xbe438b=_0x39b86a(0x4c7);}const _0x55197e=new Map();for(const _0x470202 of _0xcc087a)_0x55197e[_0x39b86a(0x293)](_0x470202[_0x39b86a(0x1c9)],_0x470202);const _0x35e974=[];let _0x2f5c01=![];for(const _0x25a2e8 of _0x2c4e8b){if(!_0x25a2e8||typeof _0x25a2e8!=='object'||Array['isArray'](_0x25a2e8)){_0x35e974['push'](_0x25a2e8);continue;}const _0x403b48=_0x25a2e8,_0x107f63=_0x403b48[_0x39b86a(0x1c9)];if(typeof _0x107f63!=='string'){_0x35e974[_0x39b86a(0x407)](_0x25a2e8);continue;}const _0x4de3e5=_0x55197e[_0x39b86a(0x3a8)](_0x107f63);if(!_0x4de3e5){_0x35e974[_0x39b86a(0x407)](_0x25a2e8);continue;}const _0x5d9aea=_0x403b48['hooks'];if(!Array['isArray'](_0x5d9aea)){_0x35e974[_0x39b86a(0x407)](_0x25a2e8);continue;}const _0x27b06a=[];let _0x349690=![];for(const _0x234b58 of _0x5d9aea){if('ZObts'===_0x39b86a(0x257))_0x38dbf5=_0x28130e['ok'];else{if(!_0x234b58||typeof _0x234b58!=='object'||Array['isArray'](_0x234b58)){_0x27b06a['push'](_0x234b58);continue;}const _0x12560d=_0x234b58,_0x28028e=_0x12560d['command'];if(typeof _0x28028e==='string'&&_0x28028e===_0x4de3e5[_0x39b86a(0x3ab)]){_0x349690=!![];continue;}_0x27b06a['push'](_0x234b58);}}if(!_0x349690){if(_0x39b86a(0x2ff)==='JbYVv'){_0x35e974['push'](_0x25a2e8);continue;}else return this[_0x39b86a(0x440)](_0x5bafb2,_0x190979);}_0x2f5c01=!![];if(_0x27b06a[_0x39b86a(0x358)]===0x0)continue;_0x35e974['push']({..._0x403b48,'hooks':_0x27b06a});}if(!_0x2f5c01)return{'mutated':![],'next':_0x12ff2a};const _0x206b7b={..._0x56f93c};_0x35e974[_0x39b86a(0x358)]===0x0?delete _0x206b7b[_0x39b86a(0x533)]:_0x206b7b['FileChanged']=_0x35e974;const _0x5238a7={..._0x12ff2a};return Object['keys'](_0x206b7b)[_0x39b86a(0x358)]===0x0?delete _0x5238a7['hooks']:_0x5238a7[_0x39b86a(0x19f)]=_0x206b7b,{'mutated':!![],'next':_0x5238a7};}var _0x4ccfc8=_0x1b53f6({'src/uninstall/revert-claude-hooks.ts'(){'use strict';_0x5e9a70(),_0x485e76();}});import{readFile as _0x35bcac,writeFile as _0xeed32b}from'fs/promises';import{join as _0x520f34}from'path';async function _0x5e3124(){if(_0xa09b48)return;const _0x1f1594=await import('ts-morph');({IndentationText:_0x37edea,Node:_0x2549e7,Project:_0x2abf85,SyntaxKind:_0x43948e}=_0x1f1594,_0xa09b48=!![]);}async function _0x41a763(_0x1dc24d){try{return await _0x35bcac(_0x1dc24d,'utf-8'),!![];}catch{return![];}}async function _0x12b52c(_0x3aeec7){const _0xce844d=_0xa6e1,_0x27d12b=_0x520f34(_0x3aeec7,'app','_layout.tsx');if(await _0x41a763(_0x27d12b))return{'kind':'expo-router','filePath':_0x27d12b};const _0x53a44f=_0x520f34(_0x3aeec7,_0xce844d(0x38e),_0xce844d(0x1d4));if(await _0x41a763(_0x53a44f))return{'kind':'expo-router','filePath':_0x53a44f};for(const _0x38c2cf of[_0xce844d(0x3f5),'App.jsx']){const _0x51d41a=_0x520f34(_0x3aeec7,_0x38c2cf);if(await _0x41a763(_0x51d41a))return{'kind':'bare-rn','filePath':_0x51d41a};}return null;}function _0x48137b(_0x3806da){const _0x4d4de3=_0xa6e1;for(const _0x3a56a7 of _0x3806da['getFunctions']()){if(_0x3a56a7[_0x4d4de3(0x4f1)]())return _0x3a56a7;}const _0x407425=_0x3806da['getStatements']()[_0x4d4de3(0x320)](_0x235b31=>_0x2549e7[_0x4d4de3(0x463)](_0x235b31));if(_0x407425&&_0x2549e7[_0x4d4de3(0x463)](_0x407425)){const _0xad14bd=_0x407425['getExpression']();if(_0x2549e7['isIdentifier'](_0xad14bd)){const _0x528058=_0xad14bd[_0x4d4de3(0x292)]();if(_0x528058){const _0x4c9b71=_0x528058[_0x4d4de3(0x43f)]()[0x0];if(_0x4c9b71&&_0x2549e7[_0x4d4de3(0x307)](_0x4c9b71)){if('zWSjy'==='ULHpE'){const _0xb78aad=_0x4ce4b4[_0x4d4de3(0x1cb)]();if(_0x140ef4['isIdentifier'](_0xb78aad)&&_0xb78aad[_0x4d4de3(0x424)]()===_0x5add86){if(_0x30dad===null)_0x466fb9=_0x17b36b;_0x5af5d4['getArguments']()[_0x4d4de3(0x358)]===0x0&&(_0x2a26c7=_0x38bf6f,_0x2f1e56[_0x4d4de3(0x28d)]());}}else{const _0x147aeb=_0x4c9b71[_0x4d4de3(0x341)]();if(_0x147aeb&&_0x2549e7[_0x4d4de3(0x18c)](_0x147aeb))return _0x147aeb;if(_0x147aeb&&_0x2549e7[_0x4d4de3(0x16a)](_0x147aeb))return _0x147aeb;}}}}if(_0x2549e7['isArrowFunction'](_0xad14bd))return _0xad14bd;if(_0x2549e7[_0x4d4de3(0x16a)](_0xad14bd))return _0xad14bd;}return null;}function _0x50a625(_0x12e727){const _0x2c5be1=_0xa6e1;if(_0x2549e7['isExpressionStatement'](_0x12e727)){if(_0x2c5be1(0x2d6)!=='KCgAW'){const _0x51da81=_0x12e727[_0x2c5be1(0x1cb)]();if(_0x2549e7['isCallExpression'](_0x51da81)){if('PYzoJ'===_0x2c5be1(0x3b1))return null;else{const _0x2419fd=_0x51da81[_0x2c5be1(0x1cb)]();if(_0x2549e7[_0x2c5be1(0x3de)](_0x2419fd)&&_0x2419fd[_0x2c5be1(0x424)]()===_0x38fcbd)return!![];}}}else _0x578d7c='reverted';}return![];}function _0x1a5ba5(_0x51dc71){const _0x170811=_0xa6e1,_0x145c42=_0x51dc71[_0x170811(0x445)]();if(_0x145c42[_0x170811(0x358)]===0x0)return _0x170811(0x253);const _0x52d691=_0x145c42[0x0];let _0x231156=null;if(_0x2549e7[_0x170811(0x18c)](_0x52d691)||_0x2549e7['isFunctionExpression'](_0x52d691)){const _0x2b5f49=_0x52d691[_0x170811(0x408)]();if(_0x2549e7[_0x170811(0x336)](_0x2b5f49))_0x231156=_0x2b5f49;else{if(_0x2549e7[_0x170811(0x58d)](_0x2b5f49)){const _0x1c674a=_0x2b5f49['getExpression']();if(_0x2549e7['isIdentifier'](_0x1c674a)&&_0x1c674a[_0x170811(0x424)]()===_0x38fcbd)return'installCeraph-only';}return _0x170811(0x253);}}else return'unrelated';if(!_0x231156)return'unrelated';const _0x361f96=_0x231156['getStatements']();if(_0x361f96[_0x170811(0x358)]===0x0)return'unrelated';let _0x3c6025=![],_0x836e1f=![];for(const _0x2d2e83 of _0x361f96){if(_0x50a625(_0x2d2e83))_0x3c6025=!![];else{if('EPMrN'!=='HmeNN')_0x836e1f=!![];else return _0x4d8ffe;}}if(!_0x3c6025)return'unrelated';return _0x836e1f?_0x170811(0x170):_0x170811(0x1d1);}function _0x3fddd2(_0x3dea37){const _0x235531=_0xa6e1,_0x43e854=_0x3dea37['getBody']();if(!_0x43e854||!_0x2549e7[_0x235531(0x336)](_0x43e854))return[];const _0x17753d=[];return _0x43e854['forEachDescendant'](_0x14b707=>{const _0x579621=_0x235531;if(_0x2549e7['isCallExpression'](_0x14b707)){const _0xce6f49=_0x14b707['getExpression']();_0x2549e7['isIdentifier'](_0xce6f49)&&_0xce6f49['getText']()===_0x579621(0x4cb)&&_0x17753d['push'](_0x14b707);}}),_0x17753d;}function _0x696e58(_0x473f4b){const _0x44a339=_0xa6e1,_0x4f1e39=_0x473f4b['getImportDeclaration']('react');if(!_0x4f1e39)return![];const _0xcde771=_0x4f1e39[_0x44a339(0x46b)](),_0x179cb6=_0xcde771['find'](_0x299174=>_0x299174['getName']()===_0x44a339(0x4cb));if(!_0x179cb6)return![];const _0x5d0fd4=_0x179cb6['getAliasNode']();if(_0x5d0fd4)return![];let _0x1ac0cb=![];_0x473f4b['forEachDescendant'](_0x27a8fb=>{const _0x43fe66=_0x44a339;if(_0x1ac0cb)return;if(_0x2549e7[_0x43fe66(0x3de)](_0x27a8fb)&&_0x27a8fb[_0x43fe66(0x424)]()===_0x43fe66(0x4cb)){const _0x323f04=_0x27a8fb[_0x43fe66(0x50d)]();if(_0x323f04&&(_0x2549e7['isImportSpecifier'](_0x323f04)||_0x2549e7['isImportClause'](_0x323f04)))return;_0x1ac0cb=!![];}});if(_0x1ac0cb)return![];_0x179cb6[_0x44a339(0x375)]();const _0x291f31=_0x4f1e39[_0x44a339(0x46b)](),_0x4cc048=_0x4f1e39[_0x44a339(0x43b)]()!=null,_0x875fe=_0x4f1e39['getNamespaceImport']()!=null;return _0x291f31['length']===0x0&&!_0x4cc048&&!_0x875fe&&_0x4f1e39[_0x44a339(0x375)](),!![];}function _0x2b9fba(_0x2437db){const _0x1ad4d9=_0xa6e1,_0x195393=_0x2437db['getImportDeclaration'](_0x39ca53);if(!_0x195393)return![];const _0x59a823=_0x195393['getNamedImports'](),_0x4f6375=_0x59a823['find'](_0x532cc5=>_0x532cc5[_0x1ad4d9(0x1ff)]()===_0x38fcbd);if(!_0x4f6375)return![];_0x4f6375[_0x1ad4d9(0x375)]();const _0x30517d=_0x195393['getNamedImports'](),_0x51300b=_0x195393['getDefaultImport']()!=null;return _0x30517d[_0x1ad4d9(0x358)]===0x0&&!_0x51300b&&_0x195393['remove'](),!![];}async function _0x3d3bfb(_0x5e9607){const _0x409786=_0xa6e1;await _0x5e3124();const _0x28fe81=await _0x12b52c(_0x5e9607);if(!_0x28fe81)return{'status':'no-layout-found'};const _0x4bf854=new _0x2abf85({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x37edea[_0x409786(0x256)]}}),_0x152898=_0x4bf854[_0x409786(0x16f)](_0x28fe81['filePath']),_0x4bb515=_0x48137b(_0x152898);if(!_0x4bb515){const _0x10a49a=_0x2b9fba(_0x152898);if(_0x10a49a)return await _0xeed32b(_0x28fe81['filePath'],_0x152898[_0x409786(0x2f4)](),'utf-8'),{'status':'reverted','target':_0x28fe81,'removedUseEffect':![],'removedImport':!![]};return{'status':'already-reverted','target':_0x28fe81};}const _0x5b6477=_0x3fddd2(_0x4bb515),_0x567591=_0x5b6477[_0x409786(0x471)](_0xb5fac6=>({'call':_0xb5fac6,'kind':_0x1a5ba5(_0xb5fac6)})),_0x3ad999=_0x567591['filter'](_0xc24bfc=>_0xc24bfc['kind']===_0x409786(0x1d1)),_0x2fed73=_0x567591['filter'](_0x1cd994=>_0x1cd994[_0x409786(0x15f)]==='installCeraph-with-others');if(_0x2fed73[_0x409786(0x358)]>0x0)return{'status':_0x409786(0x1a6),'target':_0x28fe81,'reason':_0x409786(0x497)};let _0x37cf3c=![];for(const _0x242f89 of _0x3ad999){const _0x468ebf=_0x242f89[_0x409786(0x477)][_0x409786(0x582)](_0x43948e[_0x409786(0x32d)]);_0x468ebf&&(_0x468ebf['remove'](),_0x37cf3c=!![]);}const _0x3af456=_0x2b9fba(_0x152898);if(_0x37cf3c){if(_0x409786(0x3c7)==='fxDCp')'use strict';else _0x696e58(_0x152898);}if(!_0x37cf3c&&!_0x3af456)return{'status':'already-reverted','target':_0x28fe81};return await _0xeed32b(_0x28fe81[_0x409786(0x3e1)],_0x152898['getFullText'](),'utf-8'),{'status':_0x409786(0x16e),'target':_0x28fe81,'removedUseEffect':_0x37cf3c,'removedImport':_0x3af456};}var _0x37edea,_0x2549e7,_0x2abf85,_0x43948e,_0xa09b48,_0x39ca53,_0x38fcbd,_0x4b19cf=_0x1b53f6({'src/uninstall/revert-boot.ts'(){'use strict';const _0x58ed31=_0xa6e1;_0xa09b48=![],_0x39ca53=_0x58ed31(0x2e5),_0x38fcbd=_0x58ed31(0x3e6);}});import{writeFile as _0x3108f2,readdir as _0x524181}from'fs/promises';import{join as _0x42ff98,relative as _0x216449,sep as _0x3f59ae}from'path';async function _0x35b70e(){if(_0x5a8648)return;const _0x301ce0=await import('ts-morph');({IndentationText:_0x3b5e38,Node:_0x42e58d,Project:_0x2fcb04,SyntaxKind:_0x48e6bd}=_0x301ce0,_0x5a8648=!![]);}async function _0x36d3e3(_0xdeeeeb){const _0x4ead44=_0xa6e1,_0x42a70f=[];async function _0x361cd8(_0x1e1c30){const _0x41fcd5=_0xa6e1;if(_0x41fcd5(0x245)!=='DidGl'){let _0x3cbb32;try{_0x3cbb32=await _0x524181(_0x1e1c30,{'withFileTypes':!![]});}catch{if(_0x41fcd5(0x321)!=='hSwbS'){'use strict';_0x4f8631(),_0x4da513(),_0xd64b7='@ceraph/react-native-mcp',_0x393fed=((()=>{const _0x23f36d=_0x41fcd5;try{const _0x406347=_0x161a77(import.meta.url),_0x17ddf6=_0x406347(_0x23f36d(0x414));return _0x17ddf6[_0x23f36d(0x483)]??'0.0.0';}catch{return _0x23f36d(0x1d8);}})()),_0x15a0c1='mcp_servers.react-native-mcp';}else return;}for(const _0x1e6dd of _0x3cbb32){const _0x4176c0=_0x42ff98(_0x1e1c30,_0x1e6dd[_0x41fcd5(0x273)]);if(_0x1e6dd['isDirectory']()){if(_0xdf3b95['has'](_0x1e6dd[_0x41fcd5(0x273)]))continue;await _0x361cd8(_0x4176c0);continue;}if(!_0x1e6dd[_0x41fcd5(0x17d)]())continue;const _0x5c1425=_0x1e6dd[_0x41fcd5(0x273)][_0x41fcd5(0x2b4)]('.');if(_0x5c1425<0x0)continue;const _0x240cc8=_0x1e6dd[_0x41fcd5(0x273)]['slice'](_0x5c1425)[_0x41fcd5(0x55a)]();if(!_0x5807d8[_0x41fcd5(0x3b6)](_0x240cc8))continue;_0x42a70f['push'](_0x4176c0);}}else{'use strict';_0x31d7e5=![],_0x3b5b53='@ceraph/react-native-mcp/shim',_0xba81ac=_0x41fcd5(0x3e6),_0x1094ef=_0x48748f(_0x41fcd5(0x454),'testid-config.json');}}for(const _0x3a9c26 of _0x30e46b){if(_0x4ead44(0x269)!==_0x4ead44(0x269)){const _0x5250c1=_0x38902e[_0x4ead44(0x1cb)]();if(_0x176177[_0x4ead44(0x58d)](_0x5250c1)){const _0xaf4a51=_0x5250c1[_0x4ead44(0x1cb)]();if(_0x359a6c['isIdentifier'](_0xaf4a51)&&_0xaf4a51[_0x4ead44(0x424)]()===_0x1cc24e)return!![];}}else await _0x361cd8(_0x42ff98(_0xdeeeeb,_0x3a9c26));}for(const _0x4b76d7 of['App.tsx',_0x4ead44(0x500)]){_0x42a70f[_0x4ead44(0x407)](_0x42ff98(_0xdeeeeb,_0x4b76d7));}return _0x42a70f;}function _0xfb6a1c(_0x88fa5b){const _0x182468=_0xa6e1,_0x28630e=new _0x2fcb04({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x3b5e38[_0x182468(0x256)]}});for(const _0x110d3f of _0x88fa5b){try{_0x28630e['addSourceFileAtPath'](_0x110d3f);}catch{}}return _0x28630e;}function _0x208d86(_0x21cc4d,_0x4afdc4){const _0x3f47ea=_0xa6e1,_0x3fefd2=[];return _0x21cc4d[_0x3f47ea(0x568)](_0x2c9ff1=>{const _0xb1aa6f=_0x3f47ea;if(_0x42e58d[_0xb1aa6f(0x2fe)](_0x2c9ff1)||_0x42e58d['isJsxSelfClosingElement'](_0x2c9ff1)){const _0x26aff1=_0x2c9ff1['getTagNameNode']();_0x26aff1[_0xb1aa6f(0x424)]()===_0x4afdc4&&_0x3fefd2[_0xb1aa6f(0x407)](_0x2c9ff1);}}),_0x3fefd2;}function _0x2fd34b(_0x43843e){const _0x4a8d59=_0xa6e1,_0x2ebd58=_0x43843e[_0x4a8d59(0x49c)]();for(const _0x5043d8 of _0x2ebd58){if(_0x42e58d[_0x4a8d59(0x23c)](_0x5043d8)){const _0x55bbc8=_0x5043d8[_0x4a8d59(0x3cb)]();_0x55bbc8[_0x4a8d59(0x424)]()==='imageKey'&&_0x5043d8['remove']();}}}function _0x107b8e(_0x1337a2){const _0x23af0c=_0xa6e1;let _0x8077f=0x0,_0x211aa4=Number[_0x23af0c(0x167)];for(let _0x13cbbe=0x0;_0x13cbbe<0x2710;_0x13cbbe++){const _0x4a461b=_0x208d86(_0x1337a2,_0x2d48f0);if(_0x4a461b['length']===0x0)break;if(_0x4a461b[_0x23af0c(0x358)]>=_0x211aa4)break;_0x211aa4=_0x4a461b['length'];const _0x24204f=_0x4a461b[0x0];_0x24204f[_0x23af0c(0x459)]()[_0x23af0c(0x397)](_0xf33cb4);if(_0x42e58d['isJsxOpeningElement'](_0x24204f)){const _0x314da5=_0x24204f['getParentIfKind'](_0x48e6bd[_0x23af0c(0x166)]);if(_0x314da5){const _0x194e6b=_0x314da5[_0x23af0c(0x19c)]();_0x194e6b[_0x23af0c(0x459)]()['replaceWithText'](_0xf33cb4);}}_0x2fd34b(_0x24204f),_0x8077f++;}return _0x8077f;}function _0x4b1a4c(_0x3be90d){const _0x5eed50=_0xa6e1,_0x26507f=_0x3be90d['getImportDeclaration'](_0x35410d);if(!_0x26507f)return![];const _0x5a738d=_0x26507f[_0x5eed50(0x46b)](),_0x24ef21=_0x5a738d['find'](_0x4ce286=>_0x4ce286[_0x5eed50(0x1ff)]()===_0x2d48f0);if(!_0x24ef21)return![];_0x24ef21[_0x5eed50(0x375)]();const _0x441563=_0x26507f[_0x5eed50(0x46b)](),_0xb0c111=_0x26507f['getDefaultImport']()!=null;return _0x441563[_0x5eed50(0x358)]===0x0&&!_0xb0c111&&_0x26507f[_0x5eed50(0x375)](),!![];}function _0x459444(_0x4834ac){const _0x5b8d80=_0xa6e1,_0x2e6f36=_0x4834ac['getImportDeclaration'](_0x237957);if(_0x2e6f36){const _0x41fb29=_0x2e6f36['getNamedImports']();if(_0x41fb29[_0x5b8d80(0x179)](_0x5cf30d=>_0x5cf30d[_0x5b8d80(0x1ff)]()===_0xf33cb4))return![];return _0x2e6f36[_0x5b8d80(0x439)](_0xf33cb4),!![];}return _0x4834ac[_0x5b8d80(0x4cd)]({'moduleSpecifier':_0x237957,'namedImports':[_0xf33cb4]}),!![];}async function _0x10bb04(_0x5e37ed){const _0x357aa3=_0xa6e1;await _0x35b70e();const _0x2c86c0=await _0x36d3e3(_0x5e37ed),_0x1c8390=_0xfb6a1c(_0x2c86c0),_0x53dc63=[];let _0xbf8d67=0x0;for(const _0x325a03 of _0x1c8390['getSourceFiles']()){if('DQqVG'==='WLyYp')_0x2a08e6[_0x357aa3(0x492)]('\x20\x20'+_0x5ed76b);else{_0xbf8d67++;const _0x2c65f6=_0x208d86(_0x325a03,_0x2d48f0);if(_0x2c65f6['length']===0x0){const _0x1adbb1=_0x325a03['getImportDeclaration'](_0x35410d),_0x1c828d=_0x1adbb1!=null&&_0x1adbb1[_0x357aa3(0x46b)]()[_0x357aa3(0x179)](_0x25cd0e=>_0x25cd0e['getName']()===_0x2d48f0);if(!_0x1c828d)continue;const _0x1c26a2=_0x4b1a4c(_0x325a03);if(!_0x1c26a2)continue;const _0x3e8aa9=_0x325a03[_0x357aa3(0x52a)]();await _0x3108f2(_0x3e8aa9,_0x325a03[_0x357aa3(0x2f4)](),_0x357aa3(0x2fd)),_0x53dc63['push']({'path':_0x3e8aa9,'relPath':_0x216449(_0x5e37ed,_0x3e8aa9)['split'](_0x3f59ae)[_0x357aa3(0x3c0)]('/'),'ceraphCamerasRemoved':0x0,'importDropped':!![],'importRestored':![]});continue;}const _0x1ce82c=_0x107b8e(_0x325a03),_0x24daa4=_0x208d86(_0x325a03,_0x2d48f0),_0x15ebb4=_0x24daa4['length']===0x0?_0x4b1a4c(_0x325a03):![],_0xdecc09=_0x208d86(_0x325a03,_0xf33cb4)['length']>0x0,_0x15b9a1=_0xdecc09?_0x459444(_0x325a03):![],_0x2d07f1=_0x325a03['getFilePath']();await _0x3108f2(_0x2d07f1,_0x325a03['getFullText'](),_0x357aa3(0x2fd)),_0x53dc63['push']({'path':_0x2d07f1,'relPath':_0x216449(_0x5e37ed,_0x2d07f1)['split'](_0x3f59ae)[_0x357aa3(0x3c0)]('/'),'ceraphCamerasRemoved':_0x1ce82c,'importDropped':_0x15ebb4,'importRestored':_0x15b9a1});}}return{'files':_0x53dc63,'filesScanned':_0xbf8d67};}var _0x3b5e38,_0x42e58d,_0x2fcb04,_0x48e6bd,_0x5a8648,_0x35410d,_0x2d48f0,_0x237957,_0xf33cb4,_0x30e46b,_0x5807d8,_0xdf3b95,_0x47835d=_0x1b53f6({'src/uninstall/revert-camera.ts'(){'use strict';const _0x4c5f76=_0xa6e1;_0x5a8648=![],_0x35410d=_0x4c5f76(0x2e5),_0x2d48f0=_0x4c5f76(0x53f),_0x237957=_0x4c5f76(0x395),_0xf33cb4=_0x4c5f76(0x3c6),_0x30e46b=['app','src','screens'],_0x5807d8=new Set(['.tsx',_0x4c5f76(0x3f0)]),_0xdf3b95=new Set(['node_modules',_0x4c5f76(0x20e),_0x4c5f76(0x37a),_0x4c5f76(0x35c),_0x4c5f76(0x454),'.expo','.next',_0x4c5f76(0x331),'android']);}});import{spawn as _0x560fc6}from'child_process';import{readFile as _0x3886a5,access as _0x497895}from'fs/promises';import{join as _0x1ce8f0}from'path';async function _0x422b17(_0x11a16c){try{return await _0x497895(_0x11a16c),!![];}catch{return![];}}async function _0x4b4324(_0x5a129e){const _0x5830e9=_0xa6e1;for(const {file:_0x7c11c4,pm:_0x1b6998}of _0x1d5764){if(await _0x422b17(_0x1ce8f0(_0x5a129e,_0x7c11c4))){if(_0x5830e9(0x57b)===_0x5830e9(0x1b0)){if(_0x3abfcf[_0x5830e9(0x528)][_0x5830e9(0x18e)]){_0x74bbf5[_0x5830e9(0x2cb)]();throw new _0x1a19f9('aborted',_0x5830e9(0x4e6));}_0x282910[_0x5830e9(0x528)][_0x5830e9(0x562)](_0x5830e9(0x4c4),()=>{const _0x32d1d=_0x5830e9;_0x3145aa[_0x32d1d(0x4c4)](new _0x588d26(_0x32d1d(0x18e),'AbortError')),_0x1b5cb3['abort']();},{'once':!![]});}else return _0x1b6998;}}return'npm';}function _0x227507(_0x1f62d9,_0x24e73e){const _0x3f232b=_0xa6e1;switch(_0x1f62d9){case'pnpm':return{'bin':_0x3f232b(0x55f),'args':[_0x3f232b(0x375),..._0x24e73e]};case'yarn':return{'bin':_0x3f232b(0x24e),'args':['remove',..._0x24e73e]};case _0x3f232b(0x42b):return{'bin':_0x3f232b(0x42b),'args':[_0x3f232b(0x375),..._0x24e73e]};case'npm':return{'bin':'npm','args':[_0x3f232b(0x56c),..._0x24e73e]};}}async function _0x328ea6(_0x52081a,_0x3418da){const _0x3eb41d=_0xa6e1;let _0x137df8;try{_0x137df8=await _0x3886a5(_0x1ce8f0(_0x52081a,_0x3eb41d(0x575)),_0x3eb41d(0x2fd));}catch{return[];}let _0x90d061;try{_0x90d061=JSON['parse'](_0x137df8);}catch{return[];}if(!_0x90d061||typeof _0x90d061!==_0x3eb41d(0x2d2))return[];const _0x480883=_0x90d061[_0x3eb41d(0x18d)]??{},_0x4fe673=_0x90d061['devDependencies']??{};return _0x3418da['filter'](_0x3e39bd=>Boolean(_0x480883[_0x3e39bd]||_0x4fe673[_0x3e39bd]));}async function _0x86b709(_0x327087,_0x313b3e={}){const _0x491fa4=_0xa6e1,_0x4168c0=await _0x4b4324(_0x327087),_0x1148c7=[_0x1378f9],_0x1a90cb=await _0x328ea6(_0x327087,_0x1148c7);if(_0x1a90cb[_0x491fa4(0x358)]===0x0)return{'status':'nothing-to-remove','pm':_0x4168c0,'removedPackages':[]};const _0x1bb3aa=_0x227507(_0x4168c0,_0x1a90cb),_0x1bfffe=_0x313b3e['spawnRemove']??_0x55d5eb,_0x3fca41=await _0x1bfffe({'bin':_0x1bb3aa['bin'],'args':_0x1bb3aa['args'],'cwd':_0x327087});if(_0x3fca41[_0x491fa4(0x4d9)]!==0x0)return{'status':_0x491fa4(0x30a),'pm':_0x4168c0,'removedPackages':[],'command':_0x1bb3aa,'exitCode':_0x3fca41[_0x491fa4(0x4d9)]};return{'status':'removed','pm':_0x4168c0,'removedPackages':_0x1a90cb,'command':_0x1bb3aa};}function _0x55d5eb(_0x4914d0){return new Promise(_0x15e036=>{const _0xc73885=_0xa6e1,_0x4f371e=_0x560fc6(_0x4914d0['bin'],_0x4914d0['args'],{'cwd':_0x4914d0[_0xc73885(0x28f)],'stdio':'inherit'});_0x4f371e['on']('error',()=>_0x15e036({'exitCode':0x7f})),_0x4f371e['on']('exit',_0x3133df=>_0x15e036({'exitCode':_0x3133df??0x1}));});}var _0x1d5764,_0x1378f9,_0x514ce2=_0x1b53f6({'src/uninstall/revert-package.ts'(){'use strict';const _0x585b55=_0xa6e1;_0x1d5764=[{'file':_0x585b55(0x3e4),'pm':'pnpm'},{'file':'yarn.lock','pm':'yarn'},{'file':'bun.lockb','pm':'bun'},{'file':'bun.lock','pm':_0x585b55(0x42b)},{'file':'package-lock.json','pm':'npm'}],_0x1378f9=_0x585b55(0x4e0);}});import{copyFile,mkdir as _0x2ea8a6,readFile as _0x343cf5,rm as _0x533ab2,stat as _0x5f4df0}from'fs/promises';import{tmpdir,homedir as _0x14aebe}from'os';import{dirname as _0x1e54f4,isAbsolute as _0x3f92a0,join as _0x58745a,relative as _0x2cd72a}from'path';async function _0x1c7812(){if(_0x569cfd)return;const _0x2b2197=await import('ts-morph');({Node:_0x39e9f6,Project:_0x37c94c}=_0x2b2197,_0x569cfd=!![]);}async function _0x1200e6(_0x56b8fd){const _0x4263cf=_0xa6e1,_0x21e18d=[],_0x567ed9=_0x70b869=>{const _0x2de311=_0xa6e1;_0x21e18d[_0x2de311(0x407)](_0x70b869),_0x56b8fd[_0x2de311(0x2a0)]?.(_0x70b869);},_0x332d56=await _0x33fb95(_0x56b8fd);if(_0x332d56['kind']===_0x4263cf(0x48f)){const _0x4c1457={'name':_0x4263cf(0x1fc),'status':_0x4263cf(0x48f),'details':{'matches':_0x332d56['matches']},'remediation':_0x332d56[_0x4263cf(0x2d0)]};return _0x567ed9(_0x4c1457),_0x566988(_0x56b8fd[_0x4263cf(0x54c)],_0x21e18d);}const _0x240105=_0x332d56['workingDir'],_0x4a69c1=_0x56b8fd['rootDir']??_0x56b8fd['projectDir'],_0x368abf=_0x56b8fd['dryRun']===!![],_0x406e8e=await _0x1af7fe(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x406e8e);const _0x590e2c=await _0x2e5b4f(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x590e2c);const _0x5b3fac=await _0x589547(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x5b3fac);const _0x3d38b3=await _0x54caf9(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x3d38b3);const _0xebda88=await _0x156466(_0x4a69c1,_0x56b8fd,_0x368abf);_0x567ed9(_0xebda88);const _0x548e51=await _0x1a232e(_0x4a69c1,_0x56b8fd,_0x368abf);_0x567ed9(_0x548e51);const _0x4cd251=await _0x2b2ed1(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x4cd251);const _0x230ffe=await _0x4c71ee(_0x56b8fd,_0x368abf);_0x567ed9(_0x230ffe);const _0x15ac74=await _0x167937(_0x240105,_0x56b8fd,_0x368abf);_0x567ed9(_0x15ac74);const _0x51cf3b=await _0x2c9a25(_0x56b8fd,_0x368abf);_0x567ed9(_0x51cf3b);const _0x5c588a=await _0x23b1f4(_0x240105,_0x56b8fd,_0x368abf);return _0x567ed9(_0x5c588a),_0x566988(_0x240105,_0x21e18d);}async function _0x33fb95(_0x2f4414){const _0x2eea34=_0xa6e1,_0x2be634=_0x2f4414[_0x2eea34(0x524)]??_0x23c9dd,_0x51f8b0=await _0x2be634(_0x2f4414['projectDir']);if(_0x51f8b0[_0x2eea34(0x15f)]===_0x2eea34(0x38d))return{'kind':'ok','workingDir':_0x2f4414['projectDir']};if(_0x51f8b0[_0x2eea34(0x15f)]==='single'){const _0x29e621=_0x51f8b0[_0x2eea34(0x452)][0x0];if(!_0x29e621)return{'kind':'ok','workingDir':_0x2f4414['projectDir']};return{'kind':'ok','workingDir':_0x29e621['absPath']};}return{'kind':_0x2eea34(0x48f),'matches':_0x51f8b0['matches']['map'](_0xda4278=>({'relPath':_0xda4278['relPath'],'absPath':_0xda4278[_0x2eea34(0x190)]})),'remediation':'Multiple\x20React\x20Native\x20subpackages\x20detected.\x20Pass\x20--project-dir\x20to\x20target\x20a\x20specific\x20subpackage,\x20e.g.\x20`--project-dir\x20'+(_0x51f8b0['matches'][0x0]?.['relPath']??'apps/mobile')+'`.'};}async function _0x1af7fe(_0x5960bc,_0x1814a1,_0x4645e1){const _0x53cac4=_0xa6e1,_0x5b70f2=_0x1814a1['revertCamera']??_0x10bb04;if(_0x4645e1)try{const _0x5c73dd=await _0x33ebf6(_0x5960bc,_0x5b70f2);return _0x135621(_0x5c73dd,{'dryRun':!![]});}catch(_0xb54f3b){return{'name':_0x53cac4(0x365),'status':'error','details':{'error':_0x1d8222(_0xb54f3b)},'remediation':_0x53cac4(0x519)};}const _0x8da9ed=new Map();try{const _0x14342c=await _0x6b1a37(_0x5960bc);for(const _0x1646ba of _0x14342c){if('ONgOJ'===_0x53cac4(0x198))return null;else _0x8da9ed[_0x53cac4(0x293)](_0x1646ba,await _0x3e51e0(_0x1646ba));}const _0x350b77=await _0x5b70f2(_0x5960bc);return _0x135621(_0x350b77,{'dryRun':![]});}catch(_0x2d0a8f){const _0x32a50e=[];for(const [_0x2a5ec0,_0x266cda]of _0x8da9ed){if(_0x266cda==null)continue;try{await _0x5b2be0(_0x2a5ec0,_0x266cda);}catch(_0x1f7340){if(_0x53cac4(0x3ff)===_0x53cac4(0x3ff))_0x32a50e['push'](_0x2a5ec0+':\x20'+_0x1d8222(_0x1f7340));else return{'name':_0x53cac4(0x1af),'status':'error','details':{'error':_0x1e95df(_0x203b2d)}};}}const _0x21d98c=_0x53cac4(0x503)+_0x1d8222(_0x2d0a8f)+'.',_0xee9f72=_0x32a50e['length']===0x0?_0x21d98c+'\x20All\x20edited\x20files\x20were\x20restored\x20from\x20snapshots.':_0x21d98c+'\x20Some\x20files\x20could\x20not\x20be\x20restored:\x20'+_0x32a50e[_0x53cac4(0x3c0)](';\x20');return{'name':'camera','status':'error','details':{'error':_0x1d8222(_0x2d0a8f),'snapshotCount':_0x8da9ed[_0x53cac4(0x296)],'restoreFailures':_0x32a50e},'remediation':_0xee9f72};}}function _0x135621(_0x34b214,_0x2d1076){const _0x92f4dd=_0xa6e1,_0x4dbcf2=_0x34b214['files']['reduce']((_0x206c69,_0x11ab69)=>_0x206c69+_0x11ab69['ceraphCamerasRemoved'],0x0),_0x1e8f9f=_0x4dbcf2;if(_0x34b214['files']['length']===0x0)return{'name':'camera','status':'already-reverted','details':{'filesScanned':_0x34b214[_0x92f4dd(0x381)],..._0x2d1076['dryRun']?{'dryRun':!![]}:{}}};const _0x219659=_0x1e8f9f>0x0?_0x92f4dd(0x38c):_0x92f4dd(0x16e),_0x3e67b1={'name':'camera','status':_0x219659,'details':{'filesScanned':_0x34b214[_0x92f4dd(0x381)],'filesEdited':_0x34b214['files'][_0x92f4dd(0x471)](_0x1286f8=>_0x1286f8['relPath']),'ceraphCamerasRemoved':_0x4dbcf2,'importDropped':_0x34b214[_0x92f4dd(0x2ec)]['filter'](_0x199143=>_0x199143[_0x92f4dd(0x57c)])['length'],'importRestored':_0x34b214[_0x92f4dd(0x2ec)][_0x92f4dd(0x422)](_0x5cac5a=>_0x5cac5a['importRestored'])[_0x92f4dd(0x358)],'imageKeysStripped':_0x1e8f9f,..._0x2d1076[_0x92f4dd(0x1dd)]?{'dryRun':!![]}:{}}};return _0x219659==='warning'&&(_0x3e67b1['remediation']='revert-camera\x20removed\x20imageKey\x20props\x20from\x20'+_0x1e8f9f+'\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.'),_0x3e67b1;}async function _0x6b1a37(_0x227699){const _0x1fa277=_0xa6e1,_0x3d27ec=['app','src','screens'],_0x55cb1d=new Set(['.tsx','.jsx']),_0x27d9f4=new Set([_0x1fa277(0x514),'dist',_0x1fa277(0x37a),'.git',_0x1fa277(0x454),'.expo',_0x1fa277(0x1f7),_0x1fa277(0x331),_0x1fa277(0x469)]),_0xacbe94=[],_0x16e21c=async _0x5ebb56=>{const _0x8dae30=_0x1fa277;let _0x56c679;try{const {readdir:_0x17c8f5}=await import('fs/promises');_0x56c679=await _0x17c8f5(_0x5ebb56,{'withFileTypes':!![]});}catch{return;}for(const _0x24a91c of _0x56c679){if(_0x24a91c['isDirectory']()){if(_0x27d9f4[_0x8dae30(0x3b6)](_0x24a91c[_0x8dae30(0x273)]))continue;await _0x16e21c(_0x58745a(_0x5ebb56,_0x24a91c[_0x8dae30(0x273)]));continue;}if(!_0x24a91c[_0x8dae30(0x17d)]())continue;const _0x246225=_0x24a91c[_0x8dae30(0x273)][_0x8dae30(0x2b4)]('.');if(_0x246225<0x0)continue;const _0x3c041c=_0x24a91c['name'][_0x8dae30(0x554)](_0x246225)['toLowerCase']();if(!_0x55cb1d[_0x8dae30(0x3b6)](_0x3c041c))continue;_0xacbe94[_0x8dae30(0x407)](_0x58745a(_0x5ebb56,_0x24a91c['name']));}};for(const _0x46295b of _0x3d27ec){await _0x16e21c(_0x58745a(_0x227699,_0x46295b));}for(const _0x3af76a of['App.tsx','App.jsx']){_0xacbe94[_0x1fa277(0x407)](_0x58745a(_0x227699,_0x3af76a));}const _0x30ef71=[];for(const _0x53b335 of _0xacbe94){let _0x276c89;try{'kDwHl'===_0x1fa277(0x23a)?_0x276c89=await _0x343cf5(_0x53b335,_0x1fa277(0x2fd)):(this[_0x1fa277(0x21b)]=null,this[_0x1fa277(0x54a)]=null,this['sessionBaseUrl']=null);}catch{continue;}if(_0x276c89['includes']('<CeraphCamera'))_0x30ef71[_0x1fa277(0x407)](_0x53b335);}return _0x30ef71;}async function _0x33ebf6(_0x2bff06,_0x1501fd){const _0x114710=_0xa6e1,_0x2e4d5c=await _0x6b1a37(_0x2bff06),_0x508cbc=_0x58745a(tmpdir(),_0x114710(0x324)+Date[_0x114710(0x1ec)]()+'-'+Math[_0x114710(0x4e2)]()['toString'](0x24)[_0x114710(0x554)](0x2));try{await _0x2ea8a6(_0x508cbc,{'recursive':!![]});for(const _0x5d29f9 of _0x2e4d5c){const _0x91707a=_0x2cd72a(_0x2bff06,_0x5d29f9),_0x35be94=_0x58745a(_0x508cbc,_0x91707a);await _0x2ea8a6(_0x1e54f4(_0x35be94),{'recursive':!![]}),await copyFile(_0x5d29f9,_0x35be94);}return await _0x1501fd(_0x508cbc);}finally{try{await _0x533ab2(_0x508cbc,{'recursive':!![],'force':!![]});}catch{}}}async function _0x2e5b4f(_0x11bad5,_0x15f3b2,_0x19e121){const _0x13ebbc=_0xa6e1,_0xdc6181=_0x15f3b2['revertBoot']??_0x3d3bfb,_0x19b567=_0x15f3b2[_0x13ebbc(0x16b)]??_0x12b52c;if(_0x19e121)try{if(_0x13ebbc(0x262)!=='smwpp'){const _0x290d78=await _0x19b567(_0x11bad5);if(!_0x290d78)return{'name':_0x13ebbc(0x1db),'status':'already-reverted','details':{'reason':'no\x20layout\x20file\x20detected','dryRun':!![]}};const _0x40dc23=await _0x974713(_0x290d78[_0x13ebbc(0x3e1)],_0x11bad5);try{const _0xda197d=await _0xdc6181(_0x40dc23['projectDir']);return await _0x2a2601(_0xda197d,_0x11bad5,_0x290d78,_0x15f3b2,!![]);}finally{await _0x533ab2(_0x40dc23['tmpRoot'],{'recursive':!![],'force':!![]})[_0x13ebbc(0x3e8)](()=>void 0x0);}}else{const _0x338d49=_0x2f7b1b?_0x57a247:_0x5a8492;return{'status':_0x13ebbc(0x466),'kind':_0x13ebbc(0x2ae),'path':_0x338d49,'remediation':_0x4da06c(_0x338d49)};}}catch(_0x3d02d3){return{'name':_0x13ebbc(0x1db),'status':_0x13ebbc(0x48f),'details':{'error':_0x1d8222(_0x3d02d3),'dryRun':!![]},'remediation':_0x13ebbc(0x2c5)};}try{const _0x1abc42=await _0xdc6181(_0x11bad5),_0x363174=_0x1abc42[_0x13ebbc(0x17a)]==='no-layout-found'?null:_0x1abc42[_0x13ebbc(0x3ed)];return await _0x2a2601(_0x1abc42,_0x11bad5,_0x363174,_0x15f3b2,![]);}catch(_0x362554){return{'name':_0x13ebbc(0x1db),'status':_0x13ebbc(0x48f),'details':{'error':_0x1d8222(_0x362554)},'remediation':'Boot\x20revert\x20raised.\x20Check\x20the\x20layout\x20file\x20for\x20syntax\x20errors\x20before\x20re-running.'};}}async function _0x2a2601(_0x59b5cc,_0x595424,_0x285474,_0xb99593,_0x1be50b){const _0x1a51be=_0xa6e1;switch(_0x59b5cc['status']){case _0x1a51be(0x16e):return{'name':_0x1a51be(0x1db),'status':_0x1a51be(0x16e),'details':{'target':_0x59b5cc[_0x1a51be(0x3ed)],'removedUseEffect':_0x59b5cc[_0x1a51be(0x1cc)],'removedImport':_0x59b5cc['removedImport'],..._0x1be50b?{'dryRun':!![]}:{}}};case'already-reverted':return{'name':'boot','status':_0x1a51be(0x3fe),'details':{'target':_0x59b5cc[_0x1a51be(0x3ed)],..._0x1be50b?{'dryRun':!![]}:{}}};case'no-layout-found':return{'name':_0x1a51be(0x1db),'status':'already-reverted','details':{'reason':_0x1a51be(0x572),..._0x1be50b?{'dryRun':!![]}:{}}};case _0x1a51be(0x1a6):{const _0x33e276=await _0xbf2f1e(_0x59b5cc[_0x1a51be(0x3ed)]['filePath']);return{'name':'boot','status':_0x1a51be(0x466),'details':{'target':_0x59b5cc['target'],'reason':_0x59b5cc[_0x1a51be(0x3c8)],'location':_0x33e276[_0x1a51be(0x4de)],'otherStatements':_0x33e276[_0x1a51be(0x525)],..._0x33e276['parseError']!==void 0x0?{'parseError':_0x33e276[_0x1a51be(0x316)]}:{},..._0x1be50b?{'dryRun':!![]}:{}},'remediation':_0x1a51be(0x37e)+_0x59b5cc['target'][_0x1a51be(0x3e1)]+(_0x33e276[_0x1a51be(0x4de)]?':'+_0x33e276['location']['line']:'')+').\x20Remove\x20the\x20`installCeraph()`\x20call\x20by\x20hand\x20without\x20dropping\x20your\x20own\x20code,\x20then\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.'+(_0x33e276['parseError']!==void 0x0?_0x1a51be(0x25e)+_0x33e276[_0x1a51be(0x316)]+')':'')};}}return{'name':'boot','status':'error','details':{'result':_0x59b5cc},'remediation':_0x1a51be(0x45c)};}async function _0xbf2f1e(_0x1d6e5c){const _0xa03674=_0xa6e1;try{await _0x1c7812();const _0x2642ad=new _0x37c94c({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}}),_0x18c503=_0x2642ad['addSourceFileAtPath'](_0x1d6e5c),_0x101d22=_0x53e2be(_0x18c503);if(!_0x101d22)return{'location':null,'otherStatements':[]};const _0x30a991=_0x101d22['getBody']();if(!_0x30a991||!_0x39e9f6[_0xa03674(0x336)](_0x30a991))return{'location':null,'otherStatements':[]};let _0x20e0b4=null,_0x5e60f0=[];return _0x30a991['forEachDescendant'](_0xeed3ca=>{const _0x11973a=_0xa03674;if(_0x20e0b4)return;if(!_0x39e9f6['isCallExpression'](_0xeed3ca))return;const _0x49d69d=_0xeed3ca['getExpression']();if(!_0x39e9f6['isIdentifier'](_0x49d69d)||_0x49d69d[_0x11973a(0x424)]()!==_0x11973a(0x4cb))return;const _0x50a6a4=_0xeed3ca['getArguments'](),_0x8c1792=_0x50a6a4[0x0];if(!_0x8c1792)return;if(!_0x39e9f6[_0x11973a(0x18c)](_0x8c1792)&&!_0x39e9f6[_0x11973a(0x16a)](_0x8c1792))return;const _0x429aaa=_0x8c1792['getBody']();if(!_0x39e9f6[_0x11973a(0x336)](_0x429aaa))return;const _0x56988f=_0x429aaa['getStatements'](),_0x57a33c=[],_0x4fda19=[];for(const _0x444244 of _0x56988f){if(_0x1b0c08(_0x444244))_0x57a33c['push'](_0x444244);else _0x4fda19[_0x11973a(0x407)](_0x444244);}_0x57a33c['length']>0x0&&_0x4fda19['length']>0x0&&(_0x20e0b4={'line':_0xeed3ca[_0x11973a(0x202)]()},_0x5e60f0=_0x4fda19['map'](_0x327921=>_0x327921[_0x11973a(0x424)]()));}),{'location':_0x20e0b4,'otherStatements':_0x5e60f0};}catch(_0x5eede5){return{'location':null,'otherStatements':[],'parseError':_0x1d8222(_0x5eede5)};}}function _0x53e2be(_0x58e9e4){const _0x15c436=_0xa6e1;for(const _0x94aa0b of _0x58e9e4[_0x15c436(0x1b4)]()){if(_0x94aa0b['isDefaultExport']())return _0x94aa0b;}const _0x5cabc2=_0x58e9e4['getStatements']()[_0x15c436(0x320)](_0x377c62=>_0x39e9f6['isExportAssignment'](_0x377c62));if(_0x5cabc2&&_0x39e9f6[_0x15c436(0x463)](_0x5cabc2)){if('srJBq'!==_0x15c436(0x222)){const _0x6c0d00=_0x2add01[_0x15c436(0x341)]();if(_0x6c0d00&&_0x2346b5[_0x15c436(0x18c)](_0x6c0d00))return _0x6c0d00;if(_0x6c0d00&&_0x375628[_0x15c436(0x16a)](_0x6c0d00))return _0x6c0d00;}else{const _0x227c5=_0x5cabc2['getExpression']();if(_0x39e9f6[_0x15c436(0x3de)](_0x227c5)){const _0x518b5d=_0x227c5['getSymbol']();if(_0x518b5d){const _0x56d474=_0x518b5d[_0x15c436(0x43f)]()[0x0];if(_0x56d474&&_0x39e9f6[_0x15c436(0x307)](_0x56d474)){const _0x35f4e7=_0x56d474[_0x15c436(0x341)]();if(_0x35f4e7&&_0x39e9f6[_0x15c436(0x18c)](_0x35f4e7))return _0x35f4e7;if(_0x35f4e7&&_0x39e9f6[_0x15c436(0x16a)](_0x35f4e7))return _0x35f4e7;}}}if(_0x39e9f6[_0x15c436(0x18c)](_0x227c5))return _0x227c5;if(_0x39e9f6['isFunctionExpression'](_0x227c5))return _0x227c5;}}return null;}function _0x1b0c08(_0xaed294){const _0x4c97c1=_0xa6e1;if(!_0x39e9f6['isExpressionStatement'](_0xaed294))return![];const _0x6371e=_0xaed294['getExpression']();if(!_0x39e9f6[_0x4c97c1(0x58d)](_0x6371e))return![];const _0x558e82=_0x6371e['getExpression']();return _0x39e9f6[_0x4c97c1(0x3de)](_0x558e82)&&_0x558e82[_0x4c97c1(0x424)]()==='installCeraph';}async function _0x54caf9(_0x4fbc74,_0x355df1,_0x5ec239){const _0x522027=_0xa6e1,_0x6b7e04=_0x355df1['revertCeraphUrlScheme']??_0x307a71;if(_0x5ec239)try{if(_0x522027(0x558)===_0x522027(0x561))return this['pixelRatio']=0x3,this[_0x522027(0x54a)];else{const _0x2beae6=await _0x3b6eb6(_0x4fbc74);try{const _0xbc6626=await _0x6b7e04(_0x2beae6[_0x522027(0x54c)]);return _0x5b936b(_0xbc6626,!![]);}finally{await _0x533ab2(_0x2beae6['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}}catch(_0x58820d){return{'name':'scheme','status':_0x522027(0x48f),'details':{'error':_0x1d8222(_0x58820d),'dryRun':!![]}};}try{const _0x38f703=await _0x6b7e04(_0x4fbc74);return _0x5b936b(_0x38f703,![]);}catch(_0x2475b7){return{'name':'scheme','status':'error','details':{'error':_0x1d8222(_0x2475b7)}};}}function _0x5b936b(_0x394b59,_0x40a5f9){const _0x3b981a=_0xa6e1,_0x268294=_0x40a5f9?{'dryRun':!![]}:{};switch(_0x394b59['status']){case _0x3b981a(0x16e):return{'name':_0x3b981a(0x541),'status':_0x3b981a(0x16e),'details':{'path':_0x394b59['path'],'previousScheme':_0x394b59[_0x3b981a(0x4e3)],'nextScheme':_0x394b59['nextScheme'],..._0x268294}};case'already-reverted':return{'name':'scheme','status':_0x3b981a(0x3fe),'details':{'path':_0x394b59[_0x3b981a(0x1e5)],..._0x268294}};case _0x3b981a(0x466):return{'name':'scheme','status':_0x3b981a(0x466),'details':{'kind':_0x394b59[_0x3b981a(0x15f)],'path':_0x394b59['path'],..._0x268294},'remediation':_0x394b59['remediation']};case _0x3b981a(0x563):return{'name':_0x3b981a(0x541),'status':'already-reverted','details':{'reason':_0x3b981a(0x43a),..._0x268294}};}}async function _0x3b6eb6(_0x11bc81){const _0x1dd378=_0xa6e1,_0x262d33=_0x58745a(tmpdir(),_0x1dd378(0x509)+Date['now']()+'-'+Math['random']()[_0x1dd378(0x360)](0x24)['slice'](0x2));return _0x3ac8e9(_0x262d33,async()=>{const _0x18c1de=_0x1dd378;await _0x2ea8a6(_0x262d33,{'recursive':!![]});for(const _0x3624b3 of['app.json','app.config.js',_0x18c1de(0x3a5)]){const _0x382a15=_0x58745a(_0x11bc81,_0x3624b3);try{await copyFile(_0x382a15,_0x58745a(_0x262d33,_0x3624b3));}catch{}}for(const _0x16af2a of[_0x18c1de(0x331),'android']){try{await _0x5f4df0(_0x58745a(_0x11bc81,_0x16af2a)),await _0x2ea8a6(_0x58745a(_0x262d33,_0x16af2a),{'recursive':!![]});}catch{}}return{'projectDir':_0x262d33,'tmpRoot':_0x262d33};});}async function _0x156466(_0x35403e,_0xfbd868,_0x4cf4ff){const _0x4327ea=_0xa6e1,_0xbb6641=_0xfbd868[_0x4327ea(0x3c1)]??_0x2e323b,_0x443d6a=_0xfbd868['revertUserGlobalMcpClients']??_0x2b03b2,_0x36b83a=_0xfbd868[_0x4327ea(0x53d)]?.();if(_0x4cf4ff){let _0x6c4495=null,_0x2b51a1=null;try{_0x6c4495=await _0x51ae0b(_0x35403e),_0x2b51a1=await _0x4a9947(_0x36b83a);const _0x2c5bd9=await _0xbb6641(_0x6c4495['projectDir']),_0x5461f9=await _0x443d6a({'home':_0x2b51a1['tmpHome']});return _0x10b829(_0x2c5bd9,_0x5461f9,!![]);}catch(_0x44066a){return{'name':_0x4327ea(0x578),'status':_0x4327ea(0x48f),'details':{'error':_0x1d8222(_0x44066a),'dryRun':!![]}};}finally{if(_0x4327ea(0x263)!==_0x4327ea(0x263))return{'name':_0x4327ea(0x511),'status':_0x4327ea(0x48f),'details':{'error':_0x257e87(_0x38a5fe),'dryRun':!![]}};else _0x6c4495&&await _0x533ab2(_0x6c4495[_0x4327ea(0x56a)],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0),_0x2b51a1&&await _0x533ab2(_0x2b51a1['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}try{const _0x53144e=await _0xbb6641(_0x35403e),_0x23608c=await _0x443d6a({'home':_0x36b83a});return _0x10b829(_0x53144e,_0x23608c,![]);}catch(_0x4440d0){return{'name':'mcp-clients','status':'error','details':{'error':_0x1d8222(_0x4440d0)}};}}function _0x10b829(_0x134987,_0x4fbd47,_0x317d5f){const _0xef1d6b=_0xa6e1,_0x4197c8=[..._0x134987[_0xef1d6b(0x2ec)],..._0x4fbd47[_0xef1d6b(0x2ec)]],_0x4568fb=_0x4197c8[_0xef1d6b(0x422)](_0x3af3e7=>_0x3af3e7['status']==='removed-entries'||_0x3af3e7[_0xef1d6b(0x17a)]==='deleted-file'),_0x22b120=_0x317d5f?{'dryRun':!![]}:{};if(_0x4568fb['length']===0x0)return{'name':_0xef1d6b(0x578),'status':'already-reverted','details':{'files':_0x134987['files'],'userGlobalFiles':_0x4fbd47['files'],..._0x22b120}};return{'name':_0xef1d6b(0x578),'status':'reverted','details':{'files':_0x134987[_0xef1d6b(0x2ec)],'userGlobalFiles':_0x4fbd47[_0xef1d6b(0x2ec)],'touched':_0x4568fb[_0xef1d6b(0x358)],..._0x22b120}};}async function _0x51ae0b(_0x3ecd00){const _0x25cc9b=_0xa6e1,_0x1c6e9e=_0x58745a(tmpdir(),_0x25cc9b(0x490)+Date[_0x25cc9b(0x1ec)]()+'-'+Math[_0x25cc9b(0x4e2)]()['toString'](0x24)[_0x25cc9b(0x554)](0x2));return _0x3ac8e9(_0x1c6e9e,async()=>{const _0x460eec=_0x25cc9b;await _0x2ea8a6(_0x1c6e9e,{'recursive':!![]});const _0x2849f=[_0x460eec(0x2ce),_0x58745a(_0x460eec(0x1a1),_0x460eec(0x164)),_0x58745a('.vscode','mcp.json'),_0x58745a(_0x460eec(0x344),'config.toml'),_0x58745a('.claude',_0x460eec(0x29e))];for(const _0x53b3ab of _0x2849f){const _0x1cef73=_0x58745a(_0x3ecd00,_0x53b3ab),_0x499129=_0x58745a(_0x1c6e9e,_0x53b3ab);try{await _0x2ea8a6(_0x1e54f4(_0x499129),{'recursive':!![]}),await copyFile(_0x1cef73,_0x499129);}catch{}}return{'projectDir':_0x1c6e9e,'tmpRoot':_0x1c6e9e};});}function _0x5f11(){const _0x40b1e2=['App.jsx','sectionPresent','cacheTtlMs','Camera\x20revert\x20failed:\x20','removedPackages','not\x20found','loadAuth','checkDevicectl','installStdioToStderr','ceraph-uninstall-scheme-preview-','found','missing-dir','nothing-to-remove','getParent','getSource','/url','CfZym','package','Access-Control-Allow-Origin','Failed\x20to\x20create\x20WDA\x20session:\x20','node_modules','Invalid\x20CERAPH_WEB_BASE_URL\x20or\x20CERAPH_API_URL:\x20\x22','xDARt','.jpg','hZGra','Dry-run\x20camera\x20preview\x20failed.\x20Re-run\x20without\x20--dry-run\x20after\x20fixing\x20the\x20error\x20above,\x20or\x20pass\x20--project-dir\x20if\x20the\x20path\x20is\x20wrong.','hardwareProperties','edge-swipe','unknown\x20error','login','ODIAW','nztkO','pid','1560250ZukyXg','required-env-vars','CqAlR','detectMonorepo','otherStatements','byteLength','[!]','signal','readFile','getFilePath',',\x20ceraph])','storedAt','process','/session','../','tier','trim','\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20}','FileChanged','WebDriverAgent.xcodeproj',')\x20->\x20(','WDA\x20session\x20creation\x20succeeded\x20but\x20no\x20sessionId\x20returned','manual\x20action\x20required\x20—\x20','\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20','relPath','ceraph-uninstall-gitignore-preview-','lerna.json','getImportDeclaration','homeDir','umxcP','CeraphCamera','\x20scheme\x20(kept\x20your\x20existing\x20','scheme','exit','ENOENT','clear','pro','platform','ls-files','unknown','iproxy\x20auto-bridge\x20threw:\x20','pixelRatio','SHELL','projectDir','Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-flow-progress.json\x20✓','init.ts','removedRuntimeFiles','starter','\x22\x20to\x20your\x20babel\x20plugins,\x20before\x20any\x20\x22','Element\x20not\x20visible\x20after\x20','/callback','slice','base64url','screens','({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22','XOszz','mcp_servers.react-native-mcp','toLowerCase','hgkNp','JmAJJ','Target:\x20','hasCoverSheet','pnpm','no-github-remote','ZBFSv','addEventListener','no-rn-project','Installing\x20appium-webdriveragent\x20for\x20simulator\x20support\x20(one-time,\x20~200MB)…','start','method','Wired\x20the\x20testID\x20injector\x20into\x20','forEachDescendant','aYRrX','tmpRoot','runningProcesses','uninstall','appium-webdriveragent','Divided\x20by\x20','.tsx','.gitignore:\x20added\x20','help','no\x20layout\x20file\x20detected','ffmpeg','udidResolved','package.json','pop','realDeviceHookInflight','mcp-clients','zsh','installCeraph()\x20registers\x20Ceraph\x27s\x20dev-only\x20test\x20hooks\x20—\x20runtime-error\x20capture,\x20state\x20reset/reload,\x20keep-awake\x20—\x20at\x20app\x20start.\x20No-op\x20in\x20production\x20builds.','oenVG','importDropped','http://127.0.0.1:','launch','mNpSd','11xLfPuB','To\x20add\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device,\x20re-run\x20init\x20and\x20pick\x20Pro.','getFirstAncestorByKind','registered','readUInt32BE','WDA\x20touchAndHold\x20failed:\x20','data','\x0aManual\x20actions\x20needed:\x0a','xcrun','Failed\x20to\x20get\x20element\x20tree:\x20','/\x20and\x20call\x20`rn_sync_camera_registry`\x20to\x20regenerate.','Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.','No\x20GitHub\x20remote\x20detected\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.','isCallExpression','sessionBaseUrl','route','mcp_servers.','\x22.\x20Only\x20https://\x20(or\x20http://\x20for\x20localhost\x20/\x20127.0.0.1)\x20endpoints\x20are\x20allowed.','Pass\x20global:\x20true\x20to\x20remove\x20~/.ceraph/auth.json\x20—\x20the\x20token\x20is\x20user-global\x20and\x20removing\x20it\x20logs\x20you\x20out\x20of\x20every\x20Ceraph\x20install.','Signed\x20in\x20as\x20','//\x20AUTO-GENERATED\x20by\x20@ceraph/react-native-mcp\x20—\x20do\x20not\x20edit\x20by\x20hand.\x0a//\x20Re-run\x20`rn_sync_camera_registry`\x20after\x20adding\x20or\x20removing\x20images.\x0aimport\x20{\x20configureTestImage\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x0aexport\x20function\x20applyCameraImageRegistry():\x20void\x20{\x0a','min','No\x20<CameraView>\x20usages\x20found\x20in\x20app/,\x20src/,\x20screens/,\x20App.tsx','ZOqli','kind','padEnd','mnQTA','agentMode','unlock','mcp.json','{\x20return\x20','JsxElement','POSITIVE_INFINITY','sim','device:','isFunctionExpression','detectBootTarget','env','matchCount','reverted','addSourceFileAtPath','installCeraph-with-others','enabledMcpjsonServers',':\x20configured\x20✓','Starter\x20selected\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in\x20needed.','left','\x20files).','unchanged','devices','bundleIdentifier','some','status','skipped-needs-confirmation','\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.','isFile','ensureSession','udidResolvedAt','info','devDependencies','\x20install\x20exited\x20with\x20code\x20','/cli-auth\x20in\x20your\x20browser\x20to\x20sign\x20in.\x20If\x20the\x20browser\x20didn\x27t\x20open,\x20visit\x20the\x20URL\x20manually:\x0a\x20\x20','aBRXt','lBNlO','\x20[Y/n]\x20','update','isJsxSelfClosingElement','passedCount','idbAvailable','in-flight','isArrowFunction','dependencies','aborted','findElement','absPath','xZuWY','sort','buildTapPointerActions','\x20(dynamic\x20Expo\x20config).\x20The\x20init\x20walkthrough\x20never\x20edited\x20this\x20file\x20automatically;\x20if\x20you\x20(or\x20a\x20teammate)\x20added\x20`ceraph`\x20to\x20its\x20`scheme`\x20value,\x20remove\x20that\x20entry\x20by\x20hand.\x20After\x20editing,\x20run\x20`expo\x20prebuild\x20--clean`\x20or\x20restart\x20the\x20dev\x20client.','outputToStderr','payload','success','mxrsF','_registry.ts','stateVersion','hqzgg','getClosingElement','pointerDown','QCdLD','hooks','sendW3CActions','.cursor','\x20@ceraph/react-native-mcp\x20(','simctl','expiresAt','Upgrade','skipped','/bash','invalidate','removed','zDmsA','volumeDown','actions','unverified','back','claude-hooks','uXaYq','Claude\x20Code\x20will\x20ask\x20you\x20to\x20approve\x20the\x20Ceraph\x20MCP\x20server\x20once\x20on\x20restart\x20—\x20your\x20.claude/settings.local.json\x20had\x20an\x20unexpected\x20shape,\x20so\x20it\x20was\x20left\x20untouched.\x20Approve\x20the\x20prompt,\x20or\x20add\x20\x22react-native-mcp\x22\x20to\x20enabledMcpjsonServers\x20in\x20that\x20file\x20by\x20hand.','--help','.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.','getFunctions','\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.','WDA\x20swipe\x20failed:\x20','yes','Replace\x20each\x20<CameraView\x20/>\x20with\x20<CeraphCamera\x20imageKey=\x22...\x22\x20/>\x20from\x20\x22@ceraph/react-native-mcp/shim\x22.\x20The\x20shim\x20falls\x20through\x20to\x20expo-camera\x20in\x20production\x20builds.','LDkHJ','realDeviceHookFiredFor','state','/wda/touchAndHold','udid','githubUser','simulatorWdaUdid','already-present','https:','No\x20element\x20found\x20matching\x20field\x20query:\x20','result','setTargetResolver','unlink','/wda/tap/0','writtenOrUnchanged','Add\x20the\x20matching\x20image\x20file\x20to\x20.ceraph/camera-images/\x20(e.g.\x20<key>.jpg)\x20and\x20re-run\x20`rn_sync_camera_registry`,\x20or\x20fix\x20the\x20imageKey\x20prop\x20value.','matcher','Claude\x20Code:\x20pre-approved\x20the\x20Ceraph\x20MCP\x20server\x20(no\x20trust\x20prompt)\x20✓','getExpression','removedUseEffect','nzAcP','Next:\x20ask\x20your\x20AI\x20coding\x20assistant\x20(Claude\x20Code,\x20Cursor,\x20Codex,\x20etc.):','35eLTVyL','33eUxiLb','installCeraph-only','WDA\x20unlock\x20failed:\x20','isAvailable','_layout.jsx','\x20swipes:\x20','setOrientation','see\x20details','0.0.0','getSourceFiles','.jpeg','boot','\x27\x20at\x20','dryRun','nav-bar','OPTIONS','/tier-check','\x20[y/N]\x20','No\x20bare\x20<CameraView>\x20usages\x20from\x20expo-camera\x20found\x20in\x20app/src/screens.','pipe','resolveSha','path','claudePreApprovalPreserved','gVHIC','unlocked','\x20\x20//\x20No\x20images\x20registered\x20yet.\x20Drop\x20files\x20into\x20.ceraph/camera-images/\x0a\x20\x20//\x20and\x20re-run\x20`rn_sync_camera_registry`.\x0a}\x0a','Unknown\x20error\x20during\x20pressKey','O_CREAT','now','getStart','babel-config','Resolution\x20failed\x20for\x20query\x20at\x20index\x20','npm','@ceraph/react-native-mcp\x0a\x0aUSAGE\x0a\x20\x20npx\x20@ceraph/react-native-mcp\x20<command>\x20[flags]\x0a\x0aCOMMANDS\x0a\x20\x20init\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Wire\x20up\x20MCP\x20clients,\x20hooks,\x20AST\x20replacements,\x20and\x20doctor.\x0a\x20\x20uninstall\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Reverse\x20the\x20mutations\x20init\x20applied.\x0a\x20\x20(no\x20command)\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Start\x20the\x20MCP\x20server\x20over\x20stdio.\x0a\x0aFLAGS\x0a\x20\x20--agent\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Pass\x20when\x20an\x20AI\x20tool\x20is\x20driving\x20the\x20install\x20—\x20defers\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20interactive\x20camera\x20setup\x20to\x20the\x20agent\x20via\x20a\x20single\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CERAPH_INIT_AGENT_HINT={...}\x20JSON\x20line\x20emitted\x20on\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stdout\x20at\x20completion.\x20Equivalent\x20to\x20CERAPH_AGENT_MODE=1.\x0a\x20\x20--tier=<pro|starter>\x20\x20Pre-select\x20the\x20plan,\x20skipping\x20the\x20interactive\x20prompt.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Starter\x20is\x20free\x20(local\x20build/run/device\x20tools,\x20no\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sign-in).\x20Pro\x20($10/mo)\x20adds\x20AI\x20flow\x20testing\x20on\x20a\x20real\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20device\x20and\x20requires\x20sign-in\x20+\x20checkout.\x0a\x20\x20--help,\x20-h\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Show\x20this\x20help\x20text.\x0a','lock\x20screen','round','require','inflight','listBooted','.next','createSourceFile','width','already-running','uMDBP','monorepo','pointerUp','headers','getName','details','substring','getStartLineNumber','en0','EeTPh','registryPath','hELBs','git','WDA\x20pressButton\x20failed:\x20','Pro\x20is\x20active\x20on\x20this\x20account.','suggestedKey','No\x20iOS\x20target\x20detected.\x20For\x20a\x20real\x20device:\x20tell\x20the\x20user\x20to\x20plug\x20in\x20their\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20call\x20`rn_wait_for_device`\x20(listens\x20on\x20macOS\x27s\x20usbmuxd\x20daemon\x20for\x20sub-second\x20event-driven\x20detection\x20—\x20no\x20polling,\x20no\x20timeout).\x20For\x20a\x20simulator:\x20boot\x20one\x20(Simulator.app\x20or\x20`xcrun\x20simctl\x20boot\x20<udid>`)\x20and\x20call\x20`rn_wda_start`\x20to\x20target\x20it.','next','x:\x20(','dist','flavor','\x0aSummary:\x0a','http://localhost:8100','server-error','query','tap','Element\x20not\x20visible\x20after\x203000ms:\x20','concat','__keychain__','center','--udid','json','sessionId','permission-interceptor-ready','46521390fDRiBz','clearSimulatorWdaPort','authFilePath','Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.','height','srJBq','packages','src','Select\x20[1-','getSimulatorWdaPort','/orientation','react-native-mcp','base64','env-override-simulator','.tmp.','default','spawnRemove','Error:\x20--project-dir\x20is\x20not\x20a\x20directory:\x20','mobile-mcp','.ceraph/wda-derived/','alreadyCurrent','.ts','accessToken','app.config.js','Kyyov','Pro\x20selected\x20but\x20not\x20yet\x20active\x20—\x20server-side\x20caching\x20is\x20skipped\x20until\x20checkout\x20completes\x20at\x20','inherit','Ceraph\x20server\x20returned\x20an\x20unexpected\x20response\x20shape\x20for\x20','layoutCount','kDwHl','export\x20','isJsxAttribute','/wda/locked','EEMYp','yDIxe','\x20(imageKey=\x22','max','#\x20End\x20Ceraph\x20signal\x20host','devicectl','pause','edWbS','AxwTa','array','needs-manual','1803610XuMoqu','Opening\x20browser\x20to\x20sign\x20in…','\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','<CeraphCamera>\x20is\x20a\x20drop-in\x20for\x20<CameraView>\x20(same\x20props):\x20during\x20a\x20flow\x20run\x20it\x20returns\x20your\x20test\x20image;\x20in\x20a\x20production\x20build\x20it\x20renders\x20the\x20real\x20camera.','layout','yarn','not-installed','Could\x20not\x20auto-wire\x20the\x20testID\x20injector:\x20','$1-$2','\x20\x20Reverted:\x20\x20\x20\x20\x20\x20\x20\x20','unrelated','Restart\x20Claude\x20Code\x20(or\x20your\x20MCP\x20client)\x20to\x20load\x20the\x20Ceraph\x20tools.','Skipped\x20(auto-injection):\x20','TwoSpaces','vafim','TimeoutError','NxqJw','readdir','Ceraph\x20rate\x20limit\x20hit.\x20Try\x20again\x20in\x20a\x20few\x20seconds.','endsWith','wPqFe','\x20(Note:\x20re-parse\x20failed\x20—\x20line\x20info\x20missing:\x20','getElements','installedAppsCache','index','qxhZs','UBiOa','children','Pro\x20·\x20$10/mo\x20—\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device.\x20Sign\x20in\x20to\x20start.','fileExists','value','token','yUPGN','Unknown\x20error\x20during\x20screenshot','multi','stdin','\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-flow-progress-notify.sh','apiBase','WebDriverAgent\x20is\x20not\x20reachable\x20at\x20','YYpAT','nothing\x20to\x20do','idb','name','getifaddr','Opening\x20','typeIntoField','Device\x20is\x20awake\x20(lockState:\x20','stringify','activateApp','booted','screenCount','\x20file(s)','getPixelRatio','POST,\x20GET,\x20OPTIONS','mcpServers','protocol','Pro\x20selected.\x20To\x20start\x20AI\x20flow\x20testing,\x20complete\x20checkout\x20at\x20','trimStart','mobilePro','preserved','Install\x20with\x20`brew\x20install\x20ffmpeg`\x20to\x20enable\x20per-chain\x20mp4\x20capture\x20on\x20real-device\x20runs.\x20Tests\x20will\x20continue\x20without\x20video\x20until\x20installed.','simulatorWdaPort','WDA\x20unreachable\x20and\x20no\x20iOS\x20device\x20detected\x20—\x20cannot\x20auto-bridge.','zozYK','key','hideKeyboardAfter','simctl\x20terminate\x20failed:\x20','Not\x20in\x20a\x20git\x20repo\x20(or\x20no\x20HEAD\x20commit\x20yet)\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.','stop','Found\x20','cwd','all','sLDeD','getSymbol','set','macOS\x20Screen\x20Recording\x20permission\x20not\x20granted.\x20Open\x20System\x20Settings\x20→\x20Privacy\x20&\x20Security\x20→\x20Screen\x20Recording\x20and\x20enable\x20your\x20terminal\x20app\x20(Terminal\x20/\x20iTerm\x20/\x20Warp\x20/\x20Cursor\x20/\x20VS\x20Code\x20—\x20whichever\x20launched\x20the\x20MCP).\x20After\x20granting,\x20fully\x20quit\x20and\x20relaunch\x20the\x20terminal,\x20then\x20unplug\x20and\x20replug\x20your\x20iPhone\x20before\x20retrying.','\x22\x20URL:\x20\x22','size','toFixed','then','fetchSourceTree','VebTu','preferSimulator','no-mobile-graph','xeRMq','settings.local.json','targetResolver','onStep','pickTransport','Pro\x20selected.\x0a','\x20\x20-\x20','HEAD','summary','not-pro','signal-host',';\x20},\x20[]);',';\x20}','message','Bearer\x20','\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20','verifySelector','expo-dynamic','ceraph-dir','wdaFetchAt','Which\x20plan?','_findNavBarBackButton','clearText','lastIndexOf','\x0a@ceraph/react-native-mcp\x20init\x0a','owner','Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','isArrayLiteralExpression','http:','waitFor','ready','writeFile','disableAutoLock','auth','screen','device','daOSk','iproxy\x20bridge\x20started\x20(pid\x20','\x0a@ceraph/react-native-mcp\x20uninstall\x0a','replace','Dry-run\x20boot\x20preview\x20failed;\x20re-run\x20without\x20--dry-run\x20to\x20see\x20the\x20real\x20error\x20path.','string','pressKey','pluginVersion','single','react','close','mSbaR','NXPwF','.mcp.json','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20to\x20a\x20\x22','remediation',':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22','object','openingTag','WebDriverAgent\x20is\x20reachable\x20at\x20','Claude\x20Code\x20hook:\x20','gQLRQ','simulatorUdid','pingStatus','/status','babel.config.js','Remove\x20the\x20ceraph\x20scheme\x20from\x20ios/<App>/Info.plist\x20CFBundleURLTypes\x20and\x20android/app/src/main/AndroidManifest.xml.\x20Both\x20files\x20were\x20never\x20written\x20by\x20init\x20—\x20they\x20require\x20manual\x20edits\x20because\x20they\x20are\x20inside\x20the\x20customer\x27s\x20native\x20project\x20tree.','/source?format=json','No\x20valid\x20selection.\x20Re-run\x20init\x20and\x20pick\x20a\x20numbered\x20option.','Windsurf','FLBvQ','ms:\x20','fPNie','tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20','assertNotVisible','seamed','@ceraph/react-native-mcp/shim','Couldn\x27t\x20ensure\x20appium-webdriveragent:\x20','.js','agentMessage','could\x20not\x20read\x20the\x20file','kill','removeElement','files','trimEnd','parse','auth.json','--terminate-existing','No\x20<CeraphCamera>\x20components\x20detected.\x20No\x20camera-setup\x20conversation\x20needed;\x20proceed\x20with\x20the\x20rest\x20of\x20the\x20project\x20work.','ffmpeg\x20not\x20required\x20for\x20simulator\x20targets\x20—\x20`xcrun\x20simctl\x20io\x20recordVideo`\x20(shipped\x20with\x20Xcode)\x20handles\x20video\x20capture.','2156152KYBvxK','getFullText','https://ceraph.dev/api/mcp','.codeium','number','gitignore','openUrl','xzZWz','stat','listapps','utf-8','isJsxOpeningElement','JbYVv','--device','CFBundleDisplayName','unref','=...','port','\x20—\x20continuous\x20chain-run\x20video\x20capture\x20is\x20wired.','realDeviceHook','isVariableDeclaration','totalReplacements','swOtS','command-failed','terminate','O_WRONLY','deleted','getDescendantsOfKind','setRealDeviceHook','isArray','config.toml','Multiple\x20React\x20Native\x20subpackages\x20detected:','KxciD','Detected\x20a\x20monorepo\x20at\x20the\x20current\x20directory\x20but\x20could\x20not\x20find\x20a\x20React\x20Native\x20or\x20Expo\x20subpackage.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20from\x20inside\x20the\x20RN/Expo\x20app\x20folder,\x20or\x20add\x20the\x20app\x20to\x20your\x20workspaces.','ext','parseError','startsWith','\x20(expected\x20an\x20object).','266998uFomQu','statusCode','line','Unsupported\x20pressKey:\x20','WDA\x20openUrl\x20failed:\x20','Unlock\x20the\x20device\x20manually\x20and\x20set\x20Auto-Lock\x20to\x20Never.','listInstalledApps','find','hSwbS','\x20`hooks`\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','No\x20element\x20found\x20matching\x20query:\x20','ceraph-uninstall-preview-','qFNLx','intent','Antigravity','Could\x20not\x20resolve\x20GitHub\x20repo\x20from\x20git\x20remote.','\x20<CameraView>\x20usage(s)\x20not\x20wrapped\x20by\x20<CeraphCamera>.',';\x20udid\x20','gate\x20closed','pIVYW','ExpressionStatement','rect','stripped','isDirectory','ios','11310930ndXZtb','already-approved','getWindowSize','WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.','isBlock','paths','Unknown\x20error\x20during\x20getSource','VpZiJ','Existing\x20sign-in\x20is\x20from\x20the\x20old\x20GitHub\x20OAuth\x20flow\x20—\x20re-authenticating\x20against\x20the\x20new\x20browser\x20flow.','Install\x20with\x20`brew\x20install\x20libimobiledevice`,\x20then\x20re-run\x20doctor.','ensureAwake','digest','cached','IopNo','No\x20working\x20launch\x20transport\x20found.\x20Install\x20Xcode\x20(for\x20devicectl)\x20or\x20idb\x20(https://fbidb.io/)\x20to\x20launch\x20apps\x20on\x20a\x20real\x20device.','getInitializer','exec','getLockState','.codex','not\x20associated','connectionProperties','isTTY','fetchedAt','/session/','\x20out\x20of\x20range.\x20Found\x20','FmukU','\x22\x20entry.','CFBundleName','open','ensureUrlScheme','swipe','accessibilityLabel','hostname','pointer','end','Screen\x20Recording\x20not\x20yet\x20verified\x20—\x20a\x20macOS\x20dialog\x20appears\x20the\x20first\x20time\x20Ceraph\x20drives\x20the\x20device\x20(click\x20Allow;\x20no\x20Settings\x20navigation\x20needed).\x20Session\x20video\x20only;\x20tests\x20run\x20regardless.','idb\x20launch\x20failed:\x20','RlWqq','length','code','DEeFd','--tier=','.git','argv','auto-lock-disabled','LIzte','toString','ViDMD','file','currentBaseUrl','app-installed','camera','wrHmi','.zshrc','indexOf','iproxyManager','aDLAQ','account-invalid','Could\x20not\x20reach\x20the\x20Ceraph\x20server.\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','tapTransport','Error:\x20--project-dir\x20does\x20not\x20exist:\x20','\x20[cached]','screenshot','<no\x20IP>','readPreference','JAdlI','runDoctor','remove','stdout','device-awake','Device\x20is\x20locked.\x20Unlock\x20it\x20manually\x20once,\x20then\x20set\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20so\x20it\x20stays\x20awake\x20while\x20flows\x20run.\x20WDA\x20can\x27t\x20bypass\x20Face\x20ID\x20or\x20a\x20passcode.','_layout.tsx','build','devicectl\x20info\x20apps\x20failed:\x20','Unknown\x20error\x20during\x20getActiveAppInfo','ZyEko','installCeraph()\x20is\x20wrapped\x20in\x20a\x20useEffect\x20that\x20also\x20contains\x20other\x20statements\x20(see\x20','no-config','no-gitignore','filesScanned','match','Pro\x20selected.\x20Complete\x20checkout\x20at\x20','application/json','source','uyywb','checks','contents','processIdentifier','your\x20Pro\x20access\x20refreshes\x20automatically.','&state=','warning','none','app','Ceraph\x20server\x20is\x20having\x20a\x20moment\x20(HTTP\x20','BkWDI','WDA\x20apps/launch\x20failed:\x20','\x20is\x20not\x20installed\x20on\x20the\x20device.','qOcoJ','removed-entries','expo-camera','expo-json-added','replaceWithText','longPressElement','ceraph','elementMatches','mode','getUdid','getOrientation','reset','locked','test','mkdir','checkIdb','insertStatements','down','app.config.ts','cSWpu','durationMs','get','QXttW','_systemBack','command','Already\x20wired\x20—\x20no\x20changes\x20needed.','rbyjj','No\x20token\x20provided.','\x20is\x20not\x20an\x20array\x20of\x20strings\x20—\x20preserved','.heic','UiEIb','\x0aYour\x20project\x20uses\x20','@ceraph/react-native-mcp@latest','JKUaa','Failed\x20to\x20parse\x20devicectl\x20output:\x20','has','every','No\x20element\x20found\x20for\x20query\x20at\x20index\x20','Code=115','POST','includes','read','Run\x20`iproxy\x208100\x208100\x20-u\x20<udid>`\x20manually\x20to\x20see\x20the\x20full\x20error.','Default\x20export\x20is\x20not\x20a\x20block-bodied\x20function.\x20Manually\x20add\x20the\x20following\x20at\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20','write','join','revertMcpClients','vklbo','/rn-init-graph','isLocked','cmd','CameraView','lyLbB','reason','\x0a}\x0a','type','getNameNode','\x20file(s):','/window/size','KdYOW','\x20(payload\x20was\x20capped\x20at\x20','ceraph://','global','created','from','keys','UDID_TTL_MS','\x20matching\x20element(s).','nextScheme','appium-webdriveragent\x20ready\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','/wda/keys','.rn-errors.json','/wda/pressButton','camera-images','Claude\x20Code\x20hook\x20(.rn-flow-progress.json):\x20already\x20configured','isIdentifier','vHtvr','JCGks','filePath','ignore','Verify\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20is\x20set\x20to\x20Never.\x20Otherwise\x20the\x20phone\x20will\x20sleep\x20mid-flow.','pnpm-lock.yaml','EphbF','installCeraph','\x20scheme\x20to\x20ceraph://','catch','edits','expo-json-already-registered','[--]','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20over\x20plaintext\x20HTTP\x20to\x20a\x20non-local\x20host:\x20\x22','target','content-type','installed','.jsx','installPackage','No\x20readable\x20graph-relevant\x20files\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.','right','findDeviceAppPid','App.tsx','yayTl','add','resolve','.claude','antigravity','Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.','WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','.rn-flow-progress.json','already-reverted','sCxgY','WDA\x20tap\x20failed\x20(serial\x20fallback)','\x20→\x20now\x20[','Invalid\x20Ceraph\x20endpoint\x20URL:\x20\x22','omitImageKey','fetch','Claude\x20Code:\x20','touch','push','getBody','listen','LiNfG','once','Access-Control-Allow-Headers','Skipped\x20—\x20no\x20bundleId\x20provided.','assertVisible','Detected\x20React\x20Native\x20app\x20at\x20','Unknown\x20error\x20during\x20clearText','revertBabelConfig','nonInteractive','revertPackage','../package.json','Signed\x20in\x20[cached]','plugins','lockState','finger1','6566296JLGvZP','\x20screen(s),\x20','windsurf','\x0aWarnings:\x0a','split','findIndex','\x20(dynamic\x20Expo\x20config)\x20—\x20we\x20can\x27t\x0asafely\x20auto-edit\x20a\x20JS/TS\x20file.\x20Add\x20Ceraph\x27s\x20URL\x20scheme\x20manually:\x0a\x0a\x20\x20export\x20default\x20({\x20config\x20})\x20=>\x20({\x0a\x20\x20\x20\x20...config,\x0a\x20\x20\x20\x20scheme:\x20Array.isArray(config.scheme)\x0a\x20\x20\x20\x20\x20\x20?\x20[...config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20:\x20config.scheme\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20[config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x22ceraph\x22,\x0a\x20\x20\x20\x20//\x20...\x20rest\x20of\x20your\x20expo\x20config\x0a\x20\x20});\x0a\x0aThen\x20re-run\x20`expo\x20prebuild\x20--clean`\x20if\x20you\x27ve\x20ejected,\x20or\x20just\x0arestart\x20the\x20dev\x20client.\x0a','WDA\x20keys\x20(backspace)\x20failed:\x20','Element\x20not\x20found\x20after\x20','filter','Element\x20still\x20visible\x20after\x20','getText','Set\x20your\x20','bWTkG','wdaFetch','xdg-open','?intent=pro','EOFrF','bun','cxTMK','rootIsRnApp','email','simctl\x20listapps\x20failed:\x20','Detected\x20bare\x20React\x20Native\x20project\x20(ios/\x20and/or\x20android/).','Cursor','element','babel-preset-expo','Failed\x20to\x20type\x20text\x20(serial\x20fallback)','udidInflight','@react-native/babel-preset','getParentIfKind','isNaN','addNamedImport','no\x20RN\x20project\x20detected','getDefaultImport','args','ceraph-uninstall-shell-preview-','volumeUp','getDeclarations','searchElements','Camera\x20images:\x20.ceraph/camera-images/\x20already\x20exists','hHolX','MySBY','revertSignalHostEnv','getArguments','No\x20correction\x20(device\x20coordinates)','\x20is\x20malformed\x20JSON\x20—\x20preserved;\x20fix\x20it\x20manually\x20then\x20re-run','--json-output','wda-reachable','wda','ceraph-dir\x20preview\x20returned\x20an\x20unexpected\x20status;\x20pass\x20--purge-images\x20explicitly\x20to\x20delete\x20.ceraph/.','simulator','Could\x20not\x20reach\x20the\x20Ceraph\x20server\x20(request\x20timed\x20out\x20after\x20','apps','processes','Hook\x20script:\x20.claude/hooks/rn-flow-progress-notify.sh\x20✓','shell','matches','Failed\x20to\x20get\x20window\x20size:\x20','.ceraph','fnPjV','labelledBack','intervalMs','VS\x20Code','getTagNameNode','.ceraph/runs/','\x0aRuntime\x20error\x20hook:','Boot\x20revert\x20returned\x20an\x20unrecognised\x20status\x20shape.','home','page','added','appium-webdriveragent\x20not\x20required\x20for\x20this\x20target.','stderr','.expo','isExportAssignment','SIGKILL','coordinateSource','manual','expo','no-git-repo','android','aDvML','getNamedImports','.gemini','connected','Camera\x20registry\x20sync\x20failed:\x20','aoiFN','listener','map','.bashrc',']:\x20','purgeImages','tier-gated','getStatements','call','Usage:\x20npx\x20@ceraph/react-native-mcp\x20uninstall\x20[flags]\x0a\x0aRemoves\x20Ceraph\x20from\x20the\x20current\x20React\x20Native\x20/\x20Expo\x20project.\x20By\x20default:\x0a-\x20Reverts\x20source-tree\x20edits\x20(CameraView,\x20layout\x20boot,\x20ceraph\x20URL\x20scheme)\x0a-\x20Strips\x20MCP\x20client\x20configs\x20(.mcp.json,\x20.cursor/,\x20.vscode/,\x20.codex/)\x0a-\x20Removes\x20gitignore\x20entries\x0a-\x20Removes\x20CERAPH_SIGNAL_HOST\x20from\x20your\x20shell\x20rc\x0a-\x20Removes\x20@ceraph/react-native-mcp\x20from\x20package.json\x0a-\x20LEAVES\x20.ceraph/\x20(test\x20images,\x20design\x20snapshots)\x20in\x20place\x0a-\x20LEAVES\x20~/.ceraph/auth.json\x20in\x20place\x20(token\x20is\x20user-global)\x0a\x0aFlags:\x0a\x20\x20-y,\x20--yes\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Skip\x20confirmation\x20prompts.\x0a\x20\x20\x20\x20\x20\x20--purge-images\x20\x20\x20\x20\x20Also\x20delete\x20.ceraph/\x20(camera\x20images\x20+\x20snapshots).\x0a\x20\x20\x20\x20\x20\x20--global\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Also\x20delete\x20~/.ceraph/auth.json\x20(logs\x20you\x20out\x20of\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20every\x20Ceraph\x20install\x20on\x20this\x20machine).\x0a\x20\x20\x20\x20\x20\x20--dry-run\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Preview\x20the\x20revert\x20without\x20mutating\x20anything.\x0a\x20\x20\x20\x20\x20\x20--project-dir\x20<p>\x20\x20Operate\x20on\x20this\x20subpackage.\x20Required\x20when\x20a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20monorepo\x20has\x20more\x20than\x20one\x20RN\x20app.\x0a\x20\x20-h,\x20--help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Print\x20this\x20help\x20and\x20exit.\x0a','--yes','alreadyHasImageKey','confirm','label','deleted-file','chmod','pyaoL','expected\x20element\x20','README.md','Ceraph\x20request\x20failed\x20(HTTP\x20','version','setHeader','Unable\x20to\x20determine\x20device\x20lock\x20state.\x20Make\x20sure\x20the\x20device\x20is\x20unlocked\x20and\x20the\x20screen\x20is\x20on,\x20then\x20re-run\x20the\x20flow.','\x20\x202.\x20Complete\x20checkout:\x20https://ceraph.dev/#pricing','tokenPromise','package-lock.json','which','text','malformed','cachedAt','.vscode','install','error','ceraph-uninstall-mcp-preview-','applied','log','Already\x20wired\x20—\x20added\x20missing\x20import(s).','Device\x20is\x20not\x20awake\x20(lockState:\x20','iproxy\x20auto-bridge\x20failed\x20to\x20start:\x20','Screen\x20Recording\x20granted\x20—\x20session\x20video\x20will\x20record.','useEffect\x20contains\x20other\x20statements','severity','GDTaO','screen-off','no\x20shell\x20profile','getAttributes','tQlCt','http://localhost:','MxlUG','camera-image-key-orphan','utf8','networksetup','LSApplicationWorkspaceErrorDomain','uVdMB','active','szDDd','stem','already','devicectlAvailable','function','baseUrl','method\x20not\x20allowed','bundleId','/wda/activeAppInfo','not-found','already-injected','workspaces','ttlMs','nEOjX','signals','InNUO','rn-flow-progress-notify.sh','imageKey','Build\x20and\x20install\x20the\x20app:\x20`expo\x20run:ios\x20--device\x20<udid>`\x20or\x20`npx\x20react-native\x20run-ios\x20--udid\x20<udid>`.','revertCeraphDir','WDA\x20actions\x20tap\x20failed','\x22\x20—\x20must\x20be\x20an\x20absolute\x20URL\x20with\x20a\x20scheme\x20(e.g.\x20https://ceraph.dev/api/mcp\x20or\x20http://localhost:3000/api/mcp).','--global','settings.json','Continue\x20with\x20uninstall?','scriptAbsPath','\x0a[mcp_servers.react-native-mcp]\x0acommand\x20=\x20\x22npx\x22\x0aargs\x20=\x20[\x22-y\x22,\x20\x22','present','Failed\x20to\x20clear\x20field\x20before\x20typing','\x20(preview)','abort','iproxy\x20is\x20not\x20installed\x20—\x20cannot\x20auto-bridge\x20WDA.','ts-morph','Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20doctor.','Test\x20images:\x20call\x20`ceraph_add_camera_image`\x20(writes\x20+\x20auto-syncs\x20the\x20registry),\x20or\x20drop\x20files\x20into\x20','WDA\x20tap\x20failed','app.json','useEffect','Working\x20from\x20','addImportDeclaration','address','\x20\x20[WARN]\x20\x20\x20\x20','Could\x20not\x20locate\x20the\x20default-exported\x20function\x20component.\x20Manually\x20add\x20the\x20following\x20near\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20','EbGOh','\x20—\x20then\x20re-run\x20init\x20(or\x20any\x20flow\x20tool).\x20Your\x20Pro\x20access\x20refreshes\x20automatically.','wdaReady','/\x20\x20[','Missing\x20env\x20var(s):\x20','tapAtPoint','Also\x20sign\x20out\x20(delete\x20~/.ceraph/auth.json)?','Rewrite\x20','exitCode','ask','Laptop\x20is\x20on\x20WiFi\x20\x27','bin','vIiCF','location','bare','@ceraph/react-native-mcp','\x20<CeraphCamera>\x20component','random','previousScheme','App\x20','24TFxlOR','AbortError','mcp_config.json','/wda/apps/terminate','dnkFf','MmnsN',':\x20existing\x20mcpServers\x20in\x20','<!doctype\x20html><html><body\x20style=\x22font-family:system-ui;padding:32px;background:#0b0f14;color:#e6edf3;\x22><h1>CLI\x20signed\x20in</h1><p>You\x20can\x20close\x20this\x20tab.</p></body></html>','writeTier','\x20\x20[BLOCKER]\x20','camera-registry-synced','Graph\x20cache\x20seed\x20failed\x20(unknown\x20error).','isDefaultExport','@ceraph/react-native-mcp/babel-plugin','Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);','timeoutMs','collectVisibleElements','direction','iproxy\x20bridge\x20already\x20running\x20(external).','::ffff:7f00:1','PropertyAssignment','AXSvP','snapshotTarget','findAndTap','install-failed','no-changes','RPohF'];_0x5f11=function(){return _0x40b1e2;};return _0x5f11();}async function _0x4a9947(_0x4f9a65){const _0x3132d6=_0xa6e1,_0x21d22e=_0x58745a(tmpdir(),'ceraph-uninstall-mcp-global-preview-'+Date[_0x3132d6(0x1ec)]()+'-'+Math['random']()['toString'](0x24)['slice'](0x2));return _0x3ac8e9(_0x21d22e,async()=>{const _0x307fcd=_0x3132d6,_0x4e0695=_0x58745a(_0x21d22e,_0x307fcd(0x45d));await _0x2ea8a6(_0x4e0695,{'recursive':!![]});const _0x1b2d9f=_0x18d53e(_0x4f9a65);for(let _0x375a0c=0x0;_0x375a0c<_0x24c2a5['length'];_0x375a0c++){if('proTG'==='WZpGj'){if(_0x3b30e7===_0x307fcd(0x283))_0x520ac7=_0x4aa18f;else _0x2f0ede=_0x35b8f2;}else{const _0x1d3856=_0x24c2a5[_0x375a0c],_0x46694e=_0x1b2d9f[_0x375a0c];if(!_0x1d3856||!_0x46694e)continue;const _0x281655=_0x58745a(_0x4e0695,..._0x1d3856['file']);try{await _0x2ea8a6(_0x1e54f4(_0x281655),{'recursive':!![]}),await copyFile(_0x46694e[_0x307fcd(0x1e5)],_0x281655);}catch{}}}return{'tmpHome':_0x4e0695,'tmpRoot':_0x21d22e};});}async function _0x1a232e(_0x257060,_0x32bef0,_0x5d0ceb){const _0x24c044=_0xa6e1,_0x51bb9a=_0x32bef0['revertClaudeHooks']??_0x10a8bd;if(_0x5d0ceb)try{const _0x5065c7=await _0x326f3d(_0x257060);try{const _0x10ab3e=await _0x51bb9a({'projectDir':_0x5065c7['projectDir']});return _0x3d7766(_0x10ab3e,!![]);}finally{await _0x533ab2(_0x5065c7['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x553a3d){return{'name':'claude-hooks','status':_0x24c044(0x48f),'details':{'error':_0x1d8222(_0x553a3d),'dryRun':!![]}};}try{const _0x44728a=await _0x51bb9a({'projectDir':_0x257060});return _0x3d7766(_0x44728a,![]);}catch(_0x550331){return _0x24c044(0x518)==='hZGra'?{'name':'claude-hooks','status':_0x24c044(0x48f),'details':{'error':_0x1d8222(_0x550331)}}:new _0x5316a4(_0x37bbad=>{const _0x28a9c4=_0x24c044,_0x42cd54=_0x5804c2(_0x4aeffe[_0x28a9c4(0x4dc)],_0x3009b8['args'],{'cwd':_0x532c58[_0x28a9c4(0x28f)],'stdio':'inherit'});_0x42cd54['on'](_0x28a9c4(0x48f),()=>_0x37bbad({'exitCode':0x7f})),_0x42cd54['on'](_0x28a9c4(0x542),_0x402b2c=>_0x37bbad({'exitCode':_0x402b2c??0x1}));});}}function _0x3d7766(_0x22fdf2,_0x508b8a){const _0x54d7d6=_0xa6e1,_0x483eb3=_0x508b8a?{'dryRun':!![]}:{};switch(_0x22fdf2['status']){case'reverted':return{'name':_0x54d7d6(0x1af),'status':_0x54d7d6(0x16e),'details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3}};case'already-reverted':return{'name':_0x54d7d6(0x1af),'status':'already-reverted','details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3}};case'manual':return{'name':_0x54d7d6(0x1af),'status':'manual','details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3},'remediation':'Hook\x20script(s)\x20were\x20customized\x20after\x20init\x20wrote\x20them,\x20so\x20the\x20reverter\x20left\x20them\x20in\x20place:\x20'+_0x22fdf2[_0x54d7d6(0x200)]['scriptsLeftAlone']['join'](',\x20')+'.\x20If\x20you\x20no\x20longer\x20need\x20the\x20customized\x20version,\x20delete\x20the\x20file\x20manually.\x20Settings\x20entries\x20pointing\x20at\x20the\x20script(s)\x20'+(_0x22fdf2['details']['settingsFilesModified'][_0x54d7d6(0x358)]>0x0?'were\x20removed\x20from\x20'+_0x22fdf2[_0x54d7d6(0x200)]['settingsFilesModified']['join'](',\x20')+'.':'were\x20not\x20touched\x20in\x20this\x20run.')};case _0x54d7d6(0x1a6):return{'name':'claude-hooks','status':_0x54d7d6(0x1a6),'details':{..._0x22fdf2[_0x54d7d6(0x200)],..._0x483eb3}};}}async function _0x326f3d(_0x375758){const _0x5ac909=_0xa6e1,_0x293c48=_0x58745a(tmpdir(),'ceraph-uninstall-claude-hooks-preview-'+Date[_0x5ac909(0x1ec)]()+'-'+Math[_0x5ac909(0x4e2)]()['toString'](0x24)['slice'](0x2));return _0x3ac8e9(_0x293c48,async()=>{const _0x29ffad=_0x5ac909;await _0x2ea8a6(_0x293c48,{'recursive':!![]});const _0x3b220b=[_0x58745a('.claude',_0x29ffad(0x19f),'rn-error-notify.sh'),_0x58745a(_0x29ffad(0x3f9),'hooks',_0x29ffad(0x4b6)),_0x58745a('.claude',_0x29ffad(0x4bd)),_0x58745a('.claude',_0x29ffad(0x29e))];for(const _0x1b1c2f of _0x3b220b){const _0x3fb69d=_0x58745a(_0x375758,_0x1b1c2f),_0x3a5600=_0x58745a(_0x293c48,_0x1b1c2f);try{await _0x2ea8a6(_0x1e54f4(_0x3a5600),{'recursive':!![]}),await copyFile(_0x3fb69d,_0x3a5600);}catch{}}return{'projectDir':_0x293c48,'tmpRoot':_0x293c48};});}async function _0x2b2ed1(_0x5df285,_0x42cda9,_0x7106fe){const _0x19e17d=_0xa6e1,_0x546c1c=_0x42cda9['revertGitignore']??_0x33a4a4;if(_0x7106fe){const _0x5a7ea1=_0x58745a(tmpdir(),_0x19e17d(0x53a)+Date[_0x19e17d(0x1ec)]()+'-'+Math[_0x19e17d(0x4e2)]()[_0x19e17d(0x360)](0x24)[_0x19e17d(0x554)](0x2));try{try{await _0x2ea8a6(_0x5a7ea1,{'recursive':!![]});try{await copyFile(_0x58745a(_0x5df285,'.gitignore'),_0x58745a(_0x5a7ea1,'.gitignore'));}catch{}for(const _0x51cf5b of['.rn-errors.json','.rn-flow-progress.json']){try{await copyFile(_0x58745a(_0x5df285,_0x51cf5b),_0x58745a(_0x5a7ea1,_0x51cf5b));}catch{}}const _0x54661f=await _0x546c1c(_0x5a7ea1);return _0x1d0929(_0x54661f,!![]);}finally{await _0x533ab2(_0x5a7ea1,{'recursive':!![],'force':!![]})[_0x19e17d(0x3e8)](()=>void 0x0);}}catch(_0x11ec5e){return{'name':_0x19e17d(0x2f8),'status':_0x19e17d(0x48f),'details':{'error':_0x1d8222(_0x11ec5e),'dryRun':!![]}};}}try{const _0x5d3583=await _0x546c1c(_0x5df285);return _0x1d0929(_0x5d3583,![]);}catch(_0x36756c){return{'name':'gitignore','status':_0x19e17d(0x48f),'details':{'error':_0x1d8222(_0x36756c)}};}}function _0x1d0929(_0x3ce7ae,_0x52a568){const _0x41d869=_0xa6e1,_0x3096e7=_0x52a568?{'dryRun':!![]}:{},_0x15967c=_0x3ce7ae[_0x41d869(0x54f)];switch(_0x3ce7ae['status']){case'reverted':return{'name':'gitignore','status':_0x41d869(0x16e),'details':{'path':_0x3ce7ae['path'],'removedLines':_0x3ce7ae['removedLines'],'removedRuntimeFiles':_0x15967c,..._0x3096e7}};case _0x41d869(0x3fe):return{'name':_0x41d869(0x2f8),'status':_0x15967c[_0x41d869(0x358)]>0x0?'reverted':_0x41d869(0x3fe),'details':{'path':_0x3ce7ae[_0x41d869(0x1e5)],'removedRuntimeFiles':_0x15967c,..._0x3096e7}};case'no-gitignore':return{'name':'gitignore','status':_0x15967c['length']>0x0?_0x41d869(0x16e):'already-reverted','details':{'reason':'no\x20.gitignore','removedRuntimeFiles':_0x15967c,..._0x3096e7}};}}async function _0x4c71ee(_0x104b62,_0x3b69bb){const _0x5eae91=_0xa6e1,_0x6549b9=_0x104b62[_0x5eae91(0x444)]??_0x55a421,_0x22bd44=_0x104b62['homeDir']?.();if(_0x3b69bb)try{if(_0x5eae91(0x29d)!=='xeRMq')return{'name':'signal-host','status':'error','details':{'error':_0x211eb6(_0x370e4b),'dryRun':!![]}};else{const _0x2cfe6c=await _0x4702d5(_0x22bd44);try{const _0x5bb970=await _0x6549b9({'home':_0x2cfe6c['tmpHome']});return _0x2ca420(_0x5bb970,!![]);}finally{await _0x533ab2(_0x2cfe6c[_0x5eae91(0x56a)],{'recursive':!![],'force':!![]})[_0x5eae91(0x3e8)](()=>void 0x0);}}}catch(_0x559842){return{'name':_0x5eae91(0x2a7),'status':'error','details':{'error':_0x1d8222(_0x559842),'dryRun':!![]}};}try{const _0x16fafb=await _0x6549b9({'home':_0x22bd44});return _0x2ca420(_0x16fafb,![]);}catch(_0x380cdd){return{'name':_0x5eae91(0x2a7),'status':'error','details':{'error':_0x1d8222(_0x380cdd)}};}}function _0x2ca420(_0x4eafac,_0x8e3b2d){const _0x4b185e=_0xa6e1,_0x1d9681=_0x8e3b2d?{'dryRun':!![]}:{};switch(_0x4eafac['status']){case _0x4b185e(0x16e):return{'name':_0x4b185e(0x2a7),'status':'reverted','details':{'path':_0x4eafac[_0x4b185e(0x1e5)],'shell':_0x4eafac[_0x4b185e(0x451)],'removedIp':_0x4eafac['removedIp'],..._0x1d9681}};case'already-reverted':return{'name':_0x4b185e(0x2a7),'status':'already-reverted','details':{'path':_0x4eafac['path'],'shell':_0x4eafac[_0x4b185e(0x451)],..._0x1d9681}};case'no-profile':return{'name':_0x4b185e(0x2a7),'status':_0x4b185e(0x3fe),'details':{'reason':_0x4b185e(0x49b),'path':_0x4eafac['path'],..._0x1d9681}};}}async function _0x4702d5(_0x42b2db){const _0x44c9ea=_0xa6e1,_0x41cfad=_0x42b2db??_0x14aebe(),_0x2f4e58=_0x58745a(tmpdir(),_0x44c9ea(0x43d)+Date[_0x44c9ea(0x1ec)]()+'-'+Math[_0x44c9ea(0x4e2)]()[_0x44c9ea(0x360)](0x24)[_0x44c9ea(0x554)](0x2));return _0x3ac8e9(_0x2f4e58,async()=>{const _0x317484=_0x44c9ea,_0x1c4af2=_0x58745a(_0x2f4e58,_0x317484(0x45d));await _0x2ea8a6(_0x1c4af2,{'recursive':!![]});for(const _0x3dcaf1 of[_0x317484(0x367),'.bashrc']){try{await copyFile(_0x58745a(_0x41cfad,_0x3dcaf1),_0x58745a(_0x1c4af2,_0x3dcaf1));}catch{}}return{'tmpHome':_0x1c4af2,'tmpRoot':_0x2f4e58};});}async function _0x167937(_0x2d12db,_0x14ef26,_0x5c0673){const _0x50413d=_0xa6e1,_0x129ff9=_0x14ef26[_0x50413d(0x4b9)]??_0x5b59da;if(!_0x14ef26[_0x50413d(0x474)])try{const _0x317c10=await _0x129ff9({'projectDir':_0x2d12db,'confirm':![]});if(_0x317c10['status']==='already-reverted'){if(_0x50413d(0x1e7)==='gVHIC')return{'name':'ceraph-dir','status':'already-reverted','details':{'path':_0x317c10[_0x50413d(0x1e5)],..._0x5c0673?{'dryRun':!![]}:{}}};else return;}if(_0x317c10['status']==='skipped-needs-confirmation')return{'name':_0x50413d(0x2af),'status':_0x50413d(0x1a6),'details':{'path':_0x317c10[_0x50413d(0x1e5)],'paths':_0x317c10[_0x50413d(0x337)],..._0x5c0673?{'dryRun':!![]}:{}},'remediation':'Re-run\x20with\x20--purge-images\x20to\x20delete\x20.ceraph/\x20(camera\x20images,\x20design\x20snapshots,\x20run\x20artifacts).\x20Default\x20leaves\x20them\x20in\x20place\x20so\x20a\x20re-install\x20picks\x20up\x20where\x20you\x20left\x20off.'};return{'name':_0x50413d(0x2af),'status':'error','details':{'unexpectedStatus':_0x317c10['status'],..._0x5c0673?{'dryRun':!![]}:{}},'remediation':_0x50413d(0x44b)};}catch(_0x19c227){return _0x50413d(0x4fa)==='DeAvr'?null:{'name':_0x50413d(0x2af),'status':'error','details':{'error':_0x1d8222(_0x19c227),..._0x5c0673?{'dryRun':!![]}:{}}};}if(_0x5c0673)try{const _0x2691a4=await _0x129ff9({'projectDir':_0x2d12db,'confirm':![]});if(_0x2691a4['status']==='already-reverted')return{'name':'ceraph-dir','status':_0x50413d(0x3fe),'details':{'path':_0x2691a4['path'],'dryRun':!![]}};if(_0x2691a4[_0x50413d(0x17a)]==='skipped-needs-confirmation')return{'name':'ceraph-dir','status':_0x50413d(0x16e),'details':{'path':_0x2691a4['path'],'paths':_0x2691a4[_0x50413d(0x337)],'dryRun':!![]}};return{'name':_0x50413d(0x2af),'status':_0x50413d(0x48f),'details':{'unexpectedStatus':_0x2691a4[_0x50413d(0x17a)],'dryRun':!![]}};}catch(_0x245ebf){return{'name':'ceraph-dir','status':'error','details':{'error':_0x1d8222(_0x245ebf),'dryRun':!![]}};}try{const _0x106d93=await _0x129ff9({'projectDir':_0x2d12db,'confirm':!![]});switch(_0x106d93[_0x50413d(0x17a)]){case _0x50413d(0x30d):return{'name':_0x50413d(0x2af),'status':'reverted','details':{'path':_0x106d93['path'],'deletedEntries':_0x106d93['deletedEntries']}};case _0x50413d(0x3fe):return{'name':'ceraph-dir','status':'already-reverted','details':{'path':_0x106d93['path']}};case _0x50413d(0x17b):return{'name':'ceraph-dir','status':_0x50413d(0x1a6),'details':{'path':_0x106d93['path'],'unexpected':!![]}};}}catch(_0x31c24c){return{'name':_0x50413d(0x2af),'status':_0x50413d(0x48f),'details':{'error':_0x1d8222(_0x31c24c)}};}}async function _0x2c9a25(_0x514d15,_0x3a57e3){const _0x5238d1=_0xa6e1,_0x25d77d=_0x514d15['revertAuth']??_0x507b90,_0x5e2400=_0x514d15[_0x5238d1(0x53d)]?.();if(!_0x514d15['global'])try{const _0x15f9f7=await _0x25d77d({'global':![]},{'home':_0x5e2400});return{'name':_0x5238d1(0x2be),'status':'skipped','details':{'path':_0x15f9f7['path'],..._0x3a57e3?{'dryRun':!![]}:{}},'remediation':'Re-run\x20with\x20--global\x20to\x20delete\x20~/.ceraph/auth.json.\x20Note:\x20this\x20token\x20is\x20shared\x20across\x20every\x20Ceraph\x20install\x20on\x20this\x20machine\x20—\x20removing\x20it\x20logs\x20you\x20out\x20everywhere.'};}catch(_0x4b68ec){return{'name':'auth','status':'error','details':{'error':_0x1d8222(_0x4b68ec),..._0x3a57e3?{'dryRun':!![]}:{}}};}if(_0x3a57e3)try{const _0x4befc7=_0x5e2400??_0x14aebe(),_0x169ab9=_0x58745a(_0x4befc7,_0x5238d1(0x454),'auth.json');let _0x5eb5b8=![];try{await _0x5f4df0(_0x169ab9),_0x5eb5b8=!![];}catch{_0x5eb5b8=![];}return{'name':_0x5238d1(0x2be),'status':_0x5eb5b8?_0x5238d1(0x16e):'already-reverted','details':{'path':_0x169ab9,'dryRun':!![],'wouldDelete':_0x5eb5b8}};}catch(_0x253f99){return{'name':_0x5238d1(0x2be),'status':'error','details':{'error':_0x1d8222(_0x253f99),'dryRun':!![]}};}try{const _0x4cb7b8=await _0x25d77d({'global':!![]},{'home':_0x5e2400});switch(_0x4cb7b8['status']){case'deleted':return{'name':_0x5238d1(0x2be),'status':'reverted','details':{'path':_0x4cb7b8['path']}};case _0x5238d1(0x3fe):return{'name':_0x5238d1(0x2be),'status':'already-reverted','details':{'path':_0x4cb7b8[_0x5238d1(0x1e5)]}};case _0x5238d1(0x1a6):return{'name':'auth','status':'skipped','details':{'path':_0x4cb7b8[_0x5238d1(0x1e5)],'unexpected':!![]}};}}catch(_0x4992b8){return{'name':'auth','status':'error','details':{'error':_0x1d8222(_0x4992b8)}};}}async function _0x23b1f4(_0x28b3ff,_0x5adef1,_0x16ba20){const _0x5c8831=_0xa6e1,_0x27fbf4=_0x5adef1[_0x5c8831(0x413)]??_0x86b709,_0x3c93f5=_0x5adef1[_0x5c8831(0x22d)];if(_0x16ba20)try{const _0x3e6213=await _0x27fbf4(_0x28b3ff,{'spawnRemove':_0x4da381});return _0x4d5a92(_0x3e6213,!![]);}catch(_0x1d0ab3){return{'name':_0x5c8831(0x511),'status':'error','details':{'error':_0x1d8222(_0x1d0ab3),'dryRun':!![]}};}try{if('KPBha'!=='KPBha')this[_0x5c8831(0x2bf)]['pingStatus']()['catch'](()=>void 0x0);else{const _0x520dc0=await _0x27fbf4(_0x28b3ff,_0x3c93f5?{'spawnRemove':_0x3c93f5}:{});return _0x4d5a92(_0x520dc0,![]);}}catch(_0x3b6e9f){return{'name':'package','status':_0x5c8831(0x48f),'details':{'error':_0x1d8222(_0x3b6e9f)}};}}function _0x4d5a92(_0xe1a3b9,_0x448539){const _0x219a49=_0xa6e1,_0x2cb3bc=_0x448539?{'dryRun':!![]}:{};switch(_0xe1a3b9['status']){case _0x219a49(0x1a9):return{'name':'package','status':_0x219a49(0x16e),'details':{'packageManager':_0xe1a3b9['pm'],'removedPackages':_0xe1a3b9[_0x219a49(0x504)],'command':_0xe1a3b9[_0x219a49(0x3ab)],..._0x2cb3bc}};case _0x219a49(0x50c):return{'name':'package','status':'already-reverted','details':{'packageManager':_0xe1a3b9['pm'],..._0x2cb3bc}};case _0x219a49(0x30a):return{'name':_0x219a49(0x511),'status':'error','details':{'packageManager':_0xe1a3b9['pm'],'command':_0xe1a3b9['command'],'exitCode':_0xe1a3b9['exitCode'],..._0x2cb3bc},'remediation':_0xe1a3b9['pm']+'\x20'+(_0xe1a3b9[_0x219a49(0x3ab)]?.[_0x219a49(0x43c)]['join']('\x20')??'')+'\x20exited\x20with\x20code\x20'+_0xe1a3b9[_0x219a49(0x4d9)]+_0x219a49(0x1b3)};}}function _0x1d8222(_0x470120){return _0x470120 instanceof Error?_0x470120['message']:String(_0x470120);}async function _0x589547(_0x24355f,_0x5502c2,_0x364817){const _0x153fbf=_0xa6e1,_0x4d0e88=_0x5502c2[_0x153fbf(0x411)]??(_0x21d7e0=>_0x1a60ed({'projectDir':_0x21d7e0,..._0x364817?{'writeFile':async()=>void 0x0,'unlink':async()=>void 0x0}:{}}));try{const _0x214226=await _0x4d0e88(_0x24355f);return _0x3b21e3(_0x214226,_0x364817);}catch(_0x13d43f){return{'name':_0x153fbf(0x1ee),'status':_0x153fbf(0x48f),'details':{'error':_0x1d8222(_0x13d43f),..._0x364817?{'dryRun':!![]}:{}}};}}function _0x3b21e3(_0x1a6c34,_0x4d34ec){const _0x3b8f44=_0xa6e1,_0x379570=_0x4d34ec?{'dryRun':!![]}:{};switch(_0x1a6c34['status']){case _0x3b8f44(0x16e):return{'name':_0x3b8f44(0x1ee),'status':'reverted','details':{'path':_0x1a6c34[_0x3b8f44(0x1e5)],'action':_0x1a6c34['action'],..._0x379570}};case'already-reverted':return{'name':'babel-config','status':_0x3b8f44(0x3fe),'details':{'path':_0x1a6c34[_0x3b8f44(0x1e5)],..._0x379570}};case'no-config':return{'name':_0x3b8f44(0x1ee),'status':'already-reverted','details':{..._0x379570}};}}async function _0x3ac8e9(_0x1c0a58,_0x4efb79){const _0x528ee9=_0xa6e1;try{return _0x528ee9(0x46f)!==_0x528ee9(0x206)?await _0x4efb79():{'mutated':![],'next':_0x1fc395};}catch(_0x2d295b){if('dOefS'==='dOefS'){try{await _0x533ab2(_0x1c0a58,{'recursive':!![],'force':!![]});}catch{}throw _0x2d295b;}else{try{_0x5f2df0[_0x528ee9(0x2cb)]();}catch{}_0x279537(new _0x41f93c('Could\x20not\x20bind\x20a\x20free\x20port\x20for\x20the\x20auth\x20listener.'));return;}}}async function _0x974713(_0x13b097,_0x456147){const _0x4b6da3=_0xa6e1,_0x27267e=_0x58745a(tmpdir(),'ceraph-uninstall-boot-preview-'+Date[_0x4b6da3(0x1ec)]()+'-'+Math[_0x4b6da3(0x4e2)]()[_0x4b6da3(0x360)](0x24)['slice'](0x2));return _0x3ac8e9(_0x27267e,async()=>{const _0x248a9b=_0x4b6da3,_0x24767c=_0x2cd72a(_0x456147,_0x13b097),_0x6d2c62=_0x3f92a0(_0x24767c)?_0x248a9b(0x3f5):_0x24767c,_0x3d85e2=_0x58745a(_0x27267e,_0x6d2c62);return await _0x2ea8a6(_0x1e54f4(_0x3d85e2),{'recursive':!![]}),await copyFile(_0x13b097,_0x3d85e2),{'projectDir':_0x27267e,'tmpRoot':_0x27267e};});}function _0x566988(_0xd39c94,_0x5a4505){const _0x3213fe=_0xa6e1,_0x556691=[],_0x1ecd25=[];let _0x566b78=0x0,_0x1dcee7=0x0;for(const _0x5641a8 of _0x5a4505){if(_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x16e)||_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x38c))_0x566b78++;else(_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x1a6)||_0x5641a8['status']==='already-reverted')&&_0x1dcee7++;_0x5641a8[_0x3213fe(0x17a)]===_0x3213fe(0x38c)&&_0x5641a8[_0x3213fe(0x2d0)]&&_0x556691['push'](_0x5641a8[_0x3213fe(0x2d0)]),_0x5641a8['status']===_0x3213fe(0x466)&&_0x5641a8['remediation']&&_0x1ecd25[_0x3213fe(0x407)](_0x5641a8[_0x3213fe(0x2d0)]);}return{'workingDir':_0xd39c94,'steps':_0x5a4505,'summary':{'reverted':_0x566b78,'skipped':_0x1dcee7,'warnings':_0x556691,'manualSteps':_0x1ecd25}};}var _0x39e9f6,_0x37c94c,_0x569cfd,_0x4da381,_0x565cae=_0x1b53f6({'src/uninstall/walkthrough.ts'(){'use strict';_0x52a119(),_0x2cd108(),_0x33c85d(),_0x167683(),_0x3ecc48(),_0x140b62(),_0x2cb360(),_0x133df7(),_0xbc4a64(),_0x4ccfc8(),_0x4b19cf(),_0x47835d(),_0x514ce2(),_0x569cfd=![],_0x4da381=async _0x241570=>({'exitCode':0x0});}}),_0x4e1a11={};_0x2c4819(_0x4e1a11,{'formatStepLine':()=>_0x40507b,'formatSummary':()=>_0x330496,'parseArgs':()=>_0x43fd3b,'runUninstallCli':()=>_0x2fd1b3});import{spawn as _0x4dbee8}from'child_process';import{stat as _0x1e5d32}from'fs/promises';import{join as _0x4f7c32}from'path';async function _0x2fd1b3(_0x5f1400){const _0x12b232=_0xa6e1,_0x5dba1a=_0x43fd3b(_0x5f1400[_0x12b232(0x35d)]);if(_0x5dba1a['help'])return _0x7c81a8(_0x52816b,_0x5f1400),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x5dba1a};if(_0x5dba1a['unknown']['length']>0x0)return _0x7c81a8('Unknown\x20flag(s):\x20'+_0x5dba1a[_0x12b232(0x548)][_0x12b232(0x3c0)](',\x20')+'\x0a\x0a'+_0x52816b,_0x5f1400),{'exitCode':0x1,'walkthrough':null,'parsedFlags':_0x5dba1a};const _0x516709=_0x5dba1a['projectDir']??_0x5f1400['cwd']??process['cwd']();if(_0x5dba1a['projectDir']!=null){const _0x1175f9=await _0x146dc7(_0x5dba1a['projectDir']);if(_0x1175f9!==null)return _0x7c81a8(_0x1175f9+'\x0a',_0x5f1400),{'exitCode':0x1,'walkthrough':null,'parsedFlags':_0x5dba1a};}let _0x22b94a=_0x5dba1a['purgeImages'],_0x18c231=_0x5dba1a[_0x12b232(0x3d1)];if(!_0x5dba1a['yes']&&!_0x5dba1a['dryRun']){_0x7c81a8(_0x12b232(0x2c3),_0x5f1400),_0x7c81a8('\x20\x20Project:\x20'+_0x516709+'\x0a',_0x5f1400),_0x7c81a8('\x20\x20Mode:\x20\x20\x20\x20live\x20(no\x20--dry-run)\x0a',_0x5f1400),_0x7c81a8('\x20\x20Default-safe:\x20leaves\x20.ceraph/\x20and\x20~/.ceraph/auth.json\x20untouched.\x0a\x0a',_0x5f1400);const _0x3d7722=await _0x2a4875(_0x12b232(0x4be),{..._0x5f1400,'defaultYes':![]});if(!_0x3d7722)return _0x7c81a8('\x0aAborted\x20—\x20no\x20changes\x20made.\x0a',_0x5f1400),{'exitCode':0x0,'walkthrough':null,'parsedFlags':_0x5dba1a};!_0x22b94a&&(_0x22b94a=await _0x2a4875('Also\x20purge\x20camera\x20images\x20+\x20snapshots\x20at\x20.ceraph/?',{..._0x5f1400,'defaultYes':![]})),!_0x18c231&&(_0x18c231=await _0x2a4875(_0x12b232(0x4d7),{..._0x5f1400,'defaultYes':![]}));}_0x5dba1a[_0x12b232(0x1dd)]&&(_0x7c81a8('\x0a@ceraph/react-native-mcp\x20uninstall\x20—\x20dry-run\x20preview\x0a',_0x5f1400),_0x7c81a8('\x20\x20Project:\x20'+_0x516709+'\x0a\x0a',_0x5f1400));const _0x5e68b1=await _0x1200e6({'projectDir':_0x516709,'rootDir':_0x53d91d(_0x5dba1a['projectDir']??void 0x0,_0x5f1400[_0x12b232(0x28f)]??process['cwd']()),'purgeImages':_0x22b94a,'global':_0x18c231,'dryRun':_0x5dba1a['dryRun'],'nonInteractive':_0x5dba1a[_0x12b232(0x1b7)],'homeDir':_0x5f1400[_0x12b232(0x53d)],'spawnRemove':_0x5f1400[_0x12b232(0x22d)]??_0x33db6b,'onStep':_0x3d93a9=>{_0x7c81a8(_0x40507b(_0x3d93a9),_0x5f1400);}});_0x7c81a8(_0x330496(_0x5e68b1),_0x5f1400);const _0x20e983=_0x5e68b1['steps']['some'](_0x113572=>_0x113572['status']==='error'||_0x113572['status']===_0x12b232(0x466));return{'exitCode':_0x20e983?0x1:0x0,'walkthrough':_0x5e68b1,'parsedFlags':{..._0x5dba1a,'purgeImages':_0x22b94a,'global':_0x18c231}};}function _0x40507b(_0x5c64fa){const _0x3a9ef0=_0xa6e1,_0x124711=_0x1e669b(_0x5c64fa[_0x3a9ef0(0x17a)]),_0x291d54=_0x2fd8de(_0x5c64fa);return'\x20\x20'+_0x124711+'\x20'+_0x5c64fa[_0x3a9ef0(0x273)][_0x3a9ef0(0x160)](0xd)+'\x20'+_0x291d54+'\x0a';}function _0x1e669b(_0x29b65c){const _0x347e40=_0xa6e1;switch(_0x29b65c){case _0x347e40(0x16e):return'[ok]';case _0x347e40(0x3fe):return _0x347e40(0x3eb);case _0x347e40(0x1a6):return _0x347e40(0x3eb);case _0x347e40(0x38c):return _0x347e40(0x527);case _0x347e40(0x466):return'[!]';case _0x347e40(0x48f):return'[X]';}}function _0x2fd8de(_0x3fdcb7){const _0x29446d=_0xa6e1;switch(_0x3fdcb7[_0x29446d(0x17a)]){case _0x29446d(0x16e):return _0x29446d(0x16e)+(_0x3fdcb7['details']?.[_0x29446d(0x1dd)]?_0x29446d(0x4c3):'');case _0x29446d(0x3fe):return _0x29446d(0x271)+(_0x3fdcb7['details']?.[_0x29446d(0x1dd)]?'\x20(preview)':'');case'skipped':return'skipped\x20—\x20'+(_0x3fdcb7['remediation']??_0x29446d(0x32b));case'warning':return'reverted\x20with\x20warning\x20—\x20'+(_0x3fdcb7[_0x29446d(0x2d0)]??'');case _0x29446d(0x466):return _0x29446d(0x537)+(_0x3fdcb7['remediation']??'');case'error':return'error\x20—\x20'+(_0x3fdcb7[_0x29446d(0x2d0)]??_0x3fdcb7['details']?.[_0x29446d(0x48f)]??_0x29446d(0x1d7));}}function _0x330496(_0x17d17d){const _0x5e413e=_0xa6e1,{reverted:_0x4e7bab,skipped:_0x33487f,warnings:_0x169cee,manualSteps:_0x961097}=_0x17d17d['summary'],_0x2cc55b=['\x0aSummary:\x0a'];_0x2cc55b['push'](_0x5e413e(0x252)+_0x4e7bab+'\x0a'),_0x2cc55b['push']('\x20\x20Skipped/no-op:\x20\x20\x20'+_0x33487f+'\x0a'),_0x2cc55b[_0x5e413e(0x407)]('\x20\x20Warnings:\x20\x20\x20\x20\x20\x20\x20\x20'+_0x169cee['length']+'\x0a'),_0x2cc55b['push']('\x20\x20Manual\x20actions:\x20\x20'+_0x961097['length']+'\x0a');if(_0x169cee[_0x5e413e(0x358)]>0x0){_0x2cc55b[_0x5e413e(0x407)](_0x5e413e(0x41c));for(const _0x42cbc0 of _0x169cee)_0x2cc55b['push']('\x20\x20-\x20'+_0x42cbc0+'\x0a');}if(_0x961097[_0x5e413e(0x358)]>0x0){_0x2cc55b[_0x5e413e(0x407)](_0x5e413e(0x587));for(const _0x80ba6f of _0x961097)_0x2cc55b['push'](_0x5e413e(0x2a3)+_0x80ba6f+'\x0a');}return _0x2cc55b['join']('');}function _0x43fd3b(_0x12f037){const _0x3e5b21=_0xa6e1,_0x7cd3d={'yes':![],'purgeImages':![],'global':![],'dryRun':![],'projectDir':null,'help':![],'unknown':[]};for(let _0x13a618=0x0;_0x13a618<_0x12f037['length'];_0x13a618++){const _0x45a786=_0x12f037[_0x13a618];switch(_0x45a786){case'-y':case _0x3e5b21(0x479):_0x7cd3d['yes']=!![];break;case'--purge-images':_0x7cd3d[_0x3e5b21(0x474)]=!![];break;case _0x3e5b21(0x4bc):_0x7cd3d[_0x3e5b21(0x3d1)]=!![];break;case'--dry-run':_0x7cd3d[_0x3e5b21(0x1dd)]=!![];break;case'--project-dir':{if('SizcV'==='qHOFg')throw new _0x5cee15(_0x3e5b21(0x335));else{const _0xe41bd7=_0x12f037[_0x13a618+0x1];_0xe41bd7==null?_0x7cd3d[_0x3e5b21(0x548)]['push'](_0x45a786+'\x20(missing\x20value)'):(_0x7cd3d['projectDir']=_0xe41bd7,_0x13a618++);break;}}case'-h':case _0x3e5b21(0x1b2):_0x7cd3d[_0x3e5b21(0x571)]=!![];break;default:if(_0x45a786!==void 0x0)_0x7cd3d[_0x3e5b21(0x548)]['push'](_0x45a786);}}return _0x7cd3d;}async function _0x146dc7(_0x5f3b38){const _0x40bdad=_0xa6e1;let _0x10ba34;try{_0x10ba34=await _0x1e5d32(_0x5f3b38);}catch{return _0x40bdad(0x36e)+_0x5f3b38;}if(!_0x10ba34['isDirectory']())return _0x40bdad(0x22e)+_0x5f3b38;try{await _0x1e5d32(_0x4f7c32(_0x5f3b38,_0x40bdad(0x575)));}catch{return _0x40bdad(0x36a)==='aDLAQ'?'Error:\x20--project-dir\x20does\x20not\x20look\x20like\x20an\x20npm/RN\x20project\x20(no\x20package.json\x20at\x20'+_0x4f7c32(_0x5f3b38,_0x40bdad(0x575))+')':![];}return null;}function _0x33db6b(_0x1f8cf0){return new Promise(_0x200247=>{const _0x3dafbf=_0xa6e1,_0x54b0dd=_0x4dbee8(_0x1f8cf0['bin'],_0x1f8cf0[_0x3dafbf(0x43c)],{'cwd':_0x1f8cf0[_0x3dafbf(0x28f)],'stdio':_0x3dafbf(0x237)});_0x54b0dd['on'](_0x3dafbf(0x48f),()=>_0x200247({'exitCode':0x7f})),_0x54b0dd['on']('exit',_0x436ad7=>_0x200247({'exitCode':_0x436ad7??0x1}));});}var _0x52816b,_0x32b0a8=_0x1b53f6({'src/uninstall/cli-runner.ts'(){'use strict';const _0x19ab5a=_0xa6e1;_0x460a52(),_0x210e1c(),_0x565cae(),_0x52816b=_0x19ab5a(0x478);}});function _0x553d2a(_0x3a644a){const _0x2366b7=_0xa6e1;let _0x5d933d;for(let _0x15da65=0x0;_0x15da65<_0x3a644a[_0x2366b7(0x358)];_0x15da65++){const _0x356c51=_0x3a644a[_0x15da65];let _0x423da9;if(_0x356c51==='--tier')_0x423da9=_0x3a644a[_0x15da65+0x1];else _0x356c51[_0x2366b7(0x317)](_0x2366b7(0x35b))&&(_0x423da9=_0x356c51[_0x2366b7(0x554)](_0x2366b7(0x35b)['length']));(_0x423da9==='pro'||_0x423da9==='starter')&&(_0x5d933d=_0x423da9);}return _0x5d933d;}if(process.env.VITEST){}else await _0x4a1508();async function _0x4a1508(){const _0x94086f=_0xa6e1,_0x9f02a1=process[_0x94086f(0x35d)]['slice'](0x2),_0xb787d1=_0x9f02a1[0x0],_0x13d6c1=new Set(_0x9f02a1['slice'](0x1)),_0x33304b=_0x94086f(0x1f1);(_0xb787d1===_0x94086f(0x1b2)||_0xb787d1==='-h'||_0xb787d1==='help')&&(process['stdout'][_0x94086f(0x3bf)](_0x33304b),process['exit'](0x0));if(_0xb787d1==='init'){const _0x317cf1=_0x13d6c1['has']('--agent')||process.env.CERAPH_AGENT_MODE==='1',_0x535e60=_0x553d2a(_0x9f02a1['slice'](0x1)),{runInit:_0x5133b}=await Promise[_0x94086f(0x3f8)]()['then'](()=>(_0x2b1432(),_0x491ef9));await _0x5133b({'agentMode':_0x317cf1,'tier':_0x535e60})[_0x94086f(0x3e8)](_0x4b4578=>{const _0x3ed8f4=_0x94086f;console[_0x3ed8f4(0x48f)]('Init\x20failed:',_0x4b4578),process[_0x3ed8f4(0x542)](0x1);});}else{if(_0xb787d1===_0x94086f(0x56c)){const {runUninstallCli:_0x2afd2d}=await Promise['resolve']()['then'](()=>(_0x32b0a8(),_0x4e1a11));try{const _0x5069c1=await _0x2afd2d({'argv':process[_0x94086f(0x35d)][_0x94086f(0x554)](0x3)});process[_0x94086f(0x542)](_0x5069c1['exitCode']);}catch(_0x99cd02){console[_0x94086f(0x48f)]('Uninstall\x20failed:',_0x99cd02),process['exit'](0x1);}}else await import('./index.js');}}export{_0x553d2a as parseTierFlag};