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.
- package/README.md +182 -81
- package/bin/devicely.js +1 -1
- package/config/devices.conf +2 -2
- package/lib/advanced-logger.js +1 -0
- package/lib/aiProviders.js +154 -15
- package/lib/aiProviders.js.strategic-backup +657 -0
- package/lib/aiProvidersConfig.js +61 -151
- package/lib/aiProvidersConfig.js.backup +218 -0
- package/lib/androidDeviceDetection.js +1 -1
- package/lib/appMappings.js +1 -1
- package/lib/commanderService.js +1 -1
- package/lib/commanderService.js.backup +5552 -0
- package/lib/deviceDetection.js +1 -1
- package/lib/devices.js +1 -1
- package/lib/devices.js.strategic-backup +57 -0
- package/lib/doctor.js +1 -1
- package/lib/encryption.js +1 -1
- package/lib/encryption.js.strategic-backup +61 -0
- package/lib/executor.js +1 -1
- package/lib/executor.js.strategic-backup +107 -0
- package/lib/frontend/asset-manifest.json +5 -3
- package/lib/frontend/index.html +1 -1
- package/lib/hybridAI.js +1 -0
- package/lib/intelligentLocatorService.js +1 -0
- package/lib/lightweightAI.js +1 -0
- package/lib/localBuiltInAI.js +1 -0
- package/lib/localBuiltInAI_backup.js +1 -0
- package/lib/localBuiltInAI_simple.js +1 -0
- package/lib/locatorStrategy.js +1 -1
- package/lib/logger-demo.js +2 -0
- package/lib/logger-integration-examples.js +102 -0
- package/lib/logger.js +1 -1
- package/lib/package.json +5 -0
- package/lib/public/asset-manifest.json +3 -3
- package/lib/public/index.html +1 -1
- package/lib/quick-start-logger.js +2 -0
- package/lib/scriptLoader.js +1 -1
- package/lib/server.js +1 -1
- package/lib/server.js.strategic-backup +6298 -0
- package/lib/tensorflowAI.js +1 -0
- package/lib/tensorflowAI.js.strategic-backup +717 -0
- package/lib/tinyAI.js +1 -0
- package/lib/universalSessionManager.js +1 -0
- package/package.json +1 -1
- package/scripts/shell/android_device_control.enc +1 -1
- package/scripts/shell/connect_ios_usb_multi_final.enc +1 -1
- package/scripts/shell/connect_ios_wireless_multi_final.enc +1 -1
- package/lib/public/index.html.bak +0 -1
package/README.md
CHANGED
|
@@ -2,11 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
# ๐ฑโจ Devicely
|
|
4
4
|
|
|
5
|
-
### **
|
|
5
|
+
### **Control one device, and every connected device follows in real-time - with live screen sync on the web**
|
|
6
6
|
|
|
7
|
-
|
|
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
|
-
|
|
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
|
+
[](https://www.npmjs.com/package/devicely)
|
|
10
18
|
[](LICENSE)
|
|
11
19
|
[](https://devicely-ai.vercel.app)
|
|
12
20
|
|
|
@@ -14,106 +22,111 @@
|
|
|
14
22
|
|
|
15
23
|
---
|
|
16
24
|
|
|
17
|
-
###
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
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
|
-
## โจ
|
|
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
|
-
|
|
51
|
-
* **
|
|
52
|
-
* **
|
|
53
|
-
* **
|
|
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
|
-
|
|
58
|
-
* **
|
|
59
|
-
* **
|
|
60
|
-
* **
|
|
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
|
-
|
|
66
|
-
* **
|
|
67
|
-
* **
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
* **
|
|
72
|
-
* **
|
|
73
|
-
* **
|
|
74
|
-
* **
|
|
75
|
-
|
|
76
|
-
###
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
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
|
-
##
|
|
110
|
+
## ๐ **How it works** *(in about 60 seconds)*
|
|
92
111
|
|
|
93
|
-
|
|
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
|
-
**
|
|
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
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
###
|
|
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
|
-
|
|
276
|
-
|
|
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
|
-
|
|
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;}}
|
package/config/devices.conf
CHANGED
|
@@ -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;
|