devicely 2.2.12 โ†’ 2.2.14

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 (48) hide show
  1. package/README.md +182 -81
  2. package/bin/devicely.js +1 -1
  3. package/config/devices.conf +2 -2
  4. package/lib/advanced-logger.js +1 -0
  5. package/lib/aiProviders.js +154 -15
  6. package/lib/aiProviders.js.strategic-backup +657 -0
  7. package/lib/aiProvidersConfig.js +61 -151
  8. package/lib/aiProvidersConfig.js.backup +218 -0
  9. package/lib/androidDeviceDetection.js +1 -1
  10. package/lib/appMappings.js +1 -1
  11. package/lib/commanderService.js +1 -1
  12. package/lib/commanderService.js.backup +5552 -0
  13. package/lib/deviceDetection.js +1 -1
  14. package/lib/devices.js +1 -1
  15. package/lib/devices.js.strategic-backup +57 -0
  16. package/lib/doctor.js +1 -1
  17. package/lib/encryption.js +1 -1
  18. package/lib/encryption.js.strategic-backup +61 -0
  19. package/lib/executor.js +1 -1
  20. package/lib/executor.js.strategic-backup +107 -0
  21. package/lib/frontend/asset-manifest.json +5 -3
  22. package/lib/frontend/index.html +1 -1
  23. package/lib/hybridAI.js +1 -0
  24. package/lib/intelligentLocatorService.js +1 -0
  25. package/lib/lightweightAI.js +1 -0
  26. package/lib/localBuiltInAI.js +1 -0
  27. package/lib/localBuiltInAI_backup.js +1 -0
  28. package/lib/localBuiltInAI_simple.js +1 -0
  29. package/lib/locatorStrategy.js +1 -1
  30. package/lib/logger-demo.js +2 -0
  31. package/lib/logger-integration-examples.js +102 -0
  32. package/lib/logger.js +1 -1
  33. package/lib/package.json +5 -0
  34. package/lib/public/asset-manifest.json +3 -3
  35. package/lib/public/index.html +1 -1
  36. package/lib/quick-start-logger.js +2 -0
  37. package/lib/scriptLoader.js +1 -1
  38. package/lib/server.js +1 -1
  39. package/lib/server.js.strategic-backup +6298 -0
  40. package/lib/tensorflowAI.js +1 -0
  41. package/lib/tensorflowAI.js.strategic-backup +717 -0
  42. package/lib/tinyAI.js +1 -0
  43. package/lib/universalSessionManager.js +1 -0
  44. package/package.json +1 -1
  45. package/scripts/shell/android_device_control.enc +1 -1
  46. package/scripts/shell/connect_ios_usb_multi_final.enc +1 -1
  47. package/scripts/shell/connect_ios_wireless_multi_final.enc +1 -1
  48. package/lib/public/index.html.bak +0 -1
package/README.md CHANGED
@@ -2,11 +2,19 @@
2
2
 
3
3
  # ๐Ÿ“ฑโœจ Devicely
4
4
 
5
- ### **Orchestrate Your Mobile World. AI-Powered. Infinitely Scalable.**
5
+ ### **Control one device, and every connected device follows in real-time - with live screen sync on the web**
6
6
 
7
- **The ultimate command center for mobile automation and multi-device orchestration.**
7
+ *Ever wondered what happens when you combine device mirroring with AI-powered automation? Meet the mobile orchestration platform that curious developers are exploring.*
8
8
 
9
- [![NPM Version](https://img.shields.io/badge/npm-v2.2.11-CB3837?style=for-the-badge)](https://www.npmjs.com/package/devicely)
9
+ ### ๐Ÿค” **Intrigued? Try it yourself:**
10
+
11
+ ```bash
12
+ npm install -g devicely
13
+ devicely start
14
+ ```
15
+ **Visit [https://devicely-ai.vercel.app/](https://devicely-ai.vercel.app/) and see what happens when devices work together.**
16
+
17
+ [![NPM Version](https://img.shields.io/badge/npm-v2.2.13-CB3837?style=for-the-badge)](https://www.npmjs.com/package/devicely)
10
18
  [![License](https://img.shields.io/badge/license-Proprietary-blue?style=for-the-badge)](LICENSE)
11
19
  [![Platform](https://img.shields.io/badge/platform-iOS%20%7C%20Android-lightgrey?style=for-the-badge)](https://devicely-ai.vercel.app)
12
20
 
@@ -14,106 +22,111 @@
14
22
 
15
23
  ---
16
24
 
17
- ### โšก **Automate at Scale, Not Just Execute.**
25
+ ### ๐Ÿคทโ€โ™€๏ธ **What if mobile testing was more like conducting an orchestra?**
26
+
27
+ Instead of manually testing the same flow across multiple devices, what if you could:
18
28
 
19
- Devicely isn't just a tool; it's an **orchestrator**. It provides a unified, professional interface to control, automate, and inspect iOS and Android devices simultaneously using **Natural Language AI**, **Voice Commands**, and **Live Commander Mode** for real-time multi-device mirroring.
29
+ - **Speak naturally** to your devices: *"Take a screenshot"* โ†’ all devices respond
30
+ - **Touch one screen** and watch others mirror your actions in real-time
31
+ - **Record once**, replay everywhere - from 1 device to 100+
32
+ - **See everything** happening across your device fleet on one web dashboard
33
+
34
+ *Turns out, when devices can follow a leader and understand natural language, mobile development gets pretty interesting.*
20
35
 
21
36
  </div>
22
37
 
23
38
  ---
24
39
 
25
- ## ๐ŸŒŒ Glimpse of the Infinite
26
-
27
- Devicely redefines what's possible with your mobile infrastructure. By bridging the gap between human intent and device execution, you can:
40
+ ---
28
41
 
29
- * **๐Ÿงช Massive Parallel Testing:** Transform a 2-hour manual smoke test into a 5-minute automated broadcast across your entire device fleet.
30
- * **๐Ÿค– AI-Native QA:** Move beyond brittle selectors. Use natural language to navigate apps, verify UI, and find bugs across different screen sizes autonomously.
31
- * **๐Ÿข Enterprise Device Labs:** Turn any desk or rack of physical devices into a private, web-accessible cloud lab for your entire global team.
32
- * **๐Ÿ”„ Instant Bug Reproduction:** Record a complex bug on one device and instantly "broadcast" those exact steps to every other device to see which OS versions are affected.
33
- * **๐ŸŽค Voice-Driven Automation:** Speak commands naturally and watch your entire device fleet respond in real-time.
34
- * **๐Ÿ”€ Cross-Platform Sync:** Run the same command on iOS and Android simultaneously with platform-specific intelligence.
42
+ ## ๐ŸŒŸ **What makes this different?**
43
+
44
+ ### ๐Ÿ‘‘ **Commander Mode** - *Like screen sharing, but for device control*
45
+ * One device leads, others follow in real-time
46
+ * Touch the leader's screen โ†’ all followers mirror the action
47
+ * Switch leaders with a simple dropdown
48
+ * Watch it all happen on your web dashboard
49
+
50
+ ### ๐Ÿ”„ **Live Sync** - *What if all your devices moved together?*
51
+ * Commands reach all devices simultaneously via WebSockets
52
+ * iOS and Android understand the same instructions differently (as they should)
53
+ * See live status updates from every connected device
54
+ * No waiting for one device to finish before the next starts
55
+
56
+ ### ๐Ÿ“น **Record & Replay - Zero-Code Automation**
57
+ * **Visual Recording:** Capture complex workflows with simple button clicks
58
+ * **AI-Generated Scripts:** Voice commands auto-convert to replayable recordings
59
+ * **Fleet Replay:** Run recorded flows on single devices or entire laboratories
60
+ * **Edit & Refine:** Full editor for recordings with add/remove/modify capabilities
61
+
62
+ ### ๐Ÿค– **AI Integration** - *Talk to your devices like a person*
63
+ * Say *"Open Instagram and find search"* - it just works
64
+ * Choose from 7 AI providers (some are free to try)
65
+ * Devices understand context - no hunting for element IDs
66
+ * Same command, different results on iOS vs Android (intelligently)
67
+
68
+ ### ๐ŸŽค **Voice Control** - *Because typing is so 2020*
69
+ * Speak naturally, pause when you're thinking (2-second detection)
70
+ * Chain commands: *"launch settings, scroll up, launch camera"*
71
+ * Watch your words turn into actions in real-time
72
+ * Works across as many devices as you want to connect
35
73
 
36
74
  ---
37
75
 
38
- ## โœจ The Devicely Advantage
39
-
40
- ### ๐Ÿค– **AI-Native Interaction**
41
- Stop hunting for element IDs. Devicely understands your intent.
42
- * **Natural Language Commands:** `"Open Instagram and find the search button"` or `"Take a screenshot on all Android devices"`.
43
- * **Voice Control:** Speak commands naturally with automatic silence detection and multi-phrase support.
44
- * **Context Awareness:** Automatically identifies buttons, inputs, and text across iOS and Android.
45
- * **7 AI Providers:** Choose from **OpenAI** ๐Ÿค–, **Google Gemini** โœจ, **Anthropic Claude** ๐Ÿง , **GitHub Copilot** ๐Ÿ™, **Groq** โšก, **Cohere** ๐ŸŒŠ, or **Mistral AI** ๐ŸŒฌ๏ธ.
46
- * **Model Selection:** Pick specific models (GPT-4 Turbo, Claude 3.5 Sonnet, Gemini 2.0 Flash, Llama 3 70B, etc.).
47
- * **Smart Error Handling:** Clear, actionable error messages displayed inline with results.
76
+ ## โœจ **Other things you might find useful**
48
77
 
49
78
  ### โšก **Quick Actions Panel**
50
- Three rapid-fire shortcuts for common automation tasks:
51
- * **Type Text to Send:** Quickly send text input to devices without typing commands.
52
- * **Element to Tap:** Click elements by name or coordinates (x,y) instantly.
53
- * **App ID to Launch:** Launch apps by package/bundle ID with autocomplete dropdown.
54
- * **History Navigation:** Use arrow keys to cycle through previous inputs.
79
+ * **Type Text to Send:** Rapid text input without typing full commands
80
+ * **Element to Tap:** Click by name or coordinates (x,y) instantly
81
+ * **App ID to Launch:** Launch apps with autocomplete dropdown
82
+ * **History Navigation:** Arrow keys cycle through previous inputs
55
83
 
56
84
  ### ๐ŸŽฎ **Unified Command Center**
57
- A single conductor for your entire device orchestra.
58
- * **Cross-Platform:** Native, low-latency support for **iOS 14+** and **Android 5+**.
59
- * **Parallel Execution:** Run the same action on 5, 50, or 100+ devices simultaneously with zero overhead.
60
- * **Synchronized Commands:** Execute platform-specific commands (different apps) on mixed device fleets at the exact same time.
61
- * **Live Feedback:** See real-time logs, status updates, and visual confirmations via high-speed WebSockets.
62
- * **API Key Management:** Secure credential storage with show/hide toggles for easy verification.
85
+ * **Cross-Platform:** Native support for **iOS 14+** and **Android 5+**
86
+ * **Massive Scale:** Control 5, 50, or 100+ devices with zero overhead
87
+ * **Live Feedback:** Real-time logs and visual confirmations via WebSockets
88
+ * **API Key Management:** Secure local storage with show/hide toggles
63
89
 
64
90
  ### ๐Ÿ” **Smart UI Inspector**
65
- The most practical way to explore your apps.
66
- * **Visual Element Scan:** Instantly see all clickable, enabled, and visible elements.
67
- * **Point-and-Click Control:** Interact with devices directly through the inspector interface.
68
- * **Developer Friendly:** Export clean selectors and coordinates for your automation scripts.
69
-
70
- ### ๐Ÿ”ด **Record & Broadcast**
71
- * **Zero-Code Automation:** Record complex manual workflows (logins, checkouts, onboarding) and save them as reusable scripts.
72
- * **AI-Generated Recordings:** Voice or text commands automatically converted to replayable scripts.
73
- * **Fleet Replay:** Replay recorded flows on any single device or your entire laboratory at once.
74
- * **Edit & Refine:** Full editor for AI-generated and manual recordings with add, remove, and modify capabilities.
75
-
76
- ### ๐Ÿ‘‘ **Commander Mode**
77
- * **Live Device Mirroring:** See real-time screen updates from commander device with follower devices displayed simultaneously.
78
- * **Touch Broadcasting:** Tap on commander screen and watch all follower devices mirror the exact action.
79
- * **Quick Commander Swap:** Dropdown at top-left of mirror screen to instantly change which device leads the session.
80
- * **Auto-Setup:** First device automatically becomes commander, rest become followers.
81
- * **Visual Feedback:** Clear badges showing commander (๐Ÿ‘‘) and follower devices (๐Ÿ“ฑ).
82
-
83
- ### ๐ŸŽค **Voice Commands**
84
- * **Hands-Free Operation:** Control your devices without touching a keyboard.
85
- * **Continuous Listening:** Speak naturally with pauses - 2-second silence detection auto-stops.
86
- * **Live Transcription:** See your words convert to commands in real-time.
87
- * **Complex Multi-Step:** Voice commands like "launch settings scroll up launch camera go to google.com press home" work seamlessly.
91
+ * **Visual Element Scan:** See all clickable, enabled, visible elements instantly
92
+ * **Point-and-Click Control:** Direct device interaction through inspector
93
+ * **Developer Export:** Clean selectors and coordinates for automation scripts
94
+
95
+ ### ๐Ÿ“ท **Screenshots Gallery & Management**
96
+ * **Unified Media Library:** Combined recordings and screenshots in tabbed interface
97
+ * **Visual Screenshot Gallery:** Thumbnail grid with device names and timestamps
98
+ * **Full-Screen Viewer:** Click to enlarge screenshots with dark background overlay
99
+ * **Quick Management:** Delete screenshots directly from gallery with one-click
100
+ * **Auto-Collection:** Screenshots captured via commands automatically appear in gallery
101
+
102
+ ### ๐ŸŒŒ **The bigger picture**
103
+ * Transform 2-hour manual testing into 5-minute parallel runs
104
+ * Turn your device collection into a web-accessible lab
105
+ * Reproduce bugs instantly across different devices/OS versions
106
+ * Mix iOS and Android devices - they all speak the same language
88
107
 
89
108
  ---
90
109
 
91
- ## ๐Ÿš€ Quick Start
110
+ ## ๐Ÿ” **How it works** *(in about 60 seconds)*
92
111
 
93
- Get up and running in less than 60 seconds.
94
-
95
- ### 1. Installation
112
+ ### **Step 1: Get it running**
96
113
  ```bash
97
- # Install Devicely globally via NPM
98
114
  npm install -g devicely
99
- ```
100
-
101
- ### 2. Launch
102
- ```bash
103
- # Start the command center
104
115
  devicely start
105
116
  ```
106
117
 
107
- **Visit `http://localhost:3001` to enter your Command Center.**
118
+ ### **Step 2: Connect and explore**
119
+ 1. Open [https://devicely-ai.vercel.app/](https://devicely-ai.vercel.app/)
120
+ 2. Connect your iOS/Android devices (as many as you want)
121
+ 3. Try saying: *"Take screenshot on all devices"*
122
+ 4. Watch what happens
108
123
 
109
- ### 3. Configure AI (Optional)
110
- To enable natural language and voice commands:
111
- 1. Visit Settings โš™๏ธ โ†’ AI Configuration
112
- 2. Choose from **7 AI providers** with model selection
113
- 3. Add your API key (secured locally, never transmitted)
114
- 4. Start using AI: `"launch settings on all devices"`
124
+ ### **Step 3: Discover the AI layer** *(optional, but fun)*
125
+ - Settings โ†’ AI Config โ†’ Choose a provider (Gemini/Groq are free)
126
+ - Now you can talk to your devices in plain English
127
+ - *"Launch settings, scroll down, open camera"* - just works
115
128
 
116
- **Free AI Options:** Gemini, Groq, and Cohere offer generous free tiers!
129
+ **๐Ÿ’ก Curious tip:** The more devices you connect, the more interesting it gets.
117
130
 
118
131
  ---
119
132
 
@@ -198,9 +211,81 @@ Devicely comes with a powerful command-line interface for quick actions:
198
211
 
199
212
  ---
200
213
 
201
- ## ๐Ÿ†• Latest Features (v2.2.11 - February 2026)
214
+ ## ๐Ÿ†• Latest Features (v2.2.13 - February 2026)
215
+
216
+ ### ๐ŸŽจ **Major UI & Performance Update (v2.2.13 - Latest)**
217
+ - **๐Ÿ“ท Screenshots Gallery:** Complete screenshot management system with tabbed interface
218
+ - **๐ŸŽจ Apps Menu Redesign:** Beautiful gradient backgrounds and improved visual hierarchy
219
+ - **๐Ÿค– AI Bypass Optimization:** App commands now execute instantly without AI processing
220
+ - **โšก Performance Boost:** Significantly faster app operations and UI responsiveness
221
+ - **๐ŸŽฏ Enhanced UX:** Better z-index management, tooltips, and user feedback
222
+
223
+ ### ๐Ÿ“ท **Screenshots Gallery & Management (NEW!)**
224
+ - **Unified Media Library:** Combined Recordings and Screenshots in elegant tabbed interface
225
+ - **Visual Gallery:** Responsive thumbnail grid (2-6 columns) with device context
226
+ - **Full-Screen Viewer:** Click any screenshot for full-screen view with dark overlay
227
+ - **Smart Management:** One-click delete with instant feedback and auto-refresh
228
+ - **Device Tracking:** See which device captured each screenshot with timestamps
229
+ - **Auto-Collection:** Screenshots from `screenshot` command automatically appear
230
+ - **Cross-Platform:** Works seamlessly with iOS and Android screenshots
231
+
232
+ ### ๐ŸŽจ **Apps Menu Visual Overhaul**
233
+ - **Gradient Backgrounds:** Each section has beautiful, color-coded gradient styling:
234
+ - ๐ŸŸข **Quick Launch:** Green-emerald gradient with enhanced app cards
235
+ - ๐Ÿš€ **Launch App:** Green-teal gradient for app launching controls
236
+ - โŒ **Kill App:** Red-pink gradient for app termination controls
237
+ - ๐Ÿ“ฆ **Install App:** Blue-cyan gradient for app installation
238
+ - ๐Ÿ—‘๏ธ **Uninstall App:** Orange-yellow gradient (NEW dedicated section)
239
+ - ๐Ÿ“ฑ **Installed Apps:** Purple-pink gradient for app listing
240
+ - **Enhanced Visual Hierarchy:** Clear section separation with consistent iconography
241
+ - **Z-Index Management:** Apps Menu now properly appears above all hints and tooltips
242
+ - **Improved Tooltips:** Better button labeling and user guidance throughout
243
+
244
+ ### ๐Ÿค– **AI Processing Optimization**
245
+ - **Smart Command Detection:** Automatic bypass for app control commands
246
+ - **Regex Pattern Matching:** Detects `launch`, `kill`, `install`, `uninstall` commands
247
+ - **Direct Execution:** App commands execute immediately without AI conversion
248
+ - **Performance Gain:** Eliminated "๐Ÿค– Converting with Local Built-In AI" delays
249
+ - **Maintained Intelligence:** Other commands still benefit from AI when enabled
250
+
251
+ ### โšก **Commander Mode App Launch Fix (v2.2.13)**
252
+ - **Simple Detection:** Pre-tap home screen detection for smart app launches
253
+ - **Skip Coordinate Mirroring:** No more wrong taps when launching apps from home screen
254
+ - **Direct App Sync:** Detects launched app and immediately launches same app on followers
255
+ - **Performance Optimized:** Reduced cache refresh overhead during app launches
256
+ - **Smart Cache Management:** Refresh timing optimized for app launch vs regular tap scenarios
257
+
258
+ ### ๐Ÿ”ง **Intelligent Locator System Enhancements**
259
+ - **Advanced Caching:** Smart cache invalidation and refresh strategies
260
+ - **Performance Tuning:** Reduced cache refresh from 10s to 30s for better responsiveness
261
+ - **Session Recovery:** Improved session handling with smart recovery mechanisms
262
+ - **Cross-Device Sync:** Better coordinate scaling and device synchronization
263
+
264
+ ### ๐Ÿ› **Critical Fixes Applied**
265
+ - **Commander Mode Errors:** Fixed "Error starting commander mode" when devices already connected
266
+ - **Duplicate Follower Mirrors:** Resolved multiple mirror display issues
267
+ - **Coordinate Scaling:** Fixed scaling problems between commander and follower devices
268
+ - **Session Management:** Improved session lifecycle and error recovery
269
+ - **AI Command Order:** Fixed command conversion and execution sequence
270
+
271
+ ### ๐ŸŽฏ **Developer Experience Improvements**
272
+ - **Clean Code Architecture:** Improved separation of concerns and modularity
273
+ - **Better Error Handling:** Enhanced error messages and user feedback
274
+ - **Performance Monitoring:** Added metrics and logging for better debugging
275
+ - **Cross-Platform Consistency:** Unified behavior across iOS and Android platforms
276
+
277
+ ---
202
278
 
203
- ### ๐Ÿ› **Commander Mode Error Fix (v2.2.11)**
279
+ ### ๐Ÿ“‹ **Recent Commits on Release_2.2.13 Branch**
280
+ ```
281
+ dda75e2 ๐ŸŽจ MAJOR UPDATE: Apps Menu UI Fixes + Screenshots Gallery + AI Bypass
282
+ a267fab ๐Ÿš€ OPTIMIZE: Simple app launch detection and performance improvements
283
+ 0dd3fcc Complete system update: AI fixes, intelligent locators, and comprehensive improvements
284
+ 8c437b1 Fix AI command conversion order and follower device execution
285
+ 5610575 ๐Ÿ”ง MAJOR FIX: Duplicate follower mirrors & coordinate scaling
286
+ ```
287
+
288
+ **๐Ÿš€ Total Improvements:** 5 major commits with 650+ lines of enhancements including UI overhaul, performance optimizations, AI bypass implementation, screenshots gallery, and critical bug fixes.
204
289
  - **Fixed**: "Error starting commander mode" when devices are already connected
205
290
  - **Improved**: Commander mode now gracefully handles already-active sessions
206
291
  - **Enhanced**: Better error messaging and automatic session management
@@ -272,9 +357,25 @@ For enterprise inquiries or commercial access, contact: **devicelyai@gmail.com**
272
357
 
273
358
  <div align="center">
274
359
 
275
- ### **Ready to Scale Your Mobile Automation?**
276
- [Install on NPM](https://www.npmjs.com/package/devicely) โ€ข [Visit Homepage](https://devicely-ai.vercel.app)
360
+ ---
361
+
362
+ ---
363
+
364
+ ## ๐Ÿค” **Still curious?**
365
+
366
+ Mobile development has always been about juggling multiple devices, hunting for the right selectors, and repeating the same tests over and over. What if there was a more interesting way?
367
+
368
+ ### **Give it a try:**
369
+
370
+ ```bash
371
+ npm install -g devicely
372
+ devicely start
373
+ ```
374
+
375
+ [๐Ÿ“ฆ NPM Package](https://www.npmjs.com/package/devicely) โ€ข [๐ŸŒ Try it live](https://devicely-ai.vercel.app) โ€ข [๐Ÿ“ง Questions: devicelyai@gmail.com](mailto:devicelyai@gmail.com)
376
+
377
+ *Built by developers who got tired of the same old mobile testing routine.*
277
378
 
278
- **Built with โค๏ธ for the next generation of Mobile Engineers.**
379
+ **โญ Star this repo if you find it interesting!**
279
380
 
280
381
  </div>
package/bin/devicely.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- function _0x2215(){const _0x40a6ed=['rw5HyMXLigrLyNvNigXVz2DPBMC','B3v0Chv0sgvSCa','rgv0zwn0ifvtqIbKzxzPy2vZig9UBhK','ywn0Aw9U','zujoww4','rgv0zwn0ifDPrMKGzgv2AwnLCYbVBMX5','rgLZCgXHEsb2zxjZAw9Uig51BwjLCG','B3b0Aw9U','rg9Uj3qGB3bLBIbICM93C2vYigf1Dg9TyxrPy2fSBhK','zMPttgC','zxjYB3i','rvPgr3e','lI4VBgLIl2rVy3rVCG','iYbmAxn0igrLDMLJzxm','v0vzz1i','vvnfq0e','q2HLy2SGC3LZDgvTihjLCxvPCMvTzw50CYbMB3iGAu9tigfUzcbbBMrYB2LKigf1Dg9TyxrPB24','ode5nZC3tvHlrKXT','zxHPDa','CMvWzwf0','C2XPy2u','mKfbwvHmEa','icbKzxzPy2vSEsbKB2n0B3iGica','mJq2nJm3v0rTuKTN','iYbdAgvJAYbZExn0zw0','cUkDJcbfCNjVCJO','lI4VBgLIl2rLDMLJzxm','y29TBwfUza','D2HPDgu','u2HVDYbKzxrHAwXLzcbKzxzPy2uGAw5MB3jTyxrPB24','cVcFMOaGrgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxm','DgnPwhG','z3jHEq','y3LHBG','DMvYC2LVBG','C3bSAxq','zgv2AwnLBhK','mZaWmq','sevpzhm','u2vYDMvYihbVCNq','q25xEuK','yxjNDG','BMfTzq','BgLZDa','icbKzxzPy2vSEsbSAxn0icaGica','Bg9N','BuHsELC','rgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxmUiefjifbVD2vYzwqGtw9IAwXLief1Dg9TyxrPB24','odq3mdy4mMfRr0nhwa','lxySic0TDMvYC2LVBG','ls13AwzPlw9UBhK','icaGquKGug93zxjLzcbnB2jPBguGqxv0B21HDgLVBG','lI4VBgLIl3nLCNzLCG','yM9Sza','mtj5wvrcr2u','tgLZDcbHBgWGy29UBMvJDgvKigLpuYbHBMqGqw5KCM9PzcbKzxzPy2vZ','icbKzxzPy2vSEsbZDgfYDcaGica','BxDIve4','nMjsA0fSwq','BwvZC2fNzq','y2HHBgS','nJi1mJnlzvHxwg0','rxHLy3v0zsbJB21Tyw5Kig9UignVBM5Ly3rLzcbPt1mVqw5KCM9PzcbKzxzPy2vZ','ANznu2i','qxvLD3a','zg9JDg9Y','lxaSic0TCg9YDca8Cg9YDd4','AgvSCe9WDgLVBG','zxHLyYa8y29TBwfUzd4','cVcFLi0Gq2HLy2TPBMCGC3LZDgvTihjLCxvPCMvTzw50CY4UlG','C3rHCNq','sNvHveG','nZe4mJa1wgHPtvDS','CMvK','zgvZy3jPChrPB24','ls11C2iTB25SEq','lwGSic0TAgvSCa','u3rHCNqGrgv2AwnLBhKGC2vYDMvYigfUzcbVCgvUihDLyIbPBNrLCMzHy2u','DgL1ENO','otGXmZjVwKr5u0q','mta0nJG5nMPUtwj0yW','ntblyLzNvuq','cUkAOsbfEgvJDxrPBMCGy29TBwfUzc4UlG','rxHLy3v0zsbVBIbHBgWGzgv2AwnLCYaOzgvMyxvSDcK','lI4VBgLIl2v4zwn1Dg9Y'];_0x2215=function(){return _0x40a6ed;};return _0x2215();}const _0x52dbbf=_0x1953;(function(_0x2c15de,_0x1066ba){const _0x3744b0=_0x1953,_0x56796f=_0x2c15de();while(!![]){try{const _0x193529=-parseInt(_0x3744b0(0x76))/0x1*(parseInt(_0x3744b0(0xc9))/0x2)+-parseInt(_0x3744b0(0x95))/0x3*(parseInt(_0x3744b0(0xae))/0x4)+-parseInt(_0x3744b0(0xa7))/0x5+-parseInt(_0x3744b0(0x99))/0x6*(-parseInt(_0x3744b0(0xc5))/0x7)+-parseInt(_0x3744b0(0xaf))/0x8+parseInt(_0x3744b0(0x9c))/0x9*(-parseInt(_0x3744b0(0xb0))/0xa)+parseInt(_0x3744b0(0x8f))/0xb;if(_0x193529===_0x1066ba)break;else _0x56796f['push'](_0x56796f['shift']());}catch(_0x1ca82e){_0x56796f['push'](_0x56796f['shift']());}}}(_0x2215,0x38ece));function _0x1953(_0x3acb0d,_0x248f05){_0x3acb0d=_0x3acb0d-0x76;const _0x2215f2=_0x2215();let _0x1953fe=_0x2215f2[_0x3acb0d];if(_0x1953['CHifah']===undefined){var _0x3316d3=function(_0x343566){const _0x1057ac='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x233d5f='',_0x22ffac='';for(let _0x273105=0x0,_0x5400c2,_0x122149,_0x4eabec=0x0;_0x122149=_0x343566['charAt'](_0x4eabec++);~_0x122149&&(_0x5400c2=_0x273105%0x4?_0x5400c2*0x40+_0x122149:_0x122149,_0x273105++%0x4)?_0x233d5f+=String['fromCharCode'](0xff&_0x5400c2>>(-0x2*_0x273105&0x6)):0x0){_0x122149=_0x1057ac['indexOf'](_0x122149);}for(let _0xd1a72c=0x0,_0x5c053a=_0x233d5f['length'];_0xd1a72c<_0x5c053a;_0xd1a72c++){_0x22ffac+='%'+('00'+_0x233d5f['charCodeAt'](_0xd1a72c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22ffac);};_0x1953['xnxVoZ']=_0x3316d3,_0x1953['cFBiXR']={},_0x1953['CHifah']=!![];}const _0x300087=_0x2215f2[0x0],_0xc5b1fd=_0x3acb0d+_0x300087,_0x2e1006=_0x1953['cFBiXR'][_0xc5b1fd];return!_0x2e1006?(_0x1953fe=_0x1953['xnxVoZ'](_0x1953fe),_0x1953['cFBiXR'][_0xc5b1fd]=_0x1953fe):_0x1953fe=_0x2e1006,_0x1953fe;}const {program}=require('commander'),chalk=require(_0x52dbbf(0x9b)),packageJson=require('../package.json'),{startServer}=require(_0x52dbbf(0x93)),{listDevices}=require(_0x52dbbf(0x79)),{checkDoctor}=require(_0x52dbbf(0xc0)),{executeCommand}=require(_0x52dbbf(0xb3));program[_0x52dbbf(0x89)](_0x52dbbf(0x83))[_0x52dbbf(0xa9)](_0x52dbbf(0x8e))[_0x52dbbf(0x81)](packageJson[_0x52dbbf(0x81)],_0x52dbbf(0x90),_0x52dbbf(0xba))[_0x52dbbf(0xa2)](_0x52dbbf(0xab),'Display\x20help\x20information'),program[_0x52dbbf(0x7a)](_0x52dbbf(0xa5))['description'](_0x52dbbf(0xac))[_0x52dbbf(0xbb)](_0x52dbbf(0xa1),_0x52dbbf(0x86),_0x52dbbf(0x84))[_0x52dbbf(0xbb)]('--no-browser',_0x52dbbf(0xbc))[_0x52dbbf(0xbb)]('--debug',_0x52dbbf(0xb4))[_0x52dbbf(0xbb)](_0x52dbbf(0xaa),_0x52dbbf(0xb6))[_0x52dbbf(0xbb)](_0x52dbbf(0x91),_0x52dbbf(0xb9))[_0x52dbbf(0xb7)](async _0x3e84a6=>{const _0x452fcb=_0x52dbbf,_0x63cbaa={};_0x63cbaa[_0x452fcb(0x85)]=function(_0x216e62,_0x2fa072){return _0x216e62===_0x2fa072;},_0x63cbaa['eBNYn']='AyFqR',_0x63cbaa[_0x452fcb(0xc3)]=_0x452fcb(0xc2),_0x63cbaa[_0x452fcb(0xbf)]=_0x452fcb(0x7d),_0x63cbaa[_0x452fcb(0x87)]=_0x452fcb(0x92);const _0xda27d9=_0x63cbaa;try{_0xda27d9[_0x452fcb(0x85)](_0xda27d9[_0x452fcb(0xb8)],_0xda27d9['USECA'])?(_0x122149[_0x452fcb(0xbe)](_0x4eabec[_0x452fcb(0xa8)](_0x452fcb(0x78)),_0xd1a72c['message']),_0x5c053a['exit'](0x1)):(console[_0x452fcb(0x8c)](chalk[_0x452fcb(0x80)][_0x452fcb(0x94)](_0xda27d9['EZFGq'])),console[_0x452fcb(0x8c)](chalk[_0x452fcb(0x7f)](_0xda27d9[_0x452fcb(0x87)])),console[_0x452fcb(0x8c)](chalk[_0x452fcb(0x7f)]('โ”'['repeat'](0x32))),await startServer(_0x3e84a6));}catch(_0x2c63c7){console[_0x452fcb(0xbe)](chalk[_0x452fcb(0xa8)](_0x452fcb(0x78)),_0x2c63c7[_0x452fcb(0x9a)]),process['exit'](0x1);}}),program[_0x52dbbf(0x7a)](_0x52dbbf(0x8a))[_0x52dbbf(0xa9)](_0x52dbbf(0x96))[_0x52dbbf(0xbb)]('-v,\x20--verbose',_0x52dbbf(0x7c))['action'](async _0x30d76c=>{const _0x471828=_0x52dbbf,_0x463bf7={'hMLQK':'\x0a๐Ÿ“ฑ\x20Scanning\x20for\x20devices...','mwbTN':function(_0x23ed4c,_0x57be09){return _0x23ed4c(_0x57be09);},'mHRzW':_0x471828(0x78)};try{console[_0x471828(0x8c)](chalk['cyan'][_0x471828(0x94)](_0x463bf7['hMLQK'])),console[_0x471828(0x8c)](chalk[_0x471828(0x7f)]('โ”'[_0x471828(0xc7)](0x32))),await _0x463bf7[_0x471828(0x98)](listDevices,_0x30d76c);}catch(_0x304bbf){console[_0x471828(0xbe)](chalk[_0x471828(0xa8)](_0x463bf7[_0x471828(0x8d)]),_0x304bbf[_0x471828(0x9a)]),process[_0x471828(0xc6)](0x1);}}),program[_0x52dbbf(0x7a)](_0x52dbbf(0xa0))[_0x52dbbf(0xa9)](_0x52dbbf(0xc4))['action'](async()=>{const _0x544a2f=_0x52dbbf,_0x3f7efc={'Auewp':function(_0x48041f){return _0x48041f();},'JuaTH':_0x544a2f(0x78)};try{console[_0x544a2f(0x8c)](chalk['cyan'][_0x544a2f(0x94)](_0x544a2f(0xa4))),console[_0x544a2f(0x8c)](chalk[_0x544a2f(0x7f)]('โ”'[_0x544a2f(0xc7)](0x32))),await _0x3f7efc[_0x544a2f(0x9f)](checkDoctor);}catch(_0x163735){console[_0x544a2f(0xbe)](chalk[_0x544a2f(0xa8)](_0x3f7efc[_0x544a2f(0xa6)]),_0x163735[_0x544a2f(0x9a)]),process['exit'](0x1);}}),program[_0x52dbbf(0x7a)](_0x52dbbf(0xa3))[_0x52dbbf(0xa9)](_0x52dbbf(0x9d))[_0x52dbbf(0xbb)]('-d,\x20--device\x20<name>','Execute\x20on\x20specific\x20device')[_0x52dbbf(0xbb)]('-a,\x20--all',_0x52dbbf(0xb2))[_0x52dbbf(0xb7)](async(_0x19e785,_0x21414f)=>{const _0x468316=_0x52dbbf,_0x1d3aea={'jvMSb':_0x468316(0x78),'IWiBV':_0x468316(0xb1),'fjSLg':function(_0x28ed20,_0x8ba6fc,_0x4e456e){return _0x28ed20(_0x8ba6fc,_0x4e456e);},'tiuzz':_0x468316(0x7e)};try{console[_0x468316(0x8c)](chalk[_0x468316(0x80)][_0x468316(0x94)](_0x1d3aea['IWiBV'])),console['log'](chalk[_0x468316(0x7f)]('โ”'[_0x468316(0xc7)](0x32))),await _0x1d3aea[_0x468316(0xbd)](executeCommand,_0x19e785,_0x21414f);}catch(_0x51e1be){_0x1d3aea[_0x468316(0xad)]===_0x1d3aea[_0x468316(0xad)]?(console[_0x468316(0xbe)](chalk[_0x468316(0xa8)](_0x1d3aea[_0x468316(0x9e)]),_0x51e1be[_0x468316(0x9a)]),process[_0x468316(0xc6)](0x1)):(_0x3981c3['error'](_0x1c7697[_0x468316(0xa8)](jffJIQ[_0x468316(0x9e)]),_0x5a18f5[_0x468316(0x9a)]),_0x6d7a32['exit'](0x1));}}),program['parse'](process[_0x52dbbf(0x88)]);if(!process['argv'][_0x52dbbf(0xc8)](0x2)['length']){const IZMswv='3|4|5|2|1|0'[_0x52dbbf(0x82)]('|');let wMqIGA=0x0;while(!![]){switch(IZMswv[wMqIGA++]){case'0':console['log']('');continue;case'1':console['log'](chalk[_0x52dbbf(0x7f)](_0x52dbbf(0xca))+chalk[_0x52dbbf(0x7b)](_0x52dbbf(0x77)));continue;case'2':console[_0x52dbbf(0x8c)](chalk[_0x52dbbf(0x7f)](_0x52dbbf(0x8b))+chalk[_0x52dbbf(0x7b)](_0x52dbbf(0xc1)));continue;case'3':program[_0x52dbbf(0xb5)]();continue;case'4':console[_0x52dbbf(0x8c)](chalk[_0x52dbbf(0x80)]('\x0a๐Ÿ’ก\x20Quick\x20start:'));continue;case'5':console[_0x52dbbf(0x8c)](chalk[_0x52dbbf(0x7f)](_0x52dbbf(0x97))+chalk[_0x52dbbf(0x7b)]('#\x20Start\x20the\x20server'));continue;}break;}}
3
+ const _0x1ce38f=_0x4a76;function _0x5efe(){const _0x287cfd=['sgTzr2K','s3HOBgO','cVcFMOaGrgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxm','zxjYB3i','wMHeAfy','zg9JDg9Y','AhbyqLO','vNvqqxK','icbKzxzPy2vSEsbKB2n0B3iGica','lI4VBgLIl2v4zwn1Dg9Y','yM9Sza','lxaSic0TCg9YDca8Cg9YDd4','iYbdAgvJAYbZExn0zw0','B3v0Chv0sgvSCa','u3rHCNqGrgv2AwnLBhKGC2vYDMvYigfUzcbVCgvUihDLyIbPBNrLCMzHy2u','nxWWFdf8nhWYFdm','odyZnZi1nwH2yvrnrW','mtK3odKWwwX1rwzX','z1rTBK8','Bg9N','vM91sve','cVcFK7eGu2nHBM5PBMCGzM9YigrLDMLJzxmUlI4','y2HHBgS','ls13AwzPlw9UBhK','rgLZCgXHEsb2zxjZAw9Uig51BwjLCG','lI4VCgfJA2fNzs5QC29U','nJK5oda0wwnTD1vW','y3LHBG','BLPyCvG','uhbjthy','B3b0Aw9U','vfvrqxi','q2HLy2SGC3LZDgvTihjLCxvPCMvTzw50CYbMB3iGAu9tigfUzcbbBMrYB2LKigf1Dg9TyxrPB24','qwvmEMu','rxHLy3v0zsbVBIbZCgvJAwzPyYbKzxzPy2u','vKvVs3C','iYbtDgfYDcb0AguGC2vYDMvY','mNzZz3Purq','BeHQsuW','DMvYC2LVBG','zgf5zeO','rgLZCgXHEsbOzwXWigLUzM9YBwf0Aw9U','CMvK','u2vYDMvYihbVCNq','rgv2AwnLBhKGlsbpBMuGq29TBwfUzcWGqwXSierLDMLJzxmUiefjifbVD2vYzwqGtw9IAwXLief1Dg9TyxrPB24','C2XPy2u','ls1Kzwj1zW','mZaWmq','mtmZmdK1nMTbq3Llta','zxHLyYa8y29TBwfUzd4','y29TBwfUza','lweSic0TywXS','rg9Uj3qGB3bLBIbICM93C2vYigf1Dg9TyxrPy2fSBhK','ndGYm3vrAeDLyq','BgLZDa','rgv0zwn0ifvtqIbKzxzPy2vZig9UBhK','mtm4sgTbt29R','lxySic0TDMvYC2LVBG','ueLXwxm','lI4VBgLIl3nLCNzLCG','mtbOv1ncu3q','D2HPDgu','zgvZy3jPChrPB24','CMvWzwf0','rw5HyMXLigrLyNvNigXVz2DPBMC','iYbmAxn0igrLDMLJzxm','rgv0zwn0ifDPrMKGzgv2AwnLCYbVBMX5','q1Hrz0O','BKjJvfe','mJm5ndmZoxfSuu9UBG','ls11C2iTB25SEq','icbKzxzPy2vSEsbZDgfYDcaGica','cUkDJcbfCNjVCJO','cVcFKQeGuxvPy2SGC3rHCNq6','qLvHrKS','ugvys00','z3jHEq','lwqSic0Tzgv2AwnLidXUyw1LpG','t1jLEMK','zxHPDa','zNHSCgi','uezqyvy','Bg15ug4','odu5mLDdvuX4qq','uxb3uKG','tgLZDcbHBgWGy29UBMvJDgvKigLpuYbHBMqGqw5KCM9PzcbKzxzPy2vZ','icbKzxzPy2vSEsbSAxn0icaGica','BwvZC2fNzq','C3rHCNq','mhW0Fdj8nxWXFdm','zMT2Bgu','lwGSic0TAgvSCa','cUkAOsbfEgvJDxrPBMCGy29TBwfUzc4UlG','rhnxDxK','rxHLy3v0zsbVBIbHBgWGzgv2AwnLCYaOzgvMyxvSDcK','ody0otbkEvPKt2K','CgfYC2u','u2HVDYbKzxrHAwXLzcbKzxzPy2uGAw5MB3jTyxrPB24','DxLnBLO','ywn0Aw9U','C3bSAxq','tef4Dxu','lI4VBgLIl2rVy3rVCG','yxjNDG'];_0x5efe=function(){return _0x287cfd;};return _0x5efe();}(function(_0x48511b,_0x59d619){const _0x4c71e3=_0x4a76,_0xea0472=_0x48511b();while(!![]){try{const _0x31aab1=parseInt(_0x4c71e3(0x82))/0x1+-parseInt(_0x4c71e3(0x96))/0x2*(parseInt(_0x4c71e3(0xb6))/0x3)+-parseInt(_0x4c71e3(0x8b))/0x4+parseInt(_0x4c71e3(0xd0))/0x5*(-parseInt(_0x4c71e3(0xa9))/0x6)+parseInt(_0x4c71e3(0xa6))/0x7*(parseInt(_0x4c71e3(0xc4))/0x8)+parseInt(_0x4c71e3(0xa1))/0x9+parseInt(_0x4c71e3(0xad))/0xa*(parseInt(_0x4c71e3(0x81))/0xb);if(_0x31aab1===_0x59d619)break;else _0xea0472['push'](_0xea0472['shift']());}catch(_0x492178){_0xea0472['push'](_0xea0472['shift']());}}}(_0x5efe,0x7a14f));const {program}=require('commander'),chalk=require(_0x1ce38f(0x87)),packageJson=require(_0x1ce38f(0x8a)),{startServer}=require(_0x1ce38f(0xac)),{listDevices}=require('../lib/devices'),{checkDoctor}=require(_0x1ce38f(0xd7)),{executeCommand}=require(_0x1ce38f(0xe2));program['name']('devicely')[_0x1ce38f(0xaf)](_0x1ce38f(0x9d))[_0x1ce38f(0x98)](packageJson['version'],_0x1ce38f(0xaa),_0x1ce38f(0x89))['helpOption'](_0x1ce38f(0xcc),_0x1ce38f(0x9a)),program[_0x1ce38f(0xa3)](_0x1ce38f(0xc9))[_0x1ce38f(0xaf)](_0x1ce38f(0x7f))[_0x1ce38f(0x8f)](_0x1ce38f(0xe4),_0x1ce38f(0x9c),_0x1ce38f(0xa0))[_0x1ce38f(0x8f)]('--no-browser',_0x1ce38f(0xa5))[_0x1ce38f(0x8f)](_0x1ce38f(0x9f),_0x1ce38f(0xb1))[_0x1ce38f(0x8f)](_0x1ce38f(0xb7),_0x1ce38f(0xa8))[_0x1ce38f(0x8f)](_0x1ce38f(0x88),_0x1ce38f(0xb3))['action'](async _0x50c60c=>{const _0xf89e47=_0x1ce38f,_0x57223a={'ZhDhV':_0xf89e47(0x80),'ORezi':_0xf89e47(0xba),'IyWCW':function(_0x766d5e,_0x35ff30){return _0x766d5e+_0x35ff30;},'bxTBH':_0xf89e47(0xb8),'PIqYs':_0xf89e47(0x95),'PeXKM':_0xf89e47(0xe1),'daydJ':_0xf89e47(0x7d),'hXbIN':function(_0x1d8755,_0x2bcac2){return _0x1d8755+_0x2bcac2;},'VouIQ':_0xf89e47(0xc7),'QpwRH':'\x0aโŒ\x20Error:','Kxhlj':_0xf89e47(0xbb),'fxlpb':_0xf89e47(0xdb),'PFPaV':'\x20\x20\x20AI\x20Powered\x20Mobile\x20Automation','PpILv':function(_0x70a083,_0x256c36){return _0x70a083(_0x256c36);},'AeLze':function(_0x40da16,_0x28a086){return _0x40da16===_0x28a086;},'TUQAr':_0xf89e47(0xcb),'uyMnZ':'nsoxh'};try{if(_0x57223a[_0xf89e47(0xda)]!==_0xf89e47(0xd6))console[_0xf89e47(0x84)](chalk[_0xf89e47(0x8c)]['bold'](_0x57223a[_0xf89e47(0xc1)])),console['log'](chalk[_0xf89e47(0xbd)](_0x57223a[_0xf89e47(0xc2)])),console[_0xf89e47(0x84)](chalk[_0xf89e47(0xbd)]('โ”'[_0xf89e47(0xb0)](0x32))),await _0x57223a[_0xf89e47(0x8e)](startServer,_0x50c60c);else{const _0x5ec1f6=_0x57223a[_0xf89e47(0xdd)][_0xf89e47(0xd5)]('|');let _0x4f4ce2=0x0;while(!![]){switch(_0x5ec1f6[_0x4f4ce2++]){case'0':_0x1ac97f[_0xf89e47(0x84)](_0x8d1c80[_0xf89e47(0x8c)](_0x57223a[_0xf89e47(0xbf)]));continue;case'1':_0x242fe2[_0xf89e47(0x84)](_0x57223a['IyWCW'](_0x41bfe6[_0xf89e47(0xbd)](_0x57223a['bxTBH']),_0x53dade[_0xf89e47(0xae)](_0x57223a[_0xf89e47(0xab)])));continue;case'2':_0x5b80e8['log'](_0x3a882d[_0xf89e47(0xbd)](_0x57223a[_0xf89e47(0xbc)])+_0x46145a[_0xf89e47(0xae)](_0x57223a[_0xf89e47(0x99)]));continue;case'3':_0x2582e9[_0xf89e47(0x84)]('');continue;case'4':_0x3d2064[_0xf89e47(0x84)](_0x57223a['hXbIN'](_0x5145d0['gray'](_0x57223a[_0xf89e47(0x85)]),_0x2aeaa5['white']('#\x20List\x20devices')));continue;case'5':_0x58d046[_0xf89e47(0x7e)]();continue;}break;}}}catch(_0x47ef57){_0x57223a[_0xf89e47(0x92)](_0x57223a[_0xf89e47(0x90)],_0x57223a[_0xf89e47(0xd3)])?(_0x3f3c13[_0xf89e47(0xdc)](_0x1dcf44[_0xf89e47(0x9b)](_0x57223a[_0xf89e47(0xc5)]),_0x634cf4[_0xf89e47(0xc8)]),_0x402979[_0xf89e47(0xc0)](0x1)):(console[_0xf89e47(0xdc)](chalk[_0xf89e47(0x9b)](_0x57223a['QpwRH']),_0x47ef57[_0xf89e47(0xc8)]),process[_0xf89e47(0xc0)](0x1));}}),program[_0x1ce38f(0xa3)](_0x1ce38f(0xa7))[_0x1ce38f(0xaf)](_0x1ce38f(0xc6))['option']('-v,\x20--verbose',_0x1ce38f(0xd2))[_0x1ce38f(0xd4)](async _0x3789a3=>{const _0x419c7b=_0x1ce38f,_0x42b47e={'nZXqX':function(_0x583193,_0x47a601){return _0x583193!==_0x47a601;},'nBcTQ':_0x419c7b(0xb4),'SvgrD':_0x419c7b(0x86),'pTAsX':function(_0x140a20,_0x4b8cd6){return _0x140a20(_0x4b8cd6);},'nEUVd':'\x0aโŒ\x20Error:'};try{_0x42b47e[_0x419c7b(0x8d)](_0x42b47e[_0x419c7b(0xb5)],_0x419c7b(0xb4))?(_0x4bab7c[_0x419c7b(0xdc)](_0x20e37b[_0x419c7b(0x9b)](_0x419c7b(0xb9)),_0x174a50[_0x419c7b(0xc8)]),_0x3dc202['exit'](0x1)):(console[_0x419c7b(0x84)](chalk[_0x419c7b(0x8c)][_0x419c7b(0xe3)](_0x42b47e['SvgrD'])),console[_0x419c7b(0x84)](chalk['gray']('โ”'[_0x419c7b(0xb0)](0x32))),await _0x42b47e['pTAsX'](listDevices,_0x3789a3));}catch(_0xf77757){console[_0x419c7b(0xdc)](chalk['red'](_0x42b47e['nEUVd']),_0xf77757[_0x419c7b(0xc8)]),process[_0x419c7b(0xc0)](0x1);}}),program['command'](_0x1ce38f(0xde))[_0x1ce38f(0xaf)](_0x1ce38f(0x91))['action'](async()=>{const _0x5ed13c=_0x1ce38f,_0x4d9d1f={};_0x4d9d1f['VEoKw']='\x0a๐Ÿ”\x20Checking\x20system\x20requirements...',_0x4d9d1f[_0x5ed13c(0xce)]=_0x5ed13c(0xb9);const _0x3fd029=_0x4d9d1f;try{console[_0x5ed13c(0x84)](chalk[_0x5ed13c(0x8c)]['bold'](_0x3fd029[_0x5ed13c(0x94)])),console[_0x5ed13c(0x84)](chalk[_0x5ed13c(0xbd)]('โ”'[_0x5ed13c(0xb0)](0x32))),await checkDoctor();}catch(_0x199829){console[_0x5ed13c(0xdc)](chalk['red'](_0x3fd029[_0x5ed13c(0xce)]),_0x199829[_0x5ed13c(0xc8)]),process['exit'](0x1);}}),program[_0x1ce38f(0xa3)](_0x1ce38f(0xa2))[_0x1ce38f(0xaf)]('Execute\x20command\x20on\x20connected\x20iOS/Android\x20devices')['option'](_0x1ce38f(0xbe),_0x1ce38f(0x93))[_0x1ce38f(0x8f)](_0x1ce38f(0xa4),_0x1ce38f(0xcf))[_0x1ce38f(0xd4)](async(_0x577e11,_0x1ed1cb)=>{const _0x34ef4b=_0x1ce38f,_0x5e40dc={};_0x5e40dc['lHjIL']=_0x34ef4b(0xb9),_0x5e40dc['hpXBZ']=_0x34ef4b(0x83),_0x5e40dc[_0x34ef4b(0xd9)]=_0x34ef4b(0xc3),_0x5e40dc['VuPAy']=_0x34ef4b(0xcd);const _0x1f1799=_0x5e40dc;try{_0x1f1799[_0x34ef4b(0xdf)]!==_0x1f1799[_0x34ef4b(0xd9)]?(console[_0x34ef4b(0x84)](chalk[_0x34ef4b(0x8c)][_0x34ef4b(0xe3)](_0x1f1799[_0x34ef4b(0xe0)])),console[_0x34ef4b(0x84)](chalk[_0x34ef4b(0xbd)]('โ”'[_0x34ef4b(0xb0)](0x32))),await executeCommand(_0x577e11,_0x1ed1cb)):(_0x211923[_0x34ef4b(0xdc)](_0x54e042[_0x34ef4b(0x9b)](DLREjM[_0x34ef4b(0x97)]),_0xd2f1f6['message']),_0x1777b1[_0x34ef4b(0xc0)](0x1));}catch(_0x4b0580){console[_0x34ef4b(0xdc)](chalk['red'](_0x1f1799[_0x34ef4b(0x97)]),_0x4b0580[_0x34ef4b(0xc8)]),process[_0x34ef4b(0xc0)](0x1);}}),program[_0x1ce38f(0xd1)](process[_0x1ce38f(0xd8)]);function _0x4a76(_0x2990ca,_0x2af03b){_0x2990ca=_0x2990ca-0x7d;const _0x5efe9b=_0x5efe();let _0x4a76f2=_0x5efe9b[_0x2990ca];if(_0x4a76['lvIYJF']===undefined){var _0x5d2de7=function(_0x23c561){const _0x6fc38f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4402a3='',_0x417ed3='';for(let _0x31f08a=0x0,_0x3a8e81,_0x3f3c13,_0x1dcf44=0x0;_0x3f3c13=_0x23c561['charAt'](_0x1dcf44++);~_0x3f3c13&&(_0x3a8e81=_0x31f08a%0x4?_0x3a8e81*0x40+_0x3f3c13:_0x3f3c13,_0x31f08a++%0x4)?_0x4402a3+=String['fromCharCode'](0xff&_0x3a8e81>>(-0x2*_0x31f08a&0x6)):0x0){_0x3f3c13=_0x6fc38f['indexOf'](_0x3f3c13);}for(let _0x634cf4=0x0,_0x402979=_0x4402a3['length'];_0x634cf4<_0x402979;_0x634cf4++){_0x417ed3+='%'+('00'+_0x4402a3['charCodeAt'](_0x634cf4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x417ed3);};_0x4a76['NGNKWM']=_0x5d2de7,_0x4a76['nEySKe']={},_0x4a76['lvIYJF']=!![];}const _0x156bfd=_0x5efe9b[0x0],_0x5071f8=_0x2990ca+_0x156bfd,_0x22254d=_0x4a76['nEySKe'][_0x5071f8];return!_0x22254d?(_0x4a76f2=_0x4a76['NGNKWM'](_0x4a76f2),_0x4a76['nEySKe'][_0x5071f8]=_0x4a76f2):_0x4a76f2=_0x22254d,_0x4a76f2;}if(!process[_0x1ce38f(0xd8)][_0x1ce38f(0x9e)](0x2)['length']){const lKDtYZ=_0x1ce38f(0xca)[_0x1ce38f(0xd5)]('|');let wDuqLb=0x0;while(!![]){switch(lKDtYZ[wDuqLb++]){case'0':program[_0x1ce38f(0x7e)]();continue;case'1':console['log'](chalk[_0x1ce38f(0xbd)](_0x1ce38f(0xe1))+chalk[_0x1ce38f(0xae)]('#\x20Check\x20system'));continue;case'2':console[_0x1ce38f(0x84)](chalk[_0x1ce38f(0xbd)](_0x1ce38f(0xb8))+chalk[_0x1ce38f(0xae)](_0x1ce38f(0x95)));continue;case'3':console[_0x1ce38f(0x84)]('');continue;case'4':console[_0x1ce38f(0x84)](chalk[_0x1ce38f(0x8c)](_0x1ce38f(0xba)));continue;case'5':console['log'](chalk[_0x1ce38f(0xbd)](_0x1ce38f(0xc7))+chalk['white'](_0x1ce38f(0xb2)));continue;}break;}}
@@ -18,7 +18,7 @@
18
18
  # Pixel8,1A2B3C4D5E6F,,android,usb (Android USB - auto-detected)
19
19
  # GalaxyS23,ABCD1234,192.168.1.150,android,wireless (Android Wireless)
20
20
 
21
- iPadProSuresh,00008132-000A24C022FB801C,,ios,usb
22
21
  iPhone17,00008150-001058D13478401C,,ios,usb
23
- iPhoneXR17x,00008020-000D48520C53802E,,ios,usb
24
22
  iPhone16Plus,00008140-001C24361E41801C,,ios,usb
23
+ sdk gphone64 arm64,emulator-5554,,android,usb
24
+ iPadProSuresh,00008132-000A24C022FB801C,,ios,usb
@@ -0,0 +1 @@
1
+ function _0x3f94(){const _0x3ceab9=['B2jQzwn0','A1r0tMK','v3rWAuC','rgv2AwnLigrPC2nVBM5Ly3rLza','zxjYB3i','Cg5lzvu','DKD5ww8','mNWXFdb8m3W0','BwvTB3j5','Bg9N','rw9SBvK','C3rHCNruAw1L','C3vJy2vZCW','mZi0nti2zezICvnz','Cg9YDa','Aw5MBW','C2vZC2LVBLrYywnRzxi','4PQG77Ipica','y29TBwfUzhm','sfruucbszxf1zxn0','CMvJDxjZAxzL','rKD1Eha','BMv0D29YAW','sxfdCwu','C2vZC2LVBKLK','BxmP','8j+tSsbfEgvJDxrPBMCG','8j+tSsa','whfKy1i','wLPeuLy','ywvZseK','u0fjCwC','EKPSzwe','BwvZC2fNzq','nMD0A0L1Cq','s2D2shK','AM9PBG','CMvwrKy','z1LMvuy','Ahr0Ca','Bg9NrgLY','r1jWveu','s1DJCKW','mtGZmdK1ntvxA1DXDMm','wfzgy0i','rujoBg4','A0jJsKq','v2XAu2G','iNGIoLTyxsWIEsi6w1LD','ruzYtNG','mJiZmJu5tuDgzwrK','z1r4t1a','yxbWzw5KrMLSzq','FI9BlI4Uxq','rgrIvNG','rgv2AwnLBhLmB2DNzxi','vMnAy3O','weLrCNu','Aw5PDgLHBgL6zq','tNrkwu4','sePoBvu','C3bSAxq','C2vZC2LVBNm','C2vJDxjPDhK','DxvPza','CuzmDeS','BwvTB3j5vxnHz2u','z1vNtM0','y29VCMrPBMf0zxm','BhHxChG','tM50DLu','ywrKrgv2AwnL','B2DUq2S','AvLHEeS','C2v0','wxrWzuC','z2v0u3rHDhm','CuzgAfy','shDkvhq','rgv2AwnLigvYCM9Y','nZaXmtm5mefACeHkrW','C3rHy2S','BLziwfq','CMvKDwnL','te9hx0XfvKvmuW','y29UBMvJDa','sNf5EMq','qMvrC0G','yM94','DhjHy2u','C3DyCvC','ufvcteLd','zgvIDwC','zgv2AwnLCW','Ag9TzvbHDgG','uKrAtgW','w0Lqluferfjfu1nD','rLfZDgC','A0jirgy','sKDkzKG','CgXXrMK','zw5KvgLTzxi','r0XqB24','8j+sVIbnzw1VCNKGDhjHy2TPBMC6ia','igrPC2nVBM5Ly3rLza','tgXPshC','8j+sOsbszw1VDMuGls1Kzwj1zYbMB3iGy2XLyw4GChvIBgLJig1Vzgu','s0viB1K','Dhj1zq','q0fqD2K','tg9Nz2vY','tNrJCLK','uefsveLbta','uurpAfa','u3vAwfG','wfjNEeO','ywrKq29TBwfUza','zgv2AwnL','CgXHDgzVCM0','DNjQBxu','q29TBwfUzdOG','De95D1i','tujMDe8','DgLTzxjZ','q1vsuKvovf9mrvzfta','y29TBwfUzenVDw50','B25isum','B1DIBwC','AwXfu0W','zw5Vzge','tuDhEgi','DgLTAw5N','D2fYBG','Cu16wMO','xcqM','z2v0','tuiGlYa','DfjTCKi','CNnZ','zgvSzxrL','A0H5zfu','ChvZAa','DxvmAxO','AgvHCfrVDgfS','4PYfienVBM5Ly3rLzcb0BYa','w1vtrviTuefusf0','Aw5PDfbYB21PC2u','y3vIC24','uwvxEKi','8j+tIIa','8j+mKca','C21ovwG','t3zADKe','C3HPrwq','reH1u1y','wKXJuxG','shjtt1i','v0LZq0m','8j+AGcbezxzPy2vSEsbbzhzHBMnLzcbmB2DNAw5Nifn5C3rLBq','y2Dmuw4','ls1KzxyTBw9Kzq','D1zvqMy','Bwv0CMLJ','y1bOqMq','z2v0twvTB3j5vxnHz2u','CMvWBgfJzq','zxfVDeq','mJGYntG5ofPQvxzHuW','uvnJvhi','EMXirKG','reTer0S','z2v0u2vZC2LVBLn0yxrZ','yxjNCW','C3rYAw5NAwz5','q1jfqvrpuG','tenhAhC','CM91BMq','revwruXpuevs','rxP5Afy','tuiGkfjtuZOG','wuL2DKW','wgHxu0O','CLrgDgW','BgvUz3rO','Be9rr24','rNbHvfK','rw56CMq','Bw9KDwXL','8j+uJsbB','8j+tSsbezxzPy2uGzgLZy29UBMvJDgvK','8j+tGsbgAwXLigXVz2DPBMC6ia','BM93','w0vorfbpsu5uxq','C2L6zq','Ee1zD1m','zgv2zwXVCg1LBNq','C2XPy2u','CenPt3K','otaYnteYDfLVse1V','DgvZDa','BwvTB3j5x3jZCW','C2jzuem','BwfW','rMHLsKW','Aw5JBhvKzxm','s3PdufK','y29UC29Syq','uwjOCwO','8j+tIIbnB2rLoIa','lI4U','8j+uPYbtzxnZAw9UoIa','qNLbzM4','C2HVD1n0yxj0Dxbcyw5Uzxi','vgLTzxiGC3rHCNrLzdOG','q09pzLi','Dg9ju09tDhjPBMC','BwTKAxi','ywLgq3a','vM5Iz1a','uvvIAw4','w0rfvKLdrs1jrf0','yxjNDG','wuL0t2e','mJfuDKHdExm','uNruA2m','rgv2AwnLignVBM5Ly3rLza','B1vLtLO','whbZA2K','zgf0yq','BunAvgy','CgvYzM9YBwfUy2u','lMXVzW','yLzeD0i','q0nAzLi','8j+uPYbBvfjbq0vDwW','ode5mJGWohjzz0DYyG','EwrVB0u','8j+uKIbBu0vdvvjjvfLDwW','ChjVBwLZzxm','8j+sVIbnzw1VCNK6ia','zxH0zxjUywW','zgnsENa','zgv2AwnLBhKTBwfPBI5SB2C','AgvHCfvZzwq','ANnusK0','BwvTB3j5x2HLyxbFDxnLza','AxHlueO','lI4VlI4VBg9NCW','zxHWB3j0CW','8j+AGcbezxzPy2vSEsbZDgfYDgLUzY4UlG','8j+tSsbB','v0X1EgW','C3rHCNruAw1LCG','w1jfrefdvevexq','iokgKIa','DwrPza','zgDUvNK','sLbowK8'];_0x3f94=function(){return _0x3ceab9;};return _0x3f94();}const _0x3885aa=_0x1f8f;(function(_0x3c8067,_0x27d289){const _0x2c75da=_0x1f8f,_0x3ac3fa=_0x3c8067();while(!![]){try{const _0x22480e=-parseInt(_0x2c75da(0x219))/0x1+-parseInt(_0x2c75da(0x1f4))/0x2*(-parseInt(_0x2c75da(0x209))/0x3)+-parseInt(_0x2c75da(0x1ab))/0x4+parseInt(_0x2c75da(0x237))/0x5+-parseInt(_0x2c75da(0x28e))/0x6*(parseInt(_0x2c75da(0x1c4))/0x7)+-parseInt(_0x2c75da(0x1d0))/0x8+parseInt(_0x2c75da(0x212))/0x9;if(_0x22480e===_0x27d289)break;else _0x3ac3fa['push'](_0x3ac3fa['shift']());}catch(_0x31919b){_0x3ac3fa['push'](_0x3ac3fa['shift']());}}}(_0x3f94,0xd5afe));const consola=require(_0x3885aa(0x1b3)),{v4:uuidv4}=require(_0x3885aa(0x227)),fs=require('fs')[_0x3885aa(0x1d3)],path=require('path'),os=require('os'),_0x18b7aa={};_0x18b7aa[_0x3885aa(0x242)]=0x0,_0x18b7aa[_0x3885aa(0x298)]=0x1,_0x18b7aa['CREATOR']=0x2;const LOG_LEVELS=_0x18b7aa,CURRENT_LEVEL=((()=>{const _0x307adb=_0x3885aa,_0x703375={'VnbgP':function(_0x39fae2,_0x2999bd){return _0x39fae2===_0x2999bd;},'nVHXT':_0x307adb(0x1e7),'uMWQe':function(_0x4489d9,_0x28c360){return _0x4489d9(_0x28c360);},'sxiEd':_0x307adb(0x1c1),'vGyYo':_0x307adb(0x247),'PaeBr':_0x307adb(0x278),'WLuxl':'\x22x\x22:[X],\x22y\x22:[Y]','COOfR':function(_0x4610b0,_0x538489){return _0x4610b0===_0x538489;},'KzCPY':_0x307adb(0x21c),'bVDwB':function(_0x58bebb,_0x185ebe){return _0x58bebb-_0x185ebe;},'cPhBd':_0x307adb(0x253),'lxWpx':_0x307adb(0x287),'tRmrB':function(_0x1145d2,_0x1f730e){return _0x1145d2===_0x1f730e;},'JGJfH':'MgUza','JPNZO':_0x307adb(0x1a8),'DHuSV':_0x307adb(0x22d)};if(process.env.CREATOR_MODE===_0x703375[_0x307adb(0x28a)]||process[_0x307adb(0x1c2)][_0x307adb(0x1b1)](_0x703375[_0x307adb(0x22c)])){if(_0x703375[_0x307adb(0x270)](_0x307adb(0x1c5),_0x703375[_0x307adb(0x24a)])){if(_0x703375['VnbgP'](_0x5122ea,_0x1f0b7e[_0x307adb(0x295)]))return _0x5238bb;let _0x5c04c0=typeof _0x2186da===_0x703375[_0x307adb(0x239)]?_0x2af098[_0x307adb(0x294)](_0x492fef,null,0x2):_0x703375['uMWQe'](_0x29406c,_0x32428e);if(_0x703375[_0x307adb(0x1bf)](_0x17df0d,_0x2dec5b[_0x307adb(0x242)]))_0x5c04c0=_0x5c04c0['replace'](_0x13bf9e[_0x307adb(0x1e4)],_0x703375[_0x307adb(0x280)]),_0x5c04c0=_0x5c04c0['replace'](_0x11fc04['ip'],_0x703375[_0x307adb(0x1ed)]),_0x5c04c0=_0x5c04c0[_0x307adb(0x28c)](_0x212cca[_0x307adb(0x1f5)],'[ENDPOINT]'),_0x5c04c0=_0x5c04c0['replace'](_0x1e3542[_0x307adb(0x245)],_0x703375['PaeBr']),_0x5c04c0=_0x5c04c0[_0x307adb(0x28c)](_0x38bd2f[_0x307adb(0x22b)],_0x703375[_0x307adb(0x1e0)]);else _0x703375[_0x307adb(0x1bb)](_0x40a040,_0x5d68ba['DEVELOPER'])&&(_0x5c04c0=_0x5c04c0[_0x307adb(0x28c)](_0x2b08c0[_0x307adb(0x1e4)],_0x350897=>_0x350897[_0x307adb(0x1a9)](0x0,0x8)+_0x307adb(0x1b6)+_0x350897[_0x307adb(0x1a9)](-0x4)),_0x5c04c0=_0x5c04c0[_0x307adb(0x28c)](_0x521cf3[_0x307adb(0x245)],_0x703375[_0x307adb(0x1b2)]));return _0x5c04c0;}else return LOG_LEVELS[_0x307adb(0x295)];}if(process[_0x307adb(0x1c2)][_0x307adb(0x1b1)]('--debug')||process.env.DEBUG===_0x703375[_0x307adb(0x28a)]||_0x703375['tRmrB'](process.env.NODE_ENV,_0x703375[_0x307adb(0x1e6)])){if(_0x703375[_0x307adb(0x281)]===_0x703375[_0x307adb(0x281)])return LOG_LEVELS[_0x307adb(0x298)];else{const _0x5c6d02=_0x703375[_0x307adb(0x1cd)](_0x2b58bd['now'](),_0x4d7c1d);return this[_0x307adb(0x262)]['delete'](_0x1c1274),_0x3d98ae&&_0x3ce403>=_0x460e06[_0x307adb(0x298)]&&this[_0x307adb(0x1cb)](_0x2d4886,_0x5c6d02),_0x5c6d02;}}return LOG_LEVELS[_0x307adb(0x242)];})()),SENSITIVE_PATTERNS={'udid':/([a-fA-F0-9]{8}-[a-fA-F0-9]{16})/g,'serial':/([A-Z0-9]{10,})/g,'token':/(token|auth|key|secret|password)/i,'ip':/(\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b)/g,'port':/(localhost:\d+|127\.0\.0\.1:\d+)/g,'homePath':new RegExp(os['homedir']()[_0x3885aa(0x28c)](/[.*+?^${}()|[\]\\]/g,_0x3885aa(0x26d)),'g'),'coordinates':/("x":\d+,"y":\d+)/g};function redactSensitiveData(_0xc591bd,_0x372fed=CURRENT_LEVEL){const _0x175551=_0x3885aa,_0x31f2ce={'BeQsH':function(_0x598706,_0x4c734e){return _0x598706===_0x4c734e;},'plqFi':function(_0x2b8ed6,_0x485a46,_0x4121a0){return _0x2b8ed6(_0x485a46,_0x4121a0);},'uuLiz':_0x175551(0x25c),'YItOa':_0x175551(0x1ea),'ilESL':function(_0x318269,_0x1dedf8){return _0x318269>=_0x1dedf8;},'pCiOy':function(_0x5aee19,_0x1d2e23,_0x4d2ef2){return _0x5aee19(_0x1d2e23,_0x4d2ef2);},'kBcJD':function(_0x351729,_0x2fb63d){return _0x351729===_0x2fb63d;},'qMzZj':'object','sbYPC':_0x175551(0x299),'zhIcE':_0x175551(0x1be),'GRpTE':_0x175551(0x247),'cubsn':_0x175551(0x1a5),'XhWSJ':_0x175551(0x278),'enoda':_0x175551(0x217),'DKDGK':function(_0x106601,_0x5367b9){return _0x106601===_0x5367b9;},'eqotD':_0x175551(0x21c)};if(_0x31f2ce['BeQsH'](_0x372fed,LOG_LEVELS['CREATOR']))return _0xc591bd;let _0x587370=_0x31f2ce[_0x175551(0x215)](typeof _0xc591bd,_0x31f2ce[_0x175551(0x26c)])?JSON['stringify'](_0xc591bd,null,0x2):String(_0xc591bd);if(_0x31f2ce[_0x175551(0x23e)](_0x372fed,LOG_LEVELS[_0x175551(0x242)])){if(_0x31f2ce['kBcJD'](_0x31f2ce[_0x175551(0x1ae)],_0x31f2ce['zhIcE'])){if(_0x31f2ce[_0x175551(0x23e)](_0x4c2d54,_0x864627[_0x175551(0x242)]))_0x227f19[_0x175551(0x1f6)](_0x175551(0x2a4));else{const _0x59ebf9=_0x31f2ce[_0x175551(0x24b)](_0x5b7d96,_0x2cf762,_0x93f1c7);_0x7c2ab7[_0x175551(0x1f6)](_0x175551(0x202)+_0x59ebf9+_0x175551(0x24f));}_0x4fdfdb[_0x175551(0x1f0)](_0x31f2ce[_0x175551(0x275)],'disconnect',_0x31f2ce[_0x175551(0x1c3)],{'deviceId':_0x31f2ce[_0x175551(0x267)](_0x59d92d,_0x30e0d3[_0x175551(0x295)])?_0x13eb19:_0x31f2ce[_0x175551(0x1aa)](_0x204e01,_0x54b6bc,_0x161218)});}else _0x587370=_0x587370[_0x175551(0x28c)](SENSITIVE_PATTERNS[_0x175551(0x1e4)],'[DEVICE-ID]'),_0x587370=_0x587370[_0x175551(0x28c)](SENSITIVE_PATTERNS['ip'],_0x31f2ce[_0x175551(0x210)]),_0x587370=_0x587370[_0x175551(0x28c)](SENSITIVE_PATTERNS[_0x175551(0x1f5)],_0x31f2ce[_0x175551(0x27a)]),_0x587370=_0x587370[_0x175551(0x28c)](SENSITIVE_PATTERNS['homePath'],_0x31f2ce[_0x175551(0x29c)]),_0x587370=_0x587370[_0x175551(0x28c)](SENSITIVE_PATTERNS['coordinates'],_0x31f2ce[_0x175551(0x268)]);}else _0x31f2ce[_0x175551(0x291)](_0x372fed,LOG_LEVELS[_0x175551(0x298)])&&(_0x587370=_0x587370[_0x175551(0x28c)](SENSITIVE_PATTERNS[_0x175551(0x1e4)],_0x4b5b08=>_0x4b5b08[_0x175551(0x1a9)](0x0,0x8)+_0x175551(0x1b6)+_0x4b5b08[_0x175551(0x1a9)](-0x4)),_0x587370=_0x587370[_0x175551(0x28c)](SENSITIVE_PATTERNS[_0x175551(0x245)],_0x31f2ce[_0x175551(0x28d)]));return _0x587370;}class SessionTracker{constructor(){const _0x456b8b=_0x3885aa,_0xe87ae5={};_0xe87ae5[_0x456b8b(0x25e)]=_0x456b8b(0x1ee);const _0x1c458c=_0xe87ae5,_0x2998f2=_0x1c458c[_0x456b8b(0x25e)][_0x456b8b(0x224)]('|');let _0x28b8cd=0x0;while(!![]){switch(_0x2998f2[_0x28b8cd++]){case'0':this[_0x456b8b(0x244)]=new Map();continue;case'1':this[_0x456b8b(0x1f2)]=Date[_0x456b8b(0x1a4)]();continue;case'2':this['sessionId']=uuidv4()[_0x456b8b(0x224)]('-')[0x0];continue;case'3':this[_0x456b8b(0x1f9)]=[];continue;case'4':this['performance']={'memory':[],'timing':new Map()};continue;}break;}}[_0x3885aa(0x22e)](_0x49fbc0,_0xa5032e){const _0x3da3db=_0x3885aa;this[_0x3da3db(0x244)]['set'](_0x49fbc0,{..._0xa5032e,'connectedAt':Date['now'](),'commandCount':0x0});}[_0x3885aa(0x25b)](_0x4d5397,_0x25a913,_0x3747e8){const _0x334231=_0x3885aa,_0x2c2ab4={};_0x2c2ab4[_0x334231(0x258)]=function(_0x3e6dae,_0x1ca7d6){return _0x3e6dae-_0x1ca7d6;};const _0x4f0431=_0x2c2ab4,_0x531334={'deviceId':_0x4d5397,'command':_0x25a913,'duration':_0x3747e8,'timestamp':Date[_0x334231(0x1a4)](),'sessionTime':_0x4f0431[_0x334231(0x258)](Date[_0x334231(0x1a4)](),this['startTime'])};this[_0x334231(0x1f9)][_0x334231(0x274)](_0x531334),this[_0x334231(0x244)]['has'](_0x4d5397)&&this[_0x334231(0x244)][_0x334231(0x26e)](_0x4d5397)[_0x334231(0x264)]++;}[_0x3885aa(0x1e1)](_0x39ec8c){const _0x137965=_0x3885aa;this[_0x137965(0x1cb)][_0x137965(0x26a)][_0x137965(0x231)](_0x39ec8c,Date[_0x137965(0x1a4)]());}[_0x3885aa(0x24c)](_0x530c8e){const _0x12741e=_0x3885aa,_0x39e8f1={};_0x39e8f1['Enzrd']=_0x12741e(0x1de),_0x39e8f1['OMhWC']=function(_0xc8c9b5,_0x2bca1f){return _0xc8c9b5!==_0x2bca1f;},_0x39e8f1[_0x12741e(0x248)]=_0x12741e(0x22a),_0x39e8f1['QScTr']=function(_0x4a3ee6,_0x5eeb22){return _0x4a3ee6-_0x5eeb22;};const _0x2ec53a=_0x39e8f1,_0x28cdbc=this[_0x12741e(0x1cb)][_0x12741e(0x26a)]['get'](_0x530c8e);if(_0x28cdbc){if(_0x2ec53a['OMhWC'](_0x2ec53a['FQstg'],_0x2ec53a[_0x12741e(0x248)]))_0x2aa120[_0x12741e(0x1f6)](_0x2ec53a[_0x12741e(0x2a1)]);else{const _0x498260=_0x2ec53a[_0x12741e(0x28f)](Date['now'](),_0x28cdbc);return this['performance'][_0x12741e(0x26a)]['delete'](_0x530c8e),_0x498260;}}return 0x0;}[_0x3885aa(0x28b)](){const _0x2d6682=_0x3885aa,_0x39b059={};_0x39b059['iXNla']=function(_0x3bef85,_0x5814e7){return _0x3bef85/_0x5814e7;},_0x39b059[_0x2d6682(0x241)]=function(_0x599908,_0x47f7b0){return _0x599908/_0x47f7b0;},_0x39b059[_0x2d6682(0x260)]=function(_0x1f51a8,_0x25ee96){return _0x1f51a8/_0x25ee96;},_0x39b059[_0x2d6682(0x1c0)]=function(_0x52864d,_0x1041a3){return _0x52864d/_0x1041a3;};const _0x2f2071=_0x39b059,_0x338ccc=process[_0x2d6682(0x229)](),_0x2f8a3d={'rss':Math['round'](_0x2f2071['iXNla'](_0x2f2071[_0x2d6682(0x241)](_0x338ccc[_0x2d6682(0x271)],0x400),0x400)),'heapUsed':Math[_0x2d6682(0x297)](_0x2f2071['iXNla'](_0x2f2071[_0x2d6682(0x260)](_0x338ccc[_0x2d6682(0x1d8)],0x400),0x400)),'heapTotal':Math[_0x2d6682(0x297)](_0x2f2071[_0x2d6682(0x260)](_0x338ccc[_0x2d6682(0x276)],0x400)/0x400),'external':Math['round'](_0x2f2071[_0x2d6682(0x1c0)](_0x338ccc[_0x2d6682(0x1d5)]/0x400,0x400)),'timestamp':Date[_0x2d6682(0x1a4)]()};return this[_0x2d6682(0x1cb)][_0x2d6682(0x1ef)]['push'](_0x2f8a3d),_0x2f8a3d;}[_0x3885aa(0x233)](){const _0xb7d856=_0x3885aa,_0x439377={};_0x439377[_0xb7d856(0x284)]=function(_0x3ffc0d,_0x6b4507){return _0x3ffc0d/_0x6b4507;};const _0x2faaa0=_0x439377;return{'sessionId':this[_0xb7d856(0x1ff)],'uptime':Date['now']()-this[_0xb7d856(0x1f2)],'deviceCount':this[_0xb7d856(0x244)][_0xb7d856(0x1a6)],'totalCommands':this[_0xb7d856(0x1f9)][_0xb7d856(0x29e)],'avgCommandTime':this['commands'][_0xb7d856(0x29e)]?_0x2faaa0[_0xb7d856(0x284)](this[_0xb7d856(0x1f9)][_0xb7d856(0x23a)]((_0x2dedee,_0x150a5c)=>_0x2dedee+_0x150a5c['duration'],0x0),this[_0xb7d856(0x1f9)][_0xb7d856(0x29e)]):0x0,'currentMemory':this[_0xb7d856(0x28b)]()};}}const sessionTracker=new SessionTracker();class FileLogger{constructor(){const _0x2661e2=_0x3885aa,_0x55d7ae={};_0x55d7ae[_0x2661e2(0x261)]=_0x2661e2(0x1dc);const _0x16f454=_0x55d7ae;this[_0x2661e2(0x20f)]=path[_0x2661e2(0x20b)](__dirname,_0x16f454[_0x2661e2(0x261)]),this[_0x2661e2(0x279)]=this[_0x2661e2(0x221)]();}async[_0x3885aa(0x221)](){const _0x12a243=_0x3885aa;try{const _0x5baae7={};_0x5baae7[_0x12a243(0x1fb)]=!![],await fs[_0x12a243(0x1bd)](this[_0x12a243(0x20f)],_0x5baae7);const _0x2c9609={};_0x2c9609[_0x12a243(0x1fb)]=!![],await fs[_0x12a243(0x1bd)](path[_0x12a243(0x20b)](this[_0x12a243(0x20f)],_0x12a243(0x244)),_0x2c9609);const _0x23a45f={};_0x23a45f['recursive']=!![],await fs['mkdir'](path[_0x12a243(0x20b)](this['logDir'],_0x12a243(0x225)),_0x23a45f);const _0x1b2809={};_0x1b2809['recursive']=!![],await fs[_0x12a243(0x1bd)](path[_0x12a243(0x20b)](this[_0x12a243(0x20f)],_0x12a243(0x1cb)),_0x1b2809);}catch(_0x3e1bb4){}}async[_0x3885aa(0x1f0)](_0x43a77d,_0x27c7ed,_0x14f893,_0x1857f3={}){const _0x404426=_0x3885aa,_0x57dfb7={'MGGxb':function(_0x47df66,_0x54814c){return _0x47df66-_0x54814c;},'QeWzB':function(_0x45f2a6,_0x38863d){return _0x45f2a6<_0x38863d;},'aesHI':function(_0x12726,_0x53d327){return _0x12726>=_0x53d327;},'oUeNZ':function(_0x3b305e,_0x22646e,_0x36c8c7){return _0x3b305e(_0x22646e,_0x36c8c7);},'xMYwS':function(_0x10bed8,_0x28faae){return _0x10bed8+_0x28faae;},'tQsts':_0x404426(0x1d7),'reVFF':_0x404426(0x1fe)};if(_0x57dfb7[_0x404426(0x27b)](CURRENT_LEVEL,LOG_LEVELS[_0x404426(0x298)]))return;await this[_0x404426(0x279)];const _0x4ff586={'timestamp':new Date()[_0x404426(0x1bc)](),'sessionId':sessionTracker['sessionId'],'level':_0x27c7ed,'category':_0x43a77d,'message':_0x14f893,'data':_0x57dfb7[_0x404426(0x205)](CURRENT_LEVEL,LOG_LEVELS[_0x404426(0x295)])?_0x1857f3:_0x57dfb7[_0x404426(0x1c7)](redactSensitiveData,_0x1857f3,CURRENT_LEVEL)},_0x45eb06=_0x57dfb7[_0x404426(0x1a7)](JSON['stringify'](_0x4ff586),'\x0a');try{const _0x43e8b6=path[_0x404426(0x20b)](this[_0x404426(0x20f)],_0x57dfb7['tQsts']);await fs['appendFile'](_0x43e8b6,_0x45eb06);if(_0x43a77d){if(_0x57dfb7['reVFF']===_0x57dfb7[_0x404426(0x20c)]){const _0x1e3b51=path[_0x404426(0x20b)](this[_0x404426(0x20f)],_0x43a77d+_0x404426(0x1cc));await fs[_0x404426(0x21b)](_0x1e3b51,_0x45eb06);}else{const _0x22f6be=NBjEOR[_0x404426(0x269)](_0x3b7082['now'](),_0x4b0519);return this['performance'][_0x404426(0x26a)]['delete'](_0x3f5698),_0x22f6be;}}}catch(_0x48dbd1){}}}const fileLogger=new FileLogger();class DevicelyLogger{constructor(_0x133cf0){const _0x4822e6=_0x3885aa;this[_0x4822e6(0x2a2)]=_0x133cf0,this['deviceLoggers']=new Map(),this[_0x4822e6(0x262)]=new Map();}[_0x3885aa(0x1f3)](_0x2affa0,..._0x4ad5cf){const _0x2a54a2=_0x3885aa,_0x51487e={'ydooE':function(_0x4dd0f0,_0x2110c6,_0x848b2e){return _0x4dd0f0(_0x2110c6,_0x848b2e);}},_0x313d32=_0x51487e[_0x2a54a2(0x1d1)](redactSensitiveData,_0x2affa0,LOG_LEVELS[_0x2a54a2(0x242)]),_0x3ad984=/[\u{1F000}-\u{1F6FF}\u{1F900}-\u{1F9FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/u[_0x2a54a2(0x1ac)](_0x2affa0);consola[_0x2a54a2(0x1f3)](_0x3ad984?_0x313d32:'โœ…\x20'+_0x313d32);const _0x5701a3={};_0x5701a3[_0x2a54a2(0x293)]=_0x4ad5cf,fileLogger[_0x2a54a2(0x1f0)](this[_0x2a54a2(0x2a2)],_0x2a54a2(0x1f3),_0x2affa0,_0x5701a3);}[_0x3885aa(0x1f6)](_0x230cfe,..._0x19b3c0){const _0x11d8be=_0x3885aa,_0x161482={'QepMy':function(_0x5961c2,_0x2afae9,_0x243b59){return _0x5961c2(_0x2afae9,_0x243b59);},'ognCk':_0x11d8be(0x1f6)},_0x4b8dfc=_0x161482['QepMy'](redactSensitiveData,_0x230cfe,LOG_LEVELS[_0x11d8be(0x242)]),_0x17bcdf=/[\u{1F000}-\u{1F6FF}\u{1F900}-\u{1F9FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/u['test'](_0x230cfe);consola[_0x11d8be(0x1f6)](_0x17bcdf?_0x4b8dfc:_0x11d8be(0x202)+_0x4b8dfc);const _0x15a469={};_0x15a469[_0x11d8be(0x293)]=_0x19b3c0,fileLogger[_0x11d8be(0x1f0)](this[_0x11d8be(0x2a2)],_0x161482[_0x11d8be(0x22f)],_0x230cfe,_0x15a469);}[_0x3885aa(0x26b)](_0x511226,..._0x2d231e){const _0x1b9cbb=_0x3885aa,_0x142357={};_0x142357['dcRzp']=_0x1b9cbb(0x26b);const _0x571839=_0x142357,_0x3bcf16=redactSensitiveData(_0x511226,LOG_LEVELS[_0x1b9cbb(0x242)]),_0x462dea=_0x2d231e[_0x1b9cbb(0x1af)](_0x24f0ee=>redactSensitiveData(_0x24f0ee,LOG_LEVELS[_0x1b9cbb(0x242)])),_0x1b7e92=/[\u{1F000}-\u{1F6FF}\u{1F900}-\u{1F9FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/u[_0x1b9cbb(0x1ac)](_0x511226);consola['warn'](_0x1b7e92?''+_0x3bcf16:_0x1b9cbb(0x1f8)+_0x3bcf16,..._0x462dea);const _0x179993={};_0x179993[_0x1b9cbb(0x293)]=_0x2d231e,fileLogger[_0x1b9cbb(0x1f0)](this[_0x1b9cbb(0x2a2)],_0x571839[_0x1b9cbb(0x1d6)],_0x511226,_0x179993);}[_0x3885aa(0x1eb)](_0x14bf72,_0x5c258a,..._0x15ac12){const _0x2a45ea=_0x3885aa,_0x510c22={'KEHoY':function(_0xadc94d,_0x2768f2,_0x493d45){return _0xadc94d(_0x2768f2,_0x493d45);},'ixKPJ':_0x2a45ea(0x1eb),'DdbVx':function(_0x1c5319,_0x239ddf){return _0x1c5319>=_0x239ddf;},'XVFcB':_0x2a45ea(0x1e2)},_0x2413cb=_0x510c22[_0x2a45ea(0x252)](redactSensitiveData,_0x14bf72,LOG_LEVELS['PUBLIC']),_0x2834d9=/[\u{1F000}-\u{1F6FF}\u{1F900}-\u{1F9FF}\u{2600}-\u{26FF}\u{2700}-\u{27BF}]/u[_0x2a45ea(0x1ac)](_0x14bf72);consola[_0x2a45ea(0x1eb)](_0x2834d9?_0x2413cb:'โŒ\x20'+_0x2413cb,_0x5c258a?.[_0x2a45ea(0x208)]||_0x5c258a),fileLogger[_0x2a45ea(0x1f0)](this['module'],_0x510c22[_0x2a45ea(0x1db)],_0x14bf72,{'error':{'message':_0x5c258a?.[_0x2a45ea(0x208)],'stack':_0x510c22[_0x2a45ea(0x21d)](CURRENT_LEVEL,LOG_LEVELS[_0x2a45ea(0x295)])?_0x5c258a?.[_0x2a45ea(0x238)]:_0x510c22[_0x2a45ea(0x213)],'name':_0x5c258a?.['name']},'args':_0x15ac12});}[_0x3885aa(0x243)](_0x3b3b82,_0x4b5af4={}){const _0x4e2697=_0x3885aa,_0x169e9b={'HwJTt':function(_0x19ae61,_0x27fdb5,_0x47a3ab){return _0x19ae61(_0x27fdb5,_0x47a3ab);},'XRgxJ':'debug'};if(CURRENT_LEVEL<LOG_LEVELS[_0x4e2697(0x298)])return;const _0x422885=_0x169e9b[_0x4e2697(0x235)](redactSensitiveData,_0x3b3b82,LOG_LEVELS[_0x4e2697(0x298)]),_0x20aeb5=_0x169e9b[_0x4e2697(0x235)](redactSensitiveData,_0x4b5af4,LOG_LEVELS['DEVELOPER']);consola[_0x4e2697(0x243)](_0x4e2697(0x2a3)+this[_0x4e2697(0x2a2)]+']\x20'+_0x422885,_0x20aeb5);const _0x16ee76={};_0x16ee76[_0x4e2697(0x1c9)]=_0x4b5af4,fileLogger['log'](this[_0x4e2697(0x2a2)],_0x169e9b[_0x4e2697(0x25a)],_0x3b3b82,_0x16ee76);}['command'](_0x4d79a6,_0x439d13,_0x868aa4={},_0x505732=null){const _0x2862d3=_0x3885aa,_0x39d956={'SAIqg':function(_0x51da05,_0x31cc6f){return _0x51da05!==_0x31cc6f;},'kBHDf':_0x2862d3(0x29d),'XpZeZ':'oMDaC','NtJYN':function(_0x1556b7,_0x265a09,_0xd761ca){return _0x1556b7(_0x265a09,_0xd761ca);},'FpaTY':_0x2862d3(0x25c),'qFFhV':'command','GLPon':function(_0x57103c,_0x38837b){return _0x57103c>=_0x38837b;}};_0x505732&&sessionTracker[_0x2862d3(0x25b)](_0x4d79a6,_0x439d13,_0x505732);const _0x3cc51d=_0x2862d3(0x25f)+_0x439d13;if(CURRENT_LEVEL===LOG_LEVELS[_0x2862d3(0x242)])consola[_0x2862d3(0x1f6)](_0x2862d3(0x201)+_0x439d13);else{if(CURRENT_LEVEL===LOG_LEVELS[_0x2862d3(0x298)]){if(_0x39d956[_0x2862d3(0x206)](_0x39d956[_0x2862d3(0x249)],_0x39d956['XpZeZ'])){const _0xffbf82=_0x39d956[_0x2862d3(0x222)](redactSensitiveData,_0x868aa4,LOG_LEVELS[_0x2862d3(0x298)]),_0x199cc3=_0x39d956[_0x2862d3(0x222)](redactSensitiveData,_0x4d79a6,LOG_LEVELS[_0x2862d3(0x298)]);consola['info']('๐Ÿ“ฑ\x20['+_0x199cc3+']\x20'+_0x439d13+(_0x505732?'\x20('+_0x505732+_0x2862d3(0x200):''),_0xffbf82);}else _0x57c609[_0x2862d3(0x1eb)](_0x2862d3(0x27d)+_0x4fc7bc+(_0x3f2a5f?'\x20('+_0x3af857+_0x2862d3(0x200):''));}else consola[_0x2862d3(0x1f6)](_0x2862d3(0x1df)+_0x4d79a6+']\x20'+_0x439d13+(_0x505732?'\x20('+_0x505732+_0x2862d3(0x200):''),_0x868aa4);}fileLogger[_0x2862d3(0x1f0)](_0x39d956[_0x2862d3(0x2a0)],_0x39d956[_0x2862d3(0x234)],_0x3cc51d,{'command':_0x439d13,'data':_0x868aa4,'duration':_0x505732,'deviceId':_0x39d956[_0x2862d3(0x24d)](CURRENT_LEVEL,LOG_LEVELS[_0x2862d3(0x295)])?_0x4d79a6:_0x39d956['NtJYN'](redactSensitiveData,_0x4d79a6,CURRENT_LEVEL)});}[_0x3885aa(0x1fd)](_0x30651d,_0x41061a,_0x166102,_0x3a242c={},_0x47dca1=null){const _0x19da6d=_0x3885aa,_0x234c2b={'pnKeU':function(_0x3b91ae,_0x5b86ff,_0x3c881c){return _0x3b91ae(_0x5b86ff,_0x3c881c);},'WoOCH':function(_0xdbd7d7,_0x475d4e){return _0xdbd7d7>=_0x475d4e;},'BsoZD':'network','iYaxK':_0x19da6d(0x20e),'Qbhqj':_0x19da6d(0x1fa),'WtpiG':function(_0x5c5117,_0x4cb487){return _0x5c5117>=_0x4cb487;},'ZLcQx':function(_0x53682f,_0x44accf){return _0x53682f>=_0x44accf;}};if(CURRENT_LEVEL<LOG_LEVELS['DEVELOPER'])return;const _0x576011=_0x234c2b[_0x19da6d(0x1ec)](redactSensitiveData,_0x41061a,CURRENT_LEVEL),_0x2dcccb=_0x30651d+'\x20'+_0x576011+_0x19da6d(0x1e3)+_0x166102;_0x234c2b['WoOCH'](_0x166102,0x190)?consola[_0x19da6d(0x1eb)]('๐ŸŒ\x20'+_0x2dcccb+(_0x47dca1?'\x20('+_0x47dca1+_0x19da6d(0x200):'')):consola[_0x19da6d(0x243)](_0x19da6d(0x27d)+_0x2dcccb+(_0x47dca1?'\x20('+_0x47dca1+_0x19da6d(0x200):'')),fileLogger[_0x19da6d(0x1f0)](_0x234c2b['BsoZD'],_0x234c2b[_0x19da6d(0x230)],_0x234c2b[_0x19da6d(0x1b4)],{'method':_0x30651d,'url':_0x234c2b[_0x19da6d(0x1e9)](CURRENT_LEVEL,LOG_LEVELS[_0x19da6d(0x295)])?_0x41061a:_0x576011,'statusCode':_0x166102,'duration':_0x47dca1,'data':_0x234c2b[_0x19da6d(0x282)](CURRENT_LEVEL,LOG_LEVELS['CREATOR'])?_0x3a242c:_0x234c2b['pnKeU'](redactSensitiveData,_0x3a242c,CURRENT_LEVEL)});}['trace'](_0x1d05aa,_0x79af6d={}){const _0x3266a1=_0x3885aa,_0x49216c={};_0x49216c['EBNln']=function(_0x26ed0a,_0xa2e7fa){return _0x26ed0a<_0xa2e7fa;},_0x49216c[_0x3266a1(0x27f)]='trace';const _0x2930b4=_0x49216c;if(_0x2930b4[_0x3266a1(0x214)](CURRENT_LEVEL,LOG_LEVELS[_0x3266a1(0x295)]))return;consola[_0x3266a1(0x243)](_0x3266a1(0x1cf)+this[_0x3266a1(0x2a2)]+']\x20'+_0x1d05aa,_0x79af6d);const _0x5bd91e={};_0x5bd91e[_0x3266a1(0x1c9)]=_0x79af6d,fileLogger[_0x3266a1(0x1f0)](this[_0x3266a1(0x2a2)],_0x2930b4[_0x3266a1(0x27f)],_0x1d05aa,_0x5bd91e);}['security'](_0x3e6c35,_0x33f105={}){const _0x2030a2=_0x3885aa,_0x22d833={};_0x22d833[_0x2030a2(0x266)]='security';const _0x1a838c=_0x22d833;if(CURRENT_LEVEL<LOG_LEVELS[_0x2030a2(0x295)])return;consola[_0x2030a2(0x26b)](_0x2030a2(0x1d2)+this[_0x2030a2(0x2a2)]+']\x20'+_0x3e6c35,_0x33f105);const _0x255add={};_0x255add['details']=_0x33f105,fileLogger[_0x2030a2(0x1f0)](_0x2030a2(0x226),_0x1a838c['oWbmg'],_0x3e6c35,_0x255add);}['performance'](_0x278b63,_0x474c00,_0x276289='ms'){const _0x5740ae=_0x3885aa,_0x574896={};_0x574896[_0x5740ae(0x20a)]=function(_0xb3f0b,_0x220a5b){return _0xb3f0b>=_0x220a5b;},_0x574896['YIvvL']=function(_0xba61af,_0x725c11){return _0xba61af!==_0x725c11;},_0x574896[_0x5740ae(0x265)]=_0x5740ae(0x288),_0x574896['BwGbk']='performance',_0x574896[_0x5740ae(0x1b0)]=_0x5740ae(0x289);const _0x182c6f=_0x574896;_0x182c6f['KgvHy'](CURRENT_LEVEL,LOG_LEVELS[_0x5740ae(0x298)])&&(_0x182c6f[_0x5740ae(0x29b)](_0x182c6f['onHIC'],_0x5740ae(0x21f))?consola['debug'](_0x5740ae(0x27c)+_0x278b63+':\x20'+_0x474c00+_0x276289):_0x3891e7[_0x5740ae(0x25b)](_0x60ea68,_0x10bbc5,_0x4782c3)),fileLogger[_0x5740ae(0x1f0)](_0x182c6f['BwGbk'],_0x182c6f[_0x5740ae(0x1b0)],'Performance\x20metric:\x20'+_0x278b63,{'metric':_0x278b63,'value':_0x474c00,'unit':_0x276289,'timestamp':Date[_0x5740ae(0x1a4)](),'sessionId':sessionTracker[_0x5740ae(0x1ff)]});}[_0x3885aa(0x1ef)](){const _0x5cc3f7=_0x3885aa,_0x560346={};_0x560346[_0x5cc3f7(0x203)]=function(_0x2c2cd8,_0x54a669){return _0x2c2cd8<_0x54a669;},_0x560346[_0x5cc3f7(0x20d)]=_0x5cc3f7(0x1ad);const _0x194122=_0x560346;if(_0x194122[_0x5cc3f7(0x203)](CURRENT_LEVEL,LOG_LEVELS[_0x5cc3f7(0x295)]))return;const _0x5ba064=sessionTracker[_0x5cc3f7(0x28b)]();consola[_0x5cc3f7(0x243)](_0x5cc3f7(0x1d4)+_0x5ba064[_0x5cc3f7(0x1d8)]+_0x5cc3f7(0x26f)+_0x5ba064[_0x5cc3f7(0x276)]+_0x5cc3f7(0x29a)+_0x5ba064['rss']+'MB)'),this[_0x5cc3f7(0x1cb)](_0x5cc3f7(0x1da),_0x5ba064[_0x5cc3f7(0x1d8)],'MB'),this[_0x5cc3f7(0x1cb)](_0x194122[_0x5cc3f7(0x20d)],_0x5ba064[_0x5cc3f7(0x271)],'MB');}[_0x3885aa(0x25c)](_0x475649,_0x4c8c20=null){const _0x220459=_0x3885aa,_0x95edbe={'zlAlT':function(_0x1616e2,_0x4bec43){return _0x1616e2===_0x4bec43;},'cgLQn':function(_0xa9b01,_0x1d2972){return _0xa9b01===_0x1d2972;},'jsTJM':_0x220459(0x1ce),'ipppR':_0x220459(0x218),'LCGhw':function(_0x5784d9,_0x4c4b82){return _0x5784d9!==_0x4c4b82;},'zJlea':_0x220459(0x1e8),'nUOJP':function(_0x307e3d,_0x453002,_0x22f955){return _0x307e3d(_0x453002,_0x22f955);},'LliHw':'device','ZnRCE':_0x220459(0x23c),'zlHFH':function(_0x4a96fe,_0x13dcb8){return _0x4a96fe>=_0x13dcb8;},'ByAfn':function(_0x482338,_0x2fb03c,_0x50e00c){return _0x482338(_0x2fb03c,_0x50e00c);},'lOQGn':'disconnect','EolmY':function(_0x2fe871,_0x5387f7,_0x1ad7fe){return _0x2fe871(_0x5387f7,_0x1ad7fe);},'NtcrY':_0x220459(0x1eb),'Goslp':_0x220459(0x236),'IJsAI':function(_0x3b988b,_0x22c7cb,_0x4c3db2){return _0x3b988b(_0x22c7cb,_0x4c3db2);},'gTxOP':function(_0x313f3f,_0x4290e6){return _0x313f3f===_0x4290e6;},'CAPwi':_0x220459(0x228)};if(_0x4c8c20){if(_0x95edbe[_0x220459(0x21a)](_0x220459(0x228),_0x95edbe[_0x220459(0x254)]))sessionTracker[_0x220459(0x22e)](_0x475649,_0x4c8c20);else return _0x1fd08d['getStats']();}return{'connect':_0x3406a5=>{const _0x5999e0=_0x220459;if(_0x95edbe['zlAlT'](CURRENT_LEVEL,LOG_LEVELS[_0x5999e0(0x242)])){if(_0x95edbe['cgLQn'](_0x95edbe[_0x5999e0(0x1d9)],_0x95edbe['ipppR']))return _0x1527d3['DEVELOPER'];else consola['success'](_0x5999e0(0x277)+(_0x3406a5[_0x5999e0(0x25d)]||'device')+'-'+_0x475649['slice'](-0x5));}else{if(_0x95edbe[_0x5999e0(0x286)](CURRENT_LEVEL,LOG_LEVELS[_0x5999e0(0x298)])){if(_0x95edbe[_0x5999e0(0x296)](_0x5999e0(0x1e8),_0x95edbe[_0x5999e0(0x207)]))_0x445eb5[_0x5999e0(0x22e)](_0x536f0f,_0x3601d2);else{const _0x9880ee=_0x95edbe['nUOJP'](redactSensitiveData,_0x475649,CURRENT_LEVEL);consola[_0x5999e0(0x1f3)]('โœ…\x20Connected\x20to\x20'+_0x9880ee,_0x95edbe['nUOJP'](redactSensitiveData,_0x3406a5,CURRENT_LEVEL));}}else consola[_0x5999e0(0x1f3)]('โœ…\x20Connected\x20to\x20'+_0x475649,_0x3406a5);}fileLogger['log'](_0x95edbe[_0x5999e0(0x250)],_0x95edbe['ZnRCE'],_0x5999e0(0x1c6),{'deviceId':_0x95edbe[_0x5999e0(0x290)](CURRENT_LEVEL,LOG_LEVELS[_0x5999e0(0x295)])?_0x475649:_0x95edbe[_0x5999e0(0x1b8)](redactSensitiveData,_0x475649,CURRENT_LEVEL),'info':_0x3406a5});},'disconnect':()=>{const _0xfa343=_0x220459;if(CURRENT_LEVEL===LOG_LEVELS[_0xfa343(0x242)])consola['info'](_0xfa343(0x2a4));else{const _0x1cd889=redactSensitiveData(_0x475649,CURRENT_LEVEL);consola[_0xfa343(0x1f6)]('๐Ÿ“ฑ\x20'+_0x1cd889+'\x20disconnected');}fileLogger[_0xfa343(0x1f0)](_0x95edbe['LliHw'],_0x95edbe[_0xfa343(0x29f)],_0xfa343(0x1ea),{'deviceId':_0x95edbe['zlHFH'](CURRENT_LEVEL,LOG_LEVELS['CREATOR'])?_0x475649:_0x95edbe[_0xfa343(0x1b8)](redactSensitiveData,_0x475649,CURRENT_LEVEL)});},'error':(_0x4b215b,_0x378bc7)=>{const _0x1d1eb2=_0x220459,_0x454f62=_0x95edbe[_0x1d1eb2(0x1f1)](redactSensitiveData,_0x4b215b,LOG_LEVELS[_0x1d1eb2(0x242)]);consola[_0x1d1eb2(0x1eb)]('โŒ\x20Device\x20error:\x20'+_0x454f62,_0x378bc7?.['message']||_0x378bc7);const _0x2843ce={};_0x2843ce['message']=_0x378bc7?.[_0x1d1eb2(0x208)],_0x2843ce[_0x1d1eb2(0x238)]=CURRENT_LEVEL>=LOG_LEVELS[_0x1d1eb2(0x295)]?_0x378bc7?.[_0x1d1eb2(0x238)]:_0x1d1eb2(0x1e2),fileLogger[_0x1d1eb2(0x1f0)](_0x95edbe['LliHw'],_0x95edbe[_0x1d1eb2(0x256)],_0x95edbe['Goslp'],{'message':_0x4b215b,'error':_0x2843ce,'deviceId':CURRENT_LEVEL>=LOG_LEVELS[_0x1d1eb2(0x295)]?_0x475649:_0x95edbe['IJsAI'](redactSensitiveData,_0x475649,CURRENT_LEVEL)});}};}['startTimer'](_0x27ddce){const _0x5cea6e=_0x3885aa,_0x46e0b6={};_0x46e0b6[_0x5cea6e(0x1fc)]=function(_0x1dd9e8,_0x54c76a){return _0x1dd9e8>=_0x54c76a;};const _0x1e90be=_0x46e0b6;this['timers'][_0x5cea6e(0x231)](_0x27ddce,Date[_0x5cea6e(0x1a4)]()),sessionTracker[_0x5cea6e(0x1e1)](_0x27ddce),_0x1e90be['FGuxp'](CURRENT_LEVEL,LOG_LEVELS[_0x5cea6e(0x295)])&&this[_0x5cea6e(0x240)](_0x5cea6e(0x1ba)+_0x27ddce);}[_0x3885aa(0x24c)](_0x13cb44,_0x3375a7=!![]){const _0x10704f=_0x3885aa,_0x4dedac={};_0x4dedac[_0x10704f(0x283)]=function(_0x274baa,_0x4285f3){return _0x274baa-_0x4285f3;},_0x4dedac[_0x10704f(0x259)]=function(_0x2adcd6,_0x33b238){return _0x2adcd6>=_0x33b238;};const _0x2c7552=_0x4dedac,_0x254c2f=this[_0x10704f(0x262)][_0x10704f(0x26e)](_0x13cb44),_0x51d44d=sessionTracker[_0x10704f(0x24c)](_0x13cb44);if(_0x254c2f){const _0x1ee270=_0x2c7552['HrSOR'](Date[_0x10704f(0x1a4)](),_0x254c2f);return this[_0x10704f(0x262)][_0x10704f(0x272)](_0x13cb44),_0x3375a7&&_0x2c7552[_0x10704f(0x259)](CURRENT_LEVEL,LOG_LEVELS[_0x10704f(0x298)])&&this[_0x10704f(0x1cb)](_0x13cb44,_0x1ee270),_0x1ee270;}return _0x51d44d;}[_0x3885aa(0x292)](){const _0x5a00e3=_0x3885aa;return sessionTracker[_0x5a00e3(0x233)]();}static[_0x3885aa(0x1b9)](){const _0x4a98eb=_0x3885aa,_0x5ebce1={};_0x5ebce1[_0x4a98eb(0x1e5)]=_0x4a98eb(0x242),_0x5ebce1['HJNmU']=_0x4a98eb(0x295),_0x5ebce1[_0x4a98eb(0x1ca)]=function(_0x23be70,_0x29b3eb){return _0x23be70===_0x29b3eb;},_0x5ebce1['Xpski']=_0x4a98eb(0x220),_0x5ebce1[_0x4a98eb(0x216)]=_0x4a98eb(0x1de),_0x5ebce1[_0x4a98eb(0x204)]=_0x4a98eb(0x285),_0x5ebce1['KWcrL']='OFF',_0x5ebce1[_0x4a98eb(0x23d)]=function(_0x9b997d,_0xf3d8ad){return _0x9b997d===_0xf3d8ad;},_0x5ebce1[_0x4a98eb(0x27e)]=_0x4a98eb(0x257),_0x5ebce1[_0x4a98eb(0x273)]=function(_0x131ef1,_0x37300f){return _0x131ef1>=_0x37300f;},_0x5ebce1['RDZLl']='๐Ÿ’ก\x20Use\x20--dev-mode\x20for\x20full\x20creator\x20logging';const _0x43cb81=_0x5ebce1,_0xfd910a=[_0x43cb81['dgnVy'],_0x4a98eb(0x298),_0x43cb81[_0x4a98eb(0x223)]],_0x32292e=_0xfd910a[CURRENT_LEVEL];_0x43cb81['mCZTf'](CURRENT_LEVEL,LOG_LEVELS[_0x4a98eb(0x242)])?_0x43cb81[_0x4a98eb(0x1c8)]!==_0x4a98eb(0x232)?consola[_0x4a98eb(0x1f6)](_0x43cb81[_0x4a98eb(0x216)]):_0x16729c['debug']('๐Ÿ“Š\x20'+_0x6b61e0+':\x20'+_0x12952b+_0x31d23d):consola[_0x4a98eb(0x23f)]({'title':_0x43cb81[_0x4a98eb(0x204)],'message':[_0x4a98eb(0x1b5)+_0x32292e,_0x4a98eb(0x1b7)+sessionTracker[_0x4a98eb(0x1ff)],_0x4a98eb(0x24e)+(CURRENT_LEVEL>=LOG_LEVELS['CREATOR']?'ON':_0x43cb81['KWcrL']),'๐Ÿ”’\x20Data\x20redaction:\x20'+(_0x43cb81['mCZTf'](CURRENT_LEVEL,LOG_LEVELS[_0x4a98eb(0x242)])?'FULL':_0x43cb81[_0x4a98eb(0x23d)](CURRENT_LEVEL,LOG_LEVELS[_0x4a98eb(0x298)])?_0x43cb81[_0x4a98eb(0x27e)]:_0x43cb81[_0x4a98eb(0x211)]),_0x4a98eb(0x2a5)+(_0x43cb81[_0x4a98eb(0x273)](CURRENT_LEVEL,LOG_LEVELS['DEVELOPER'])?'ON':'OFF'),'',CURRENT_LEVEL===LOG_LEVELS[_0x4a98eb(0x298)]?_0x43cb81[_0x4a98eb(0x246)]:_0x4a98eb(0x251)][_0x4a98eb(0x20b)]('\x0a')});}}function _0x1f8f(_0x2c7c11,_0x33c8a5){_0x2c7c11=_0x2c7c11-0x1a4;const _0x3f946e=_0x3f94();let _0x1f8f0c=_0x3f946e[_0x2c7c11];if(_0x1f8f['tDERYz']===undefined){var _0x5e6513=function(_0x1ce8c7){const _0x5a9caf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52f84c='',_0x1ccfb5='';for(let _0x25cb3c=0x0,_0x4f61f9,_0x82011,_0x426b75=0x0;_0x82011=_0x1ce8c7['charAt'](_0x426b75++);~_0x82011&&(_0x4f61f9=_0x25cb3c%0x4?_0x4f61f9*0x40+_0x82011:_0x82011,_0x25cb3c++%0x4)?_0x52f84c+=String['fromCharCode'](0xff&_0x4f61f9>>(-0x2*_0x25cb3c&0x6)):0x0){_0x82011=_0x5a9caf['indexOf'](_0x82011);}for(let _0x12284a=0x0,_0x2a1c17=_0x52f84c['length'];_0x12284a<_0x2a1c17;_0x12284a++){_0x1ccfb5+='%'+('00'+_0x52f84c['charCodeAt'](_0x12284a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ccfb5);};_0x1f8f['GuqnPt']=_0x5e6513,_0x1f8f['AOvcgQ']={},_0x1f8f['tDERYz']=!![];}const _0x2dc4f1=_0x3f946e[0x0],_0x398fa9=_0x2c7c11+_0x2dc4f1,_0x364765=_0x1f8f['AOvcgQ'][_0x398fa9];return!_0x364765?(_0x1f8f0c=_0x1f8f['GuqnPt'](_0x1f8f0c),_0x1f8f['AOvcgQ'][_0x398fa9]=_0x1f8f0c):_0x1f8f0c=_0x364765,_0x1f8f0c;}DevicelyLogger[_0x3885aa(0x1b9)]();const _0x240f80={};_0x240f80[_0x3885aa(0x21e)]=DevicelyLogger,_0x240f80[_0x3885aa(0x23b)]=LOG_LEVELS,_0x240f80[_0x3885aa(0x263)]=CURRENT_LEVEL,_0x240f80[_0x3885aa(0x1f7)]=sessionTracker,_0x240f80[_0x3885aa(0x255)]=DevicelyLogger,module[_0x3885aa(0x1dd)]=_0x240f80;