writetrack 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Detect AI-generated and pasted text through keystroke dynamics.
4
4
 
5
- WriteTrack analyzes *how* text was entered, not what was written. Human typing has natural variation in timing, rhythm, and corrections. Pasted or AI-generated text arrives all at once with no behavioral fingerprint. WriteTrack captures the difference.
5
+ WriteTrack analyzes _how_ text was entered, not what was written. Human typing has natural variation in timing, rhythm, and corrections. Pasted or AI-generated text arrives all at once with no behavioral fingerprint. WriteTrack captures the difference.
6
6
 
7
7
  - **<6KB** gzipped
8
8
  - **0** dependencies
@@ -18,20 +18,20 @@ npm install writetrack
18
18
  ## Quick Start
19
19
 
20
20
  ```typescript
21
- import WriteTrack from 'writetrack'
21
+ import { WriteTrack } from 'writetrack';
22
22
 
23
- const responseField = document.getElementById('response-field')!
24
- const tracker = new WriteTrack(responseField)
23
+ const responseField = document.getElementById('response-field')!;
24
+ const tracker = new WriteTrack(responseField);
25
25
 
26
- tracker.start()
26
+ tracker.start();
27
27
 
28
28
  // User types...
29
29
 
30
30
  // Collect captured data
31
- const events = tracker.getRawEvents()
32
- const pastes = tracker.getClipboardEvents()
31
+ const events = tracker.getRawEvents();
32
+ const pastes = tracker.getClipboardEvents();
33
33
 
34
- tracker.stop()
34
+ tracker.stop();
35
35
  ```
36
36
 
37
37
  Works with any text input, textarea, or contenteditable element. Framework-agnostic — vanilla JS, React, Vue, Svelte. TypeScript definitions included.
@@ -64,24 +64,24 @@ new WriteTrack(options: WriteTrackOptions | HTMLElement)
64
64
 
65
65
  ### Methods
66
66
 
67
- | Method | Returns | Description |
68
- |--------|---------|-------------|
69
- | `start()` | `void` | Begin capturing events |
70
- | `stop()` | `void` | Stop capturing and clean up |
71
- | `getRawEvents()` | `KeystrokeEvent[]` | All captured keystroke events |
72
- | `getClipboardEvents()` | `ClipboardEvent[]` | Paste/copy/cut events |
73
- | `getSelectionEvents()` | `SelectionEvent[]` | Text selection events |
74
- | `getUndoRedoEvents()` | `UndoRedoEvent[]` | Undo/redo events |
75
- | `getSessionDuration()` | `number` | Session duration in ms |
76
- | `getKeystrokeCount()` | `number` | Total keystrokes captured |
77
- | `getText()` | `string` | Current text content |
67
+ | Method | Returns | Description |
68
+ | ---------------------- | ------------------ | ----------------------------- |
69
+ | `start()` | `void` | Begin capturing events |
70
+ | `stop()` | `void` | Stop capturing and clean up |
71
+ | `getRawEvents()` | `KeystrokeEvent[]` | All captured keystroke events |
72
+ | `getClipboardEvents()` | `ClipboardEvent[]` | Paste/copy/cut events |
73
+ | `getSelectionEvents()` | `SelectionEvent[]` | Text selection events |
74
+ | `getUndoRedoEvents()` | `UndoRedoEvent[]` | Undo/redo events |
75
+ | `getSessionDuration()` | `number` | Session duration in ms |
76
+ | `getKeystrokeCount()` | `number` | Total keystrokes captured |
77
+ | `getText()` | `string` | Current text content |
78
78
 
79
79
  ### Types
80
80
 
81
81
  ```typescript
82
82
  interface WriteTrackOptions {
83
83
  target: HTMLElement;
84
- license?: string; // Omit for development/demo mode
84
+ license?: string; // Omit for development/demo mode
85
85
  }
86
86
  ```
87
87
 
@@ -89,7 +89,14 @@ Full type definitions for `KeystrokeEvent`, `ClipboardEvent`, `SelectionEvent`,
89
89
 
90
90
  ## Browser Support
91
91
 
92
- Chrome 90+, Firefox 88+, Safari 14+, Edge 90+, iOS Safari 14+, Android Chrome 90+.
92
+ | Browser | Version |
93
+ | ------- | ------- |
94
+ | Chrome | 62+ |
95
+ | Firefox | 56+ |
96
+ | Safari | 14.1+ |
97
+ | Edge | 79+ |
98
+
99
+ All features including license verification work at these versions. License validation uses ECDSA P-256 via `crypto.subtle`, which has been supported since Chrome 37+, Firefox 34+, Safari 11+, and Edge 79+.
93
100
 
94
101
  ## Privacy
95
102
 
@@ -1 +1 @@
1
- const _0x39e83f=_0x11f3;(function(_0x158288,_0x17a891){const _0x351b02=_0x11f3,_0x4824ba=_0x158288();while(!![]){try{const _0x2451eb=-parseInt(_0x351b02(0x220))/0x1+parseInt(_0x351b02(0x237))/0x2*(-parseInt(_0x351b02(0x236))/0x3)+parseInt(_0x351b02(0x277))/0x4+-parseInt(_0x351b02(0x1f0))/0x5+-parseInt(_0x351b02(0x22f))/0x6*(parseInt(_0x351b02(0x29f))/0x7)+-parseInt(_0x351b02(0x24d))/0x8+parseInt(_0x351b02(0x233))/0x9;if(_0x2451eb===_0x17a891)break;else _0x4824ba['push'](_0x4824ba['shift']());}catch(_0x33d5c4){_0x4824ba['push'](_0x4824ba['shift']());}}}(_0x12f8,0x858de));function _0x11f3(_0x3d3369,_0x453f49){_0x3d3369=_0x3d3369-0x1ae;const _0x12f813=_0x12f8();let _0x11f3f5=_0x12f813[_0x3d3369];if(_0x11f3['sGfoCp']===undefined){var _0x101298=function(_0x41cf2a){const _0x2b2939='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d288c='',_0x5452ca='';for(let _0x505f6a=0x0,_0x213ab9,_0x132c93,_0x43ceda=0x0;_0x132c93=_0x41cf2a['charAt'](_0x43ceda++);~_0x132c93&&(_0x213ab9=_0x505f6a%0x4?_0x213ab9*0x40+_0x132c93:_0x132c93,_0x505f6a++%0x4)?_0x4d288c+=String['fromCharCode'](0xff&_0x213ab9>>(-0x2*_0x505f6a&0x6)):0x0){_0x132c93=_0x2b2939['indexOf'](_0x132c93);}for(let _0x56986d=0x0,_0xcc8d48=_0x4d288c['length'];_0x56986d<_0xcc8d48;_0x56986d++){_0x5452ca+='%'+('00'+_0x4d288c['charCodeAt'](_0x56986d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5452ca);};_0x11f3['qIghyn']=_0x101298,_0x11f3['vIEaSx']={},_0x11f3['sGfoCp']=!![];}const _0x233c46=_0x12f813[0x0],_0x3a5bbb=_0x3d3369+_0x233c46,_0x270344=_0x11f3['vIEaSx'][_0x3a5bbb];return!_0x270344?(_0x11f3f5=_0x11f3['qIghyn'](_0x11f3f5),_0x11f3['vIEaSx'][_0x3a5bbb]=_0x11f3f5):_0x11f3f5=_0x270344,_0x11f3f5;}var x=_0x39e83f(0x1d2),v=typeof window<'u',k=v?EventTarget[_0x39e83f(0x28b)][_0x39e83f(0x241)]:void 0x0,D=v?window[_0x39e83f(0x1d3)][_0x39e83f(0x231)](window):void 0x0,I=v?window[_0x39e83f(0x27d)][_0x39e83f(0x231)](window):void 0x0,A=v?window[_0x39e83f(0x29d)][_0x39e83f(0x231)](window):void 0x0,O=v&&typeof performance<'u'?performance[_0x39e83f(0x1b9)][_0x39e83f(0x231)](performance):void 0x0,C=v?window[_0x39e83f(0x257)][_0x39e83f(0x231)](window):void 0x0,M=v&&typeof document<'u'?document[_0x39e83f(0x1e1)][_0x39e83f(0x231)](document):void 0x0,m=Object[_0x39e83f(0x1c0)],K=Object[_0x39e83f(0x255)],R=v?window[_0x39e83f(0x1ec)]:void 0x0;function g(){const _0x43ec51=_0x39e83f;let _0x4d288c=(O??performance[_0x43ec51(0x1b9)][_0x43ec51(0x231)](performance))(),_0x5452ca=(Math[_0x43ec51(0x1dd)]()-0.5)*0.2;return Math[_0x43ec51(0x1d4)]((_0x4d288c+_0x5452ca)*0x64)/0x64;}var $=_0x39e83f(0x278);async function j(_0x505f6a,_0x213ab9){const _0x2aa939=_0x39e83f;var _0x132c93,_0x43ceda;try{if(!_0x505f6a[_0x2aa939(0x24b)](_0x2aa939(0x1ef)))return{'valid':!0x1,'reason':_0x2aa939(0x296)};let _0x56986d=_0x505f6a[_0x2aa939(0x25a)](0x4),[_0xcc8d48,_0x18a2a8]=_0x56986d[_0x2aa939(0x269)]('.');if(!_0xcc8d48||!_0x18a2a8)return{'valid':!0x1,'reason':_0x2aa939(0x2a3)};let _0x188d44=P(_0xcc8d48),_0x4ec4d0=P(_0x18a2a8);if(!await G(_0x188d44,_0x4ec4d0))return{'valid':!0x1,'reason':_0x2aa939(0x287)};let _0xc39a70=new TextDecoder()[_0x2aa939(0x214)](_0x188d44),_0x4a9535=JSON[_0x2aa939(0x232)](_0xc39a70),_0x48e668=new Date(_0x4a9535[_0x2aa939(0x200)][_0x2aa939(0x24f)]),_0x142259=Date[_0x2aa939(0x1b9)]();if(_0x142259>_0x48e668[_0x2aa939(0x1e7)]()){let _0x1a4b22=_0x142259-_0x48e668[_0x2aa939(0x1e7)]();if(_0x1a4b22<=0x90321000){let _0x345894=Math[_0x2aa939(0x217)]((0x90321000-_0x1a4b22)/0x5265c00);if(_0x213ab9){let _0x562ebe=((_0x132c93=_0x4a9535[_0x2aa939(0x202)])==null?void 0x0:_0x132c93[_0x2aa939(0x21f)])||[];if(!H(_0x213ab9,_0x562ebe))return{'valid':!0x1,'reason':_0x2aa939(0x286),'data':_0x4a9535};}return{'valid':!0x0,'data':_0x4a9535,'grace':!0x0,'graceDaysRemaining':_0x345894};}return{'valid':!0x1,'reason':_0x2aa939(0x246),'data':_0x4a9535};}if(_0x213ab9){let _0x10c86c=((_0x43ceda=_0x4a9535[_0x2aa939(0x202)])==null?void 0x0:_0x43ceda[_0x2aa939(0x21f)])||[];if(!H(_0x213ab9,_0x10c86c))return{'valid':!0x1,'reason':_0x2aa939(0x286),'data':_0x4a9535};}return{'valid':!0x0,'data':_0x4a9535};}catch(_0x2577c5){return{'valid':!0x1,'reason':_0x2aa939(0x21b)+(_0x2577c5 instanceof Error?_0x2577c5[_0x2aa939(0x1b8)]:_0x2aa939(0x253))};}}async function G(_0x5ebc2a,_0x497272){const _0x437c34=_0x39e83f;try{let _0x5eaf5b=N($),_0x50858e=await crypto[_0x437c34(0x1da)][_0x437c34(0x1f7)](_0x437c34(0x24e),_0x5eaf5b,{'name':_0x437c34(0x282)},!0x1,[_0x437c34(0x219)]);return await crypto[_0x437c34(0x1da)][_0x437c34(0x219)](_0x437c34(0x282),_0x50858e,_0x497272,_0x5ebc2a);}catch(_0x1dfe64){return console[_0x437c34(0x270)](_0x437c34(0x1f9),_0x1dfe64),!0x1;}}function P(_0x2a5362){const _0x288096=_0x39e83f;let _0x46b7ef=_0x2a5362[_0x288096(0x1ee)](/-/g,'+')[_0x288096(0x1ee)](/_/g,'/'),_0x2ba69d=_0x46b7ef[_0x288096(0x1e6)]%0x4;return _0x2ba69d&&(_0x46b7ef+='='[_0x288096(0x260)](0x4-_0x2ba69d)),N(_0x46b7ef);}function N(_0x28ecac){const _0x243a38=_0x39e83f;let _0x5bf9f4=atob(_0x28ecac),_0x49d96b=new Uint8Array(_0x5bf9f4[_0x243a38(0x1e6)]);for(let _0x3a1053=0x0;_0x3a1053<_0x5bf9f4[_0x243a38(0x1e6)];_0x3a1053++)_0x49d96b[_0x3a1053]=_0x5bf9f4[_0x243a38(0x1c8)](_0x3a1053);return _0x49d96b;}function L(_0x212667){const _0x1cd328=_0x39e83f;let _0x30d2be=_0x212667[_0x1cd328(0x1fd)]();return _0x30d2be===_0x1cd328(0x25c)||_0x30d2be===_0x1cd328(0x1e2)||_0x30d2be===_0x1cd328(0x1b0)||_0x30d2be===_0x1cd328(0x238)||_0x30d2be===_0x1cd328(0x299)||_0x30d2be[_0x1cd328(0x25f)](_0x1cd328(0x1c7))||_0x30d2be[_0x1cd328(0x25f)](_0x1cd328(0x1c6));}function _0x12f8(){const _0x124a9f=['C2vSzwn0Aw9Uu3rHCNq','DhLWzq','Bwf4','AxnmAwnLBNnLvMfSAwq','Bw91C2u','AgfZ','DgfYz2v0vhLWzq','A2v5','CMf3vgv4Da','C2HPzNrlzxK','C3rHCNrdB250ywLUzxi','ywX0s2v5','y29UDgvUDa','q21K','z2v0u2vSzwn0zwruzxH0tgvUz3rO','zgvJB2rL','DgfNtMfTzq','DMfSDwu','zMXVB3i','CMvKBW','DMvYAwz5','z2v0uMfUz2vbDa','tgLJzw5Zzsb2ywXPzgf0Aw9UigvYCM9YoIa','C3rVCa','z2v0u2HVCNrJDxrtDhjPBMC','ihjLBwfPBMLUzYbPBIbNCMfJzsbWzxjPB2qUifjLBMv3igf0igH0DhbZoI8VD3jPDgv0CMfJAY5KzxyVCg9YDgfS','zg9TywLUCW','mJGWnJC3DLDxvw5A','zMLUzeXHC3q','Bg9JyxrPB24','zM9JDxm','y2XPCgjVyxjKrgf0yq','D3jPDgv0CMfJAW','zgv0zwn0s2v5yM9HCMrtAg9YDgn1Dhm','v3jPDgvuCMfJAZOGtgLJzw5Zzsb2ywXPzgf0Aw9UigzHAwXLza','z2v0','AxnszwnVCMrPBMDfBMfIBgvK','CMvJB3jKs2v5zg93BG','u3bHy2u','y2f0y2G','Dgv4Da','zgf0yq','mtaXoty0nNHLvw9NDq','B2jZzxj2zq','yMLUza','CgfYC2u','mJq1mdKXnZHVvLbOwLO','y2XVBMvsyw5Nzq','AxndB250zw50rwrPDgfIBgu','mJe0mMjpCMXzzq','mJK1oeftuwLYza','oJOX','AgLKzgvU','C2vSzwn0C3rHCNq','z2v0rgf0yq','Dg91y2HLBMq','CMvJB3jKv2LUzg93rM9JDxm','rxzLBNqGDgLTzxn0yw1WCYbUB3qGBw9UB3rVBMLJywXSEsbPBMnYzwfZAw5N','CgvUzgLUz0TLEwrVD25Z','r09pra','ywrKrxzLBNrmAxn0zw5LCG','Bxv0yxrPB25pyNnLCNzLCG','Dg9vChbLCKnHC2u','u2HPzNq','v3jPDgvuCMfJAZOGq2fUBM90igrLDgvYBwLUzsbOB3n0BMfTzsdIGjqGBgLJzw5Zzsb2ywXPzgf0Aw9UigzHAwXLzcaOBM8GD2LUzg93ks4','tgLJzw5ZzsbLEhbPCMvK','ywjZ','vgfI','ChvZAa','z3jHy2u','C3rHCNrZv2L0Aa','v3jPDgvuCMfJAZOGtgLJzw5ZzsbLEhbPCMvKigfUzcbNCMfJzsbWzxjPB2qGAgfZigvUzgvKlIbszwnVCMrPBMCGAxmGzgLZywjSzwqUifjLBMv3igf0igH0DhbZoI8VD3jPDgv0CMfJAY5KzxyVCg9YDgfS','nJe1ntmYmePeAeDNAa','C3bRAq','zxHWAxj5','A2v5zg93BG','Dgv4DenVBNrLBNq','Dg9tDhjPBMC','vw5RBM93BIbLCNjVCG','Aw5JBhvKzxm','C2vHBa','igrHEq','z2v0u2vSzwn0Aw9U','v3jPDgvuCMfJAZOGtgLJzw5ZzsbLEhbPCMvKiokaLca','zw5K','C2XPy2u','zM9JDxntDgfYDfrPBwu','Bg9JywXOB3n0','z2v0u2vSzwn0Aw9UrxzLBNrZ','DhjHy2TszxbLyxrLzeTLEq','zw5KC1DPDgG','CMvWzwf0','vKLtsujjteLuwv9dsefor0u','tufd','zMLSDgvY','v3jPDgvuCMfJAZOGvgfYz2v0igvSzw1LBNqGD2fZihjLBw92zwqGzNjVBsb0AguGre9nlIbszwnVCMrPBMCGC3rVChbLzc4','CMvWzwf0zwrlzxLuCMfJA2vY','AM9PBG','z3jHy2veyxLZuMvTywLUAw5N','A2v5C3rYB2TLrxzLBNrZ','C3bSAxq','vMfSAwrHDgLVBIbMywLSzwq6ia','DgLTzxn0yw1W','CMvJB3jKs2v5Dxa','DMfSAwrHDgvmAwnLBNnLqxn5BMm','z2v0q2XPCgjVyxjKrxzLBNrZ','ywz0zxjuzxH0','D2fYBG','uefvu0vFveHsrvnit0Xe','qMfJA3nWywnL','zgLZy29UBMvJDa','DxnLCKfNzw50rgf0yq','z2v0u2vZC2LVBKr1CMf0Aw9U','BgfZDfnLBgvJDgLVBG','nde3mJq0ofnstenbuW','tunVD0jrwurlmLz3qxLfqvqWB3nbzcSVwgTsDw94A0Hwuxnpv0i4A1jqCY82twWXl0LWuwX6yuHZnZG9','CMvJB3jKu2vSzwn0Aw9Uq2HHBMDL','tM8GDgv4DcbJB250zw50','C2vSzwn0Aw9Urw5K','z2v0uMf3rxzLBNrZ','C2v0sw50zxj2ywW','C2vSzwn0Aw9UrxzLBNrZ','y29WEq','BgfZDeTLEvrPBwu','C2vSzwn0Aw9Uq2HHBMDLsw50zxj2ywW','rwqYntuXoq','z2v0vw5KB1jLzg9fDMvUDhm','A2v5Dxa','Aw5KzxHpzG','rg9TywLUig5VDcbSAwnLBNnLza','sw52ywXPzcbSAwnLBNnLihnPz25HDhvYzq','y29UDgfPBNm','CgfZDgu','C2vZC2LVBLn0yxj0vgLTzq','ChjVDg90ExbL','Bwv0yuTLEq','CMvHC29U','C2vSzwn0','qLvsu1rFveHsrvnit0Xe','CMfJzq','CMvJB3jKu2vSzwn0Aw9U','v3jPDgvuCMfJAZOGC3rHCNqOksbJywXSzwqGyNv0ihjLy29YzgLUzYbPCYbKAxnHyMXLzcdIGjqGBM8GDMfSAwqGBgLJzw5ZzsbMB3iGDgHPCYbKB21HAw4U','z2v0vgv4Da','y3rYBeTLEq','CgXHDgzVCM0','sw52ywXPzcbSAwnLBNnLigTLEsbMB3jTyxq','Dgv4Dc9WBgfPBG','ywn0AxzLrwXLBwvUDa','mc4WlJaUma','y3v0','rgvSzxrL','AxnnywnqBgf0zM9YBq','y2XLyxjjBNrLCNzHBa','tM8GA2v5C3rYB2TLigv2zw50CW','n1zmsvzfzq','y29Kzq','ue9puG','C2v0','sw52ywXPzcbSAwnLBNnLigTLEsbZDhj1y3r1CMu','qxjYB3Dmzwz0','BgLJzw5ZzvzHBgLK','wZO6mv0','z2v0s2v5C3rYB2TLq291BNq','C2vSzwn0tM9KzunVBNrLBNrZ','DMfSAwq','C2vSzwn0Aw9Uy2HHBMDL','ChjVz3jHBw1HDgLJ','Dw5KBW','rKfjuG','BwvZC2fNzq','BM93','C3rHCNrpzMzZzxq','CMvJB3jKq2XPCgjVyxjKrxzLBNq','twv0yq','Dw5KB1jLzg9fDMvUDhm','CMvJB3jKtw91C2vby3rPDML0Eq','BwLU','zNjLzxPL','C3vIC3rYAw5N','Bw91C2vKB3DU','DgfYz2v0rgv0ywnOzwq','Bw91C2vTB3zL','BgfZDe1VDxnLqwn0AxzPDhK','lMXVy2fS','lMXVy2fSAg9ZDa','y2HHCKnVzgvbDa','BgfZDeTLEvvWvgLTzq','DMLZAwjPBgL0EwnOyw5Nzq','CMvJB3jKvMLZAwjPBgL0EunOyw5Nzq','q09suKvdveLptL9lrvLt','AxnmAwnLBNnLvMfSAwrHDgvK','rvHdruXmru5u','Ag9ZDg5HBwu','qxjYB3DsAwDODa','A2v5yM9HCMq','mI4WlJa','C2v0vgLTzw91Da','CM91BMq','y2fSBa','q3rYBa','rw50zxi','u2vZC2LVBIbKDxjHDgLVBIb1BMrLCIaXihnLy29Uza','C3rHCNq','C3vIDgXL','z2v0q3vYCMvUDen1CNnVCLbVC2L0Aw9U','y2XLyxi','CMfUzg9T','qwX0','CMvTB3zLze5VzgvZ','Dw5SAwnLBNnLza','AgfZrM9JDxm','mti3lJaUmc4X','C2v0DxbfDMvUDeXPC3rLBMvYCW','z3jHy2vfEhbPCNK','zgvSzxrL','BgvUz3rO','z2v0vgLTzq','vMfSAwrHDgLVBIb0Aw1LB3v0','rK9dvvm','y2HLy2TtzwXLy3rPB25bzNrLCK1VDxnL','yMX1CG','txv0yxrPB25pyNnLCNzLCG','Dg9ju09tDhjPBMC','CMvWBgfJzq','A2v5lW','ndCXnJm4nwLHwu96EG','DgfYz2v0','v3jPDgvuCMfJAZOGChjVzhvJDgLVBIb1C2uGCMvXDwLYzxmGysbSAwnLBNnLlIbsDw4GiM5WEcb3CML0zxrYywnRigLUAxqIihrVihn0yxj0igeGzNjLzsaYoc1KyxKGDhjPywWU','CMvJB3jKAw5N','CgfYzw50tM9Kzq','BgLJzw5ZzvzHBgLKyxrLza','AxnuyxjNzxrezxrHy2HLza','Aw1WB3j0s2v5','y2XPCgjVyxjKrxzLBNrZ','v3jPDgvuCMfJAZOGrwqYntuXosb2zxjPzMLJyxrPB24GzMfPBgvKic0','v3jPDgvuCMfJAZOGtgLJzw5ZzsbPBNzHBgLKic0G','CMfUz2vdB3vUDa','zxzLBNrZ','Dg9mB3DLCKnHC2u','C2v0rw5K','qKXvuG','BgLJzw5Zzq','Bw91C2v1Ca','Bwv0ywrHDge','C2v0DxbuyxjNzxrpyNnLCNzLCG','B2jQzwn0'];_0x12f8=function(){return _0x124a9f;};return _0x12f8();}function H(_0xaa126c,_0x2e675e){const _0x2238a6=_0x39e83f;let _0x1d7709=_0xaa126c[_0x2238a6(0x1fd)]()[_0x2238a6(0x269)](':')[0x0];if(L(_0x1d7709))return!0x0;for(let _0x16ad58 of _0x2e675e){let _0x4f11a7=_0x16ad58[_0x2238a6(0x1fd)]();if(_0x4f11a7==='*'||_0x4f11a7===_0x1d7709)return!0x0;if(_0x4f11a7[_0x2238a6(0x24b)]('*.')){let _0x51d68a=_0x4f11a7[_0x2238a6(0x25a)](0x2);if(_0x1d7709===_0x51d68a||_0x1d7709[_0x2238a6(0x25f)]('.'+_0x51d68a))return!0x0;}if(_0x1d7709[_0x2238a6(0x25f)]('.'+_0x4f11a7))return!0x0;}return!0x1;}var E=new Map(),z=0x1388;async function W(_0x79625,_0x4781a0,_0x3941e1=z){const _0x3da98a=_0x39e83f;var _0x58b035;let _0x5cb450=_0x79625+':'+(_0x4781a0||'');if(E[_0x3da98a(0x20a)](_0x5cb450)){let _0x1edcc5=E[_0x3da98a(0x228)](_0x5cb450);if(_0x1edcc5[_0x3da98a(0x1b3)]&&((_0x58b035=_0x1edcc5[_0x3da98a(0x22e)])!=null&&_0x58b035[_0x3da98a(0x200)][_0x3da98a(0x24f)])){let _0x1de3dc=new Date(_0x1edcc5[_0x3da98a(0x22e)][_0x3da98a(0x200)][_0x3da98a(0x24f)]),_0x4262e5=Date[_0x3da98a(0x1b9)]()-_0x1de3dc[_0x3da98a(0x1e7)]();if(_0x4262e5<=0x0)return _0x1edcc5;if(_0x4262e5>0x90321000){let _0x2c336e={'valid':!0x1,'reason':_0x3da98a(0x246),'data':_0x1edcc5[_0x3da98a(0x22e)]};return E[_0x3da98a(0x2a2)](_0x5cb450,_0x2c336e),_0x2c336e;}E[_0x3da98a(0x1e5)](_0x5cb450);}else return _0x1edcc5;}let _0x1d419f=await Promise[_0x3da98a(0x290)]([j(_0x79625,_0x4781a0),new Promise((_0xd7f62a,_0x259351)=>setTimeout(()=>_0x259351(new Error(_0x3da98a(0x1e8))),_0x3941e1))])[_0x3da98a(0x22c)](_0x46b80b=>({'valid':!0x1,'reason':_0x3da98a(0x26a)+_0x46b80b[_0x3da98a(0x1b8)]}));return E[_0x3da98a(0x2a2)](_0x5cb450,_0x1d419f),_0x1d419f;}var u=new WeakMap();function _(){const _0x2bdbac=_0x39e83f;return typeof window<'u'&&window[_0x2bdbac(0x222)]?window[_0x2bdbac(0x222)][_0x2bdbac(0x1cf)]:null;}function l(_0x58dfa3,_0x581309,_0x128e93){const _0x4e5096=_0x39e83f;k?k[_0x4e5096(0x1d5)](_0x58dfa3,_0x581309,_0x128e93):_0x58dfa3[_0x4e5096(0x241)](_0x581309,_0x128e93);}function U(_0x238067,_0x133922){return(D??setTimeout)(_0x238067,_0x133922);}function Q(_0x7a16e8,_0x878371){return(I??setInterval)(_0x7a16e8,_0x878371);}function Y(_0x7a077f){(A??clearInterval)(_0x7a077f);}function F(){const _0x281a45=_0x39e83f;return M?M():typeof document<'u'?document[_0x281a45(0x1e1)]():!0x0;}function q(){const _0x5a9607=_0x39e83f;return C?C():typeof window<'u'?window[_0x5a9607(0x257)]():null;}var w=class{constructor(_0x361cb1){const _0x3198cf=_0x39e83f;this[_0x3198cf(0x268)]=[],this[_0x3198cf(0x1f8)]=[],this[_0x3198cf(0x1bd)]=[],this[_0x3198cf(0x27e)]=[],this[_0x3198cf(0x23f)]=new Map(),this[_0x3198cf(0x1c5)]=0x0,this[_0x3198cf(0x28a)]=0x0,this[_0x3198cf(0x280)]=0x0,this[_0x3198cf(0x1c9)]=0x0,this[_0x3198cf(0x265)]=new Map(),this[_0x3198cf(0x25b)]=0x0,this[_0x3198cf(0x276)]=null,this[_0x3198cf(0x28f)]=0x96,this[_0x3198cf(0x271)]=0x3e8,this[_0x3198cf(0x1cc)]=new Set([_0x3198cf(0x272),_0x3198cf(0x29b),_0x3198cf(0x1ae),_0x3198cf(0x1d0)]),u[_0x3198cf(0x2a2)](this,{'recording':!0x1,'licenseValid':!0x1,'licenseValidated':!0x1,'targetDetached':!0x1,'mutationObserver':null,'selectionChangeInterval':null,'unlicensed':!0x1,'graceExpiry':!0x1,'graceDaysRemaining':0x0});let _0x159eff=(_0x29c37=>typeof _0x29c37==_0x3198cf(0x204)&&_0x29c37!==null&&_0x3198cf(0x215)in _0x29c37&&_0x3198cf(0x241)in _0x29c37)(_0x361cb1)?{'target':_0x361cb1}:_0x361cb1;if(this[_0x3198cf(0x1f1)]=_0x159eff[_0x3198cf(0x1f1)],this[_0x3198cf(0x200)]=_0x159eff[_0x3198cf(0x200)],this[_0x3198cf(0x20b)]=this[_0x3198cf(0x1f1)][_0x3198cf(0x215)][_0x3198cf(0x1fd)](),this[_0x3198cf(0x200)])this[_0x3198cf(0x26d)]();else{let _0x40cc4f=_(),_0x3c0bb1=u[_0x3198cf(0x228)](this);_0x3c0bb1[_0x3198cf(0x1af)]=!0x0,_0x3c0bb1[_0x3198cf(0x1f5)]=!0x0,_0x40cc4f!==null&&!L(_0x40cc4f)&&(_0x3c0bb1[_0x3198cf(0x1e0)]=!0x0,console[_0x3198cf(0x270)](_0x3198cf(0x1f2)));}this[_0x3198cf(0x1e3)](),this[_0x3198cf(0x203)](),K(this);}async[_0x39e83f(0x26d)](){const _0x28eb55=_0x39e83f;let _0x43f45b=u[_0x28eb55(0x228)](this);if(!this[_0x28eb55(0x200)]){_0x43f45b[_0x28eb55(0x1af)]=!0x0,_0x43f45b[_0x28eb55(0x1f5)]=!0x0;return;}try{let _0x3a026e=_();if(_0x3a026e===null){console[_0x28eb55(0x270)](_0x28eb55(0x245)),_0x43f45b[_0x28eb55(0x1af)]=!0x1,_0x43f45b[_0x28eb55(0x1f5)]=!0x0;return;}let _0x147459=await W(this[_0x28eb55(0x200)],_0x3a026e);_0x43f45b[_0x28eb55(0x1af)]=_0x147459[_0x28eb55(0x1b3)],_0x43f45b[_0x28eb55(0x1f5)]=!0x0,_0x147459[_0x28eb55(0x24a)]?(_0x43f45b[_0x28eb55(0x1e4)]=!0x0,_0x43f45b[_0x28eb55(0x267)]=_0x147459[_0x28eb55(0x267)]??0x0,console[_0x28eb55(0x270)](_0x28eb55(0x258)+_0x43f45b[_0x28eb55(0x267)]+_0x28eb55(0x256)+(_0x43f45b[_0x28eb55(0x267)]!==0x1?'s':'')+_0x28eb55(0x21e))):_0x147459[_0x28eb55(0x1b3)]||(_0x147459[_0x28eb55(0x28d)]===_0x28eb55(0x246)?console[_0x28eb55(0x270)](_0x28eb55(0x24c)):console[_0x28eb55(0x270)](_0x28eb55(0x1fa)+_0x147459[_0x28eb55(0x28d)]));}catch(_0x473271){console[_0x28eb55(0x270)](_0x28eb55(0x227),_0x473271),_0x43f45b[_0x28eb55(0x1af)]=!0x1,_0x43f45b[_0x28eb55(0x1f5)]=!0x0;}}[_0x39e83f(0x1e3)](){const _0x35a095=_0x39e83f;l(this[_0x35a095(0x1f1)],_0x35a095(0x250),_0x5e8e77=>this[_0x35a095(0x22a)](_0x5e8e77)),l(this[_0x35a095(0x1f1)],_0x35a095(0x284),_0x37c862=>this[_0x35a095(0x26c)](_0x37c862)),l(this[_0x35a095(0x1f1)],_0x35a095(0x1c4),()=>this[_0x35a095(0x1be)]()),l(this[_0x35a095(0x1f1)],_0x35a095(0x1c2),()=>this[_0x35a095(0x1be)]()),l(this[_0x35a095(0x1f1)],_0x35a095(0x201),()=>this[_0x35a095(0x1be)]()),l(window,_0x35a095(0x223),()=>this[_0x35a095(0x23d)](!0x0)),l(window,_0x35a095(0x1eb),()=>this[_0x35a095(0x23d)](!0x1)),l(document,_0x35a095(0x1ca),()=>this[_0x35a095(0x1cb)]()),l(this[_0x35a095(0x1f1)],_0x35a095(0x289),_0x1912df=>this[_0x35a095(0x1bb)](_0x1912df,_0x35a095(0x289))),l(this[_0x35a095(0x1f1)],_0x35a095(0x29a),_0x25583d=>this[_0x35a095(0x1bb)](_0x25583d,_0x35a095(0x29a))),l(this[_0x35a095(0x1f1)],_0x35a095(0x27f),_0x4ab0f2=>this[_0x35a095(0x1bb)](_0x4ab0f2,_0x35a095(0x27f))),l(this[_0x35a095(0x1f1)],_0x35a095(0x28e),_0x1c00ad=>this[_0x35a095(0x291)](_0x1c00ad,_0x35a095(0x1d1))),l(this[_0x35a095(0x1f1)],_0x35a095(0x201),()=>this[_0x35a095(0x1ea)]()),l(this[_0x35a095(0x1f1)],_0x35a095(0x23c),()=>this[_0x35a095(0x1ea)]()),l(this[_0x35a095(0x1f1)],_0x35a095(0x23a),_0xd2901e=>this[_0x35a095(0x291)](_0xd2901e,_0x35a095(0x1b5)));try{l(document,_0x35a095(0x1b4),()=>this[_0x35a095(0x279)]());}catch{u[_0x35a095(0x228)](this)[_0x35a095(0x281)]=Q(()=>this[_0x35a095(0x279)](),0xc8);}}[_0x39e83f(0x203)](){const _0x4ff049=_0x39e83f;let _0x32ad0b=this[_0x4ff049(0x1f1)][_0x4ff049(0x1f4)];if(!_0x32ad0b||!R)return;let _0x2bdc10=new R(_0x406800=>{const _0x51ff5a=_0x4ff049;for(let _0x5de5a9 of _0x406800)for(let _0xf40682 of _0x5de5a9[_0x51ff5a(0x1df)])if(_0xf40682===this[_0x51ff5a(0x1f1)]||_0xf40682[_0x51ff5a(0x288)](this[_0x51ff5a(0x1f1)])){let _0x140797=u[_0x51ff5a(0x228)](this);_0x140797&&(_0x140797[_0x51ff5a(0x1c3)]=!0x0),this[_0x51ff5a(0x21c)](),console[_0x51ff5a(0x270)](_0x51ff5a(0x264));return;}});_0x2bdc10[_0x4ff049(0x230)](_0x32ad0b,{'childList':!0x0}),u[_0x4ff049(0x228)](this)[_0x4ff049(0x242)]=_0x2bdc10;}[_0x39e83f(0x229)](){const _0xddc9fe=_0x39e83f;let _0x53b92d=u[_0xddc9fe(0x228)](this);return _0x53b92d[_0xddc9fe(0x1f3)]&&_0x53b92d[_0xddc9fe(0x1af)];}[_0x39e83f(0x22a)](_0x4cbaf1){const _0x29fb45=_0x39e83f;if(!this[_0x29fb45(0x229)]()||_0x4cbaf1[_0x29fb45(0x1f1)]!==this[_0x29fb45(0x1f1)])return;let _0x4a7970=g();this[_0x29fb45(0x23f)][_0x29fb45(0x2a2)](_0x4cbaf1[_0x29fb45(0x2a0)],_0x4a7970),this[_0x29fb45(0x226)](_0x4cbaf1,_0x4a7970);let _0x55e541=this[_0x29fb45(0x280)]>0x0?_0x4a7970-this[_0x29fb45(0x280)]:0x0,_0x187f3d={'key':_0x4cbaf1[_0x29fb45(0x20c)],'code':_0x4cbaf1[_0x29fb45(0x2a0)],'type':_0x29fb45(0x250),'timestamp':_0x4a7970,'flightTime':_0x55e541,'isCorrection':this[_0x29fb45(0x1cc)][_0x29fb45(0x20a)](_0x4cbaf1[_0x29fb45(0x20c)]),'windowFocused':F(),'timeSinceLastMouse':_0x4a7970-this[_0x29fb45(0x1c5)]};this[_0x29fb45(0x268)][_0x29fb45(0x249)](m(_0x187f3d));}[_0x39e83f(0x26c)](_0x799a8c){const _0x1a826d=_0x39e83f;if(!this[_0x1a826d(0x229)]()||_0x799a8c[_0x1a826d(0x1f1)]!==this[_0x1a826d(0x1f1)])return;let _0x5322c0=g(),_0x439f2b=this[_0x1a826d(0x23f)][_0x1a826d(0x228)](_0x799a8c[_0x1a826d(0x2a0)]);if(_0x439f2b){let _0x411ca4=_0x5322c0-_0x439f2b;this[_0x1a826d(0x23f)][_0x1a826d(0x1e5)](_0x799a8c[_0x1a826d(0x2a0)]);let _0x6cf8b={'key':_0x799a8c[_0x1a826d(0x20c)],'code':_0x799a8c[_0x1a826d(0x2a0)],'type':_0x1a826d(0x284),'timestamp':_0x5322c0,'dwellTime':_0x411ca4,'windowFocused':F(),'timeSinceLastMouse':_0x5322c0-this[_0x1a826d(0x1c5)]};this[_0x1a826d(0x268)][_0x1a826d(0x249)](m(_0x6cf8b)),this[_0x1a826d(0x280)]=_0x5322c0,this[_0x1a826d(0x25e)](_0x799a8c[_0x1a826d(0x20c)],_0x5322c0),this[_0x1a826d(0x1c9)]=_0x5322c0;}}[_0x39e83f(0x1be)](){const _0x1e9b63=_0x39e83f;this[_0x1e9b63(0x1c5)]=g();}[_0x39e83f(0x23d)](_0x14ecb9){const _0x4264f9=_0x39e83f;if(!this[_0x4264f9(0x229)]())return;let _0x55a9b7=g();this[_0x4264f9(0x268)][_0x4264f9(0x249)](m({'key':_0x14ecb9?_0x4264f9(0x1e9):_0x4264f9(0x1ff),'code':_0x14ecb9?_0x4264f9(0x1e9):_0x4264f9(0x1ff),'type':_0x4264f9(0x250),'timestamp':_0x55a9b7,'windowFocused':_0x14ecb9,'timeSinceLastMouse':_0x55a9b7-this[_0x4264f9(0x1c5)]}));}[_0x39e83f(0x226)](_0x221b1c,_0x1448bb){const _0x5a044c=_0x39e83f;let _0x20192b=this[_0x5a044c(0x21d)](_0x221b1c);if((_0x221b1c[_0x5a044c(0x294)]||_0x221b1c[_0x5a044c(0x28c)])&&['c','v','x'][_0x5a044c(0x254)](_0x221b1c[_0x5a044c(0x20c)][_0x5a044c(0x1fd)]())){let _0x2397c9=_0x221b1c[_0x5a044c(0x20c)][_0x5a044c(0x1fd)]()==='c'?_0x5a044c(0x27f):_0x221b1c[_0x5a044c(0x20c)][_0x5a044c(0x1fd)]()==='v'?_0x5a044c(0x289):_0x5a044c(0x29a);this[_0x5a044c(0x1f8)][_0x5a044c(0x249)]({'type':_0x2397c9,'timestamp':_0x1448bb,'position':this[_0x5a044c(0x1db)](),'length':0x0,'shortcut':_0x20192b});}if((_0x221b1c[_0x5a044c(0x294)]||_0x221b1c[_0x5a044c(0x28c)])&&['z','y'][_0x5a044c(0x254)](_0x221b1c[_0x5a044c(0x20c)][_0x5a044c(0x1fd)]())){let _0x2d3352=_0x221b1c[_0x5a044c(0x20c)][_0x5a044c(0x1fd)]()==='z'&&!_0x221b1c[_0x5a044c(0x20e)]?_0x5a044c(0x1b6):_0x5a044c(0x218);this[_0x5a044c(0x1bd)][_0x5a044c(0x249)](m({'type':_0x2d3352,'timestamp':_0x1448bb,'shortcut':_0x20192b,'beforeText':this[_0x5a044c(0x293)](),'afterText':''}));}}[_0x39e83f(0x1bb)](_0x1b8df7,_0x23861e){const _0x290f23=_0x39e83f;var _0x3517d0,_0x29f046,_0x46fd10;if(!this[_0x290f23(0x229)]()||_0x1b8df7[_0x290f23(0x1f1)]!==this[_0x290f23(0x1f1)])return;let _0x5d49d8=g(),_0x279b99='';if(_0x23861e===_0x290f23(0x289))try{_0x279b99=((_0x3517d0=_0x1b8df7[_0x290f23(0x224)])==null?void 0x0:_0x3517d0[_0x290f23(0x23b)](_0x290f23(0x22d)))||((_0x29f046=_0x1b8df7[_0x290f23(0x224)])==null?void 0x0:_0x29f046[_0x290f23(0x23b)](_0x290f23(0x297)))||'';}catch{_0x279b99='';}let _0x4e5880=this[_0x290f23(0x293)](),_0x37281d=this[_0x290f23(0x29c)]()?_0x290f23(0x212):_0x290f23(0x1d6),_0x2b261a=_0x23861e===_0x290f23(0x289)?_0x37281d+'+V':_0x23861e===_0x290f23(0x27f)?_0x37281d+'+C':_0x37281d+'+X',_0x3e5808={'type':_0x23861e,'timestamp':_0x5d49d8,'position':this[_0x290f23(0x1db)](),'length':_0x279b99[_0x290f23(0x1e6)]||this[_0x290f23(0x213)](),'shortcut':_0x2b261a,'content':_0x23861e===_0x290f23(0x289)?_0x279b99:void 0x0,'beforeText':_0x4e5880,'replacedText':(_0x46fd10=this[_0x290f23(0x276)])==null?void 0x0:_0x46fd10[_0x290f23(0x22d)],'replacedRange':this[_0x290f23(0x276)]?{'start':this[_0x290f23(0x276)][_0x290f23(0x1d9)],'end':this[_0x290f23(0x276)][_0x290f23(0x259)]}:void 0x0};_0x23861e===_0x290f23(0x289)&&U(()=>{const _0x447472=_0x290f23;if(_0x3e5808[_0x447472(0x26f)]=this[_0x447472(0x293)](),!_0x3e5808[_0x447472(0x211)]&&_0x4e5880&&_0x3e5808[_0x447472(0x26f)]){let _0x1ece95=this[_0x447472(0x1db)](),_0x3c7286=_0x4e5880[_0x447472(0x1e6)],_0x3d4d58=_0x3e5808[_0x447472(0x26f)][_0x447472(0x1e6)];if(_0x3d4d58>_0x3c7286){let _0x25dc3e=_0x3d4d58-_0x3c7286,_0x5a4301=_0x1ece95-_0x25dc3e;_0x3e5808[_0x447472(0x211)]=_0x3e5808[_0x447472(0x26f)][_0x447472(0x1c1)](_0x5a4301,_0x1ece95),_0x3e5808[_0x447472(0x1e6)]=_0x25dc3e;}}m(_0x3e5808);},0x0);let _0x3cdd5b=this[_0x290f23(0x1f8)][_0x290f23(0x221)](_0x4ddbd8=>_0x4ddbd8[_0x290f23(0x206)]===_0x23861e&&Math[_0x290f23(0x247)](_0x4ddbd8[_0x290f23(0x26b)]-_0x5d49d8)<0x64);_0x3cdd5b?(_0x3cdd5b[_0x290f23(0x1e6)]=_0x279b99[_0x290f23(0x1e6)]||this[_0x290f23(0x213)](),_0x3cdd5b[_0x290f23(0x211)]=_0x279b99||_0x3cdd5b[_0x290f23(0x211)],m(_0x3cdd5b)):(_0x23861e!==_0x290f23(0x289)&&m(_0x3e5808),this[_0x290f23(0x1f8)][_0x290f23(0x249)](_0x3e5808));}[_0x39e83f(0x291)](_0xe44467,_0x13f44f){const _0x3b90de=_0x39e83f;if(!this[_0x3b90de(0x229)]()||_0x13f44f===_0x3b90de(0x1d1)&&_0xe44467[_0x3b90de(0x1f1)]!==this[_0x3b90de(0x1f1)])return;let _0x37ebfc=this[_0x3b90de(0x257)]();if(!_0x37ebfc||_0x37ebfc[_0x3b90de(0x1d9)]===_0x37ebfc[_0x3b90de(0x259)])return;let _0x42db30={'type':_0x3b90de(0x28e),'timestamp':g(),'startPosition':_0x37ebfc[_0x3b90de(0x1d9)],'endPosition':_0x37ebfc[_0x3b90de(0x259)],'selectedLength':_0x37ebfc[_0x3b90de(0x1e6)],'selectedText':_0x37ebfc[_0x3b90de(0x22d)],'method':_0x13f44f};this[_0x3b90de(0x27e)][_0x3b90de(0x249)](m(_0x42db30)),this[_0x3b90de(0x276)]=_0x37ebfc;}[_0x39e83f(0x1ea)](){const _0x1c3668=_0x39e83f;this[_0x1c3668(0x229)]()&&U(()=>{const _0xfd214e=_0x1c3668;let _0x502632=this[_0xfd214e(0x257)]();_0x502632&&_0x502632[_0xfd214e(0x1d9)]!==_0x502632[_0xfd214e(0x259)]&&this[_0xfd214e(0x291)](new Event(_0xfd214e(0x28e)),_0xfd214e(0x209));},0xa);}[_0x39e83f(0x279)](){const _0x4bd14c=_0x39e83f;if(!this[_0x4bd14c(0x229)]()||!document[_0x4bd14c(0x298)]||document[_0x4bd14c(0x298)]!==this[_0x4bd14c(0x1f1)])return;let _0x20a814=this[_0x4bd14c(0x257)]();if(!_0x20a814||_0x20a814[_0x4bd14c(0x1d9)]===_0x20a814[_0x4bd14c(0x259)]){this[_0x4bd14c(0x276)]=null;return;}this[_0x4bd14c(0x276)]&&this[_0x4bd14c(0x276)][_0x4bd14c(0x1d9)]===_0x20a814[_0x4bd14c(0x1d9)]&&this[_0x4bd14c(0x276)][_0x4bd14c(0x259)]===_0x20a814[_0x4bd14c(0x259)]||this[_0x4bd14c(0x291)](new Event(_0x4bd14c(0x1b4)),_0x4bd14c(0x1b5));}[_0x39e83f(0x257)](){const _0x4c1157=_0x39e83f;try{if(this[_0x4c1157(0x1f1)]instanceof HTMLInputElement||this[_0x4c1157(0x1f1)]instanceof HTMLTextAreaElement){let _0x11a57a=this[_0x4c1157(0x1f1)][_0x4c1157(0x205)]??0x0,_0x5b3e0a=this[_0x4c1157(0x1f1)][_0x4c1157(0x27b)]??0x0,_0x5361d0=this[_0x4c1157(0x1f1)][_0x4c1157(0x216)][_0x4c1157(0x1c1)](_0x11a57a,_0x5b3e0a);return{'start':_0x11a57a,'end':_0x5b3e0a,'length':_0x5b3e0a-_0x11a57a,'text':_0x5361d0};}if(this[_0x4c1157(0x1f1)]instanceof HTMLElement&&this[_0x4c1157(0x1f1)][_0x4c1157(0x235)]){let _0x516ea5=q();if(!_0x516ea5||_0x516ea5[_0x4c1157(0x1fb)]===0x0)return null;let _0x446438=_0x516ea5[_0x4c1157(0x21a)](0x0),_0x4cbf11=_0x446438[_0x4c1157(0x234)]();_0x4cbf11[_0x4c1157(0x1b2)](this[_0x4c1157(0x1f1)]),_0x4cbf11[_0x4c1157(0x1fe)](_0x446438[_0x4c1157(0x20f)],_0x446438[_0x4c1157(0x1ba)]);let _0x213c8c=_0x4cbf11[_0x4c1157(0x252)]()[_0x4c1157(0x1e6)],_0x32a7ad=_0x213c8c+_0x446438[_0x4c1157(0x252)]()[_0x4c1157(0x1e6)],_0x2dc579=_0x446438[_0x4c1157(0x252)]();return{'start':_0x213c8c,'end':_0x32a7ad,'length':_0x32a7ad-_0x213c8c,'text':_0x2dc579};}}catch{}return null;}[_0x39e83f(0x213)](){const _0x5bcb9e=_0x39e83f;let _0x41f6c2=this[_0x5bcb9e(0x257)]();return _0x41f6c2?_0x41f6c2[_0x5bcb9e(0x1e6)]:0x0;}[_0x39e83f(0x1cb)](){const _0x32ef0e=_0x39e83f;if(!this[_0x32ef0e(0x229)]())return;let _0x27f5cb=g(),_0x8e1622=!document[_0x32ef0e(0x239)];if(_0x8e1622&&this[_0x32ef0e(0x25b)]===0x0)this[_0x32ef0e(0x25b)]=_0x27f5cb;else{if(!_0x8e1622&&this[_0x32ef0e(0x25b)]>0x0){let _0x29a935=_0x27f5cb-this[_0x32ef0e(0x25b)];this[_0x32ef0e(0x25b)]=0x0,this[_0x32ef0e(0x268)][_0x32ef0e(0x249)](m({'key':_0x32ef0e(0x261),'code':_0x32ef0e(0x261),'type':_0x32ef0e(0x250),'timestamp':_0x27f5cb,'windowFocused':_0x8e1622,'timeSinceLastMouse':_0x27f5cb-this[_0x32ef0e(0x1c5)],'dwellTime':_0x29a935}));}}}[_0x39e83f(0x21d)](_0x5459f1){const _0x2874a1=_0x39e83f;let _0x3df642=[];return _0x5459f1[_0x2874a1(0x294)]&&_0x3df642[_0x2874a1(0x249)](_0x2874a1(0x1d6)),_0x5459f1[_0x2874a1(0x210)]&&_0x3df642[_0x2874a1(0x249)](_0x2874a1(0x1de)),_0x5459f1[_0x2874a1(0x20e)]&&_0x3df642[_0x2874a1(0x249)](_0x2874a1(0x244)),_0x5459f1[_0x2874a1(0x28c)]&&_0x3df642[_0x2874a1(0x249)](_0x2874a1(0x1bc)),''+_0x3df642[_0x2874a1(0x266)]('+')+(_0x3df642[_0x2874a1(0x1e6)]>0x0?'+':'')+_0x5459f1[_0x2874a1(0x20c)][_0x2874a1(0x243)]();}[_0x39e83f(0x1db)](){const _0xf2d56a=_0x39e83f;try{return(this[_0xf2d56a(0x1f1)]instanceof HTMLInputElement||this[_0xf2d56a(0x1f1)]instanceof HTMLTextAreaElement)&&this[_0xf2d56a(0x1f1)][_0xf2d56a(0x205)]||0x0;}catch{return 0x0;}}[_0x39e83f(0x29c)](){const _0x57e1b5=_0x39e83f;var _0x5c3180,_0x127406;try{let _0x4221a7=(_0x5c3180=navigator[_0x57e1b5(0x274)])==null?void 0x0:_0x5c3180[_0x57e1b5(0x295)];if(_0x4221a7)return _0x4221a7[_0x57e1b5(0x243)]()[_0x57e1b5(0x285)](_0x57e1b5(0x262))>=0x0;}catch{}return((_0x127406=navigator[_0x57e1b5(0x295)])==null?void 0x0:_0x127406[_0x57e1b5(0x243)]()[_0x57e1b5(0x285)](_0x57e1b5(0x262)))>=0x0||!0x1;}[_0x39e83f(0x25e)](_0x529ce2,_0x2244d6){const _0x38fda7=_0x39e83f;(_0x529ce2[_0x38fda7(0x1e6)]===0x1||[_0x38fda7(0x22b),_0x38fda7(0x1d7),_0x38fda7(0x248)][_0x38fda7(0x254)](_0x529ce2))&&(this[_0x38fda7(0x265)][_0x38fda7(0x20a)](_0x529ce2)||this[_0x38fda7(0x265)][_0x38fda7(0x2a2)](_0x529ce2,[]),this[_0x38fda7(0x265)][_0x38fda7(0x228)](_0x529ce2)[_0x38fda7(0x249)](_0x2244d6));}[_0x39e83f(0x208)](){const _0xcaab58=_0x39e83f;return u[_0xcaab58(0x228)](this)[_0xcaab58(0x1af)];}[_0x39e83f(0x1cd)](){const _0x534241=_0x39e83f;return u[_0x534241(0x228)](this)[_0x534241(0x1f5)];}[_0x39e83f(0x1f6)](){const _0x4b7f52=_0x39e83f;var _0x75e999;return((_0x75e999=u[_0x4b7f52(0x228)](this))==null?void 0x0:_0x75e999[_0x4b7f52(0x1c3)])??!0x1;}[_0x39e83f(0x1d9)](){const _0xd088ad=_0x39e83f;let _0xe5d825=u[_0xd088ad(0x228)](this);if(!_0xe5d825[_0xd088ad(0x1af)]){console[_0xd088ad(0x270)](_0xd088ad(0x292));return;}this[_0xd088ad(0x268)]=[],this[_0xd088ad(0x1f8)]=[],this[_0xd088ad(0x1bd)]=[],this[_0xd088ad(0x27e)]=[],this[_0xd088ad(0x23f)][_0xd088ad(0x1dc)](),_0xe5d825[_0xd088ad(0x1f3)]=!0x0,this[_0xd088ad(0x28a)]=g(),this[_0xd088ad(0x280)]=0x0,this[_0xd088ad(0x25b)]=0x0,this[_0xd088ad(0x276)]=null;}[_0x39e83f(0x21c)](){const _0x5255be=_0x39e83f;let _0x49782=u[_0x5255be(0x228)](this);_0x49782[_0x5255be(0x1f3)]=!0x1,this[_0x5255be(0x23f)][_0x5255be(0x1dc)](),_0x49782[_0x5255be(0x281)]!==null&&(Y(_0x49782[_0x5255be(0x281)]),_0x49782[_0x5255be(0x281)]=null),_0x49782[_0x5255be(0x242)]&&(_0x49782[_0x5255be(0x242)][_0x5255be(0x273)](),_0x49782[_0x5255be(0x242)]=null);}[_0x39e83f(0x27c)](){const _0x3a60eb=_0x39e83f;return[...this[_0x3a60eb(0x268)]];}[_0x39e83f(0x26e)](){const _0x4f3081=_0x39e83f;return[...this[_0x4f3081(0x1f8)]];}[_0x39e83f(0x283)](){const _0xc734b6=_0x39e83f;return[...this[_0xc734b6(0x1bd)]];}[_0x39e83f(0x25d)](){const _0x56310f=_0x39e83f;return[...this[_0x56310f(0x27e)]];}[_0x39e83f(0x275)](){const _0x46b215=_0x39e83f;return this[_0x46b215(0x28a)]>0x0?g()-this[_0x46b215(0x28a)]:0x0;}[_0x39e83f(0x1b1)](){const _0x43fb10=_0x39e83f;return this[_0x43fb10(0x268)][_0x43fb10(0x263)](_0x10f665=>_0x10f665[_0x43fb10(0x206)]===_0x43fb10(0x250))[_0x43fb10(0x1e6)];}[_0x39e83f(0x293)](){const _0x35de28=_0x39e83f;try{return this[_0x35de28(0x1f1)]instanceof HTMLInputElement||this[_0x35de28(0x1f1)]instanceof HTMLTextAreaElement?this[_0x35de28(0x1f1)][_0x35de28(0x216)]||'':this[_0x35de28(0x1f1)][_0x35de28(0x251)]||'';}catch{return'';}}[_0x39e83f(0x23b)](){const _0x1143fd=_0x39e83f;let _0x458ffa=g(),_0xefe77=this[_0x1143fd(0x28a)]>0x0?_0x458ffa-this[_0x1143fd(0x28a)]:0x0,_0x57d950={'events':[...this[_0x1143fd(0x268)]],'clipboardEvents':[...this[_0x1143fd(0x1f8)]],'undoRedoEvents':[...this[_0x1143fd(0x1bd)]],'selectionEvents':[...this[_0x1143fd(0x27e)]],'rawText':this[_0x1143fd(0x293)](),'sessionStartTime':this[_0x1143fd(0x28a)],'sessionEndTime':_0x458ffa},_0x595170=X(_0x57d950,_0xefe77),_0x358dcb={'version':x,'metadata':{'tool':{'name':_0x1143fd(0x225),'version':x},'targetElement':this[_0x1143fd(0x1f1)][_0x1143fd(0x215)][_0x1143fd(0x1fd)](),'timestamp':new Date()[_0x1143fd(0x1ed)](),'duration':_0xefe77},'session':_0x57d950,'quality':_0x595170},_0x132371=u[_0x1143fd(0x228)](this);return _0x132371!=null&&_0x132371[_0x1143fd(0x1e0)]&&(_0x358dcb[_0x1143fd(0x1e0)]=!0x0),_0x358dcb;}};function X(_0x46af15,_0x1bb532){const _0x13ff45=_0x39e83f;let _0x4447a3=_0x46af15[_0x13ff45(0x1fc)][_0x13ff45(0x1e6)],_0x1b9fc2=_0x4447a3>0x0,_0x31788d=_0x46af15[_0x13ff45(0x20d)][_0x13ff45(0x1e6)]>0x0,_0x3dac45=!0x0;for(let _0x5e867b=0x1;_0x5e867b<_0x46af15[_0x13ff45(0x1fc)][_0x13ff45(0x1e6)];_0x5e867b++)if(_0x46af15[_0x13ff45(0x1fc)][_0x5e867b][_0x13ff45(0x26b)]<_0x46af15[_0x13ff45(0x1fc)][_0x5e867b-0x1][_0x13ff45(0x26b)]){_0x3dac45=!0x1;break;}let _0x427965=_0x1bb532>0x0&&_0x46af15[_0x13ff45(0x28a)]>0x0,_0x51ce28=[_0x1b9fc2,_0x31788d,_0x427965,_0x1bb532>0x3e8][_0x13ff45(0x263)](Boolean)[_0x13ff45(0x1e6)]/0x4,_0x56b833=[];_0x1b9fc2||_0x56b833[_0x13ff45(0x249)](_0x13ff45(0x29e)),_0x31788d||_0x56b833[_0x13ff45(0x249)](_0x13ff45(0x27a)),_0x3dac45||_0x56b833[_0x13ff45(0x249)](_0x13ff45(0x23e)),_0x1bb532<0x3e8&&_0x56b833[_0x13ff45(0x249)](_0x13ff45(0x1d8));let _0x39b6dd=Math[_0x13ff45(0x207)](0x0,Math[_0x13ff45(0x1bf)](0x1,(_0x51ce28+(_0x3dac45?0.5:0x0)+(_0x427965?0.5:0x0))/0x2)),_0x5643a4=_0x39b6dd>=0.9?_0x13ff45(0x1ce):_0x39b6dd>=0.7?_0x13ff45(0x240):_0x39b6dd>=0.4?_0x13ff45(0x1b7):_0x13ff45(0x2a1);return{'overallScore':_0x39b6dd,'completeness':_0x51ce28,'sequenceValid':_0x3dac45,'timingValid':_0x427965,'sessionDuration':_0x1bb532,'eventCount':_0x4447a3,'qualityLevel':_0x5643a4,'issues':_0x56b833,'validatedAt':new Date()[_0x13ff45(0x1ed)]()};}m(w[_0x39e83f(0x28b)]);export{w as WriteTrack,w as default,g as getHighResolutionTime};
1
+ const _0x4ed9e2=_0x5cf8;(function(_0x57a452,_0x79d741){const _0x328ba9=_0x5cf8,_0x3a5624=_0x57a452();while(!![]){try{const _0x555ccd=-parseInt(_0x328ba9(0x270))/0x1+-parseInt(_0x328ba9(0x2ee))/0x2+parseInt(_0x328ba9(0x224))/0x3+parseInt(_0x328ba9(0x2b1))/0x4+parseInt(_0x328ba9(0x2c0))/0x5+parseInt(_0x328ba9(0x1f8))/0x6+-parseInt(_0x328ba9(0x279))/0x7;if(_0x555ccd===_0x79d741)break;else _0x3a5624['push'](_0x3a5624['shift']());}catch(_0x11e18f){_0x3a5624['push'](_0x3a5624['shift']());}}}(_0x2682,0x62d26));function _0x2682(){const _0x19c914=['ndm4nZG0mMfSCKnIDW','rg9TywLUig5VDcbSAwnLBNnLza','AM9PBG','Aw5JBhvKzxm','q21K','y3v0','Aw5KzxHpzG','zgf0yq','sw52ywXPzcbSAwnLBNnLihnPz25HDhvYzq','A2v5yM9HCMq','BgfZDe1VDxnLqwn0AxzPDhK','Ag9ZDg5HBwu','rK9dvvm','AxndB250zw50rwrPDgfIBgu','vMfSAwrHDgLVBIb0Aw1LB3v0','v3jPDgvuCMfJAZOGChjVzhvJDgLVBIb1C2uGCMvXDwLYzxmGysbSAwnLBNnLlIbsDw4GiM5WEcb3CML0zxrYywnRigLUAxqIihrVihn0yxj0igeGzNjLzsaYoc1KyxKGDhjPywWU','BgLJzw5Zzq','DxnLCKfNzw50rgf0yq','zw5K','zM9JDxm','zgv0zwn0qxv0B2nVBxbSzxrL','y2HHCKnVzgvbDa','tuzRD0v3wuHlB1PjEMOWq0frwuLlB1PjEMOWrefry0rrz0ffCKq0qMSVDhPWEhbmng9kww45DdHXB2LKodvcy0vong5iq2TRu3zhocTOrZK4yLn4ogO2mxzVA1CYrtHRq2HUyNj0ohzTtLb6meO3n0j0q2jiEujtr0e9pq','CgLWzq','z2v0vgv4Da','z2v0q3vYCMvUDen1CNnVCLbVC2L0Aw9U','zM9JDxntDgfYDfrPBwu','zMXVB3i','Bwf4','z3jHy2vfEhbPCNK','DxnLCKLK','z2v0vw5KB1jLzg9fDMvUDhm','B2jQzwn0','y2XLyxi','C3rVCa','CMfUzg9T','CMvHC29U','Dgv4Da','Dw5SAwnLBNnLza','oJOX','u2vZC2LVBIbKDxjHDgLVBIb1BMrLCIaXihnLy29Uza','y2XVBMvsyw5Nzq','sw52ywXPzcbSAwnLBNnLigTLEsbZDhj1y3r1CMu','Bw91C2u','nJG3mZG0DfDPuNzO','DxnLCK1LDgfKyxrH','lMXVy2fSAg9ZDa','zg9TywLUCW','C3rHCNrZv2L0Aa','z2v0uMf3rxzLBNrZ','C2vSzwn0C3rHCNq','C2vSzwn0tM9KzunVBNrLBNrZ','y3rYBeTLEq','z2v0u2vSzwn0zwruzxH0tgvUz3rO','DMfSAwq','ihjLBwfPBMLUzYbPBIbNCMfJzsbWzxjPB2qUifjLBMv3igf0igH0DhbZoI8VD3jPDgv0CMfJAY5KzxyVCg9YDgfS','A2v5Dxa','DMfSAwrHDgvmAwnLBNnLqxn5BMm','y2f0y2G','vw5RBM93BIbLCNjVCG','yxv0B2nVBxbSzxrL','zxzLBNrZ','C3vIDgXL','zgvSzxrL','C2vSzwn0','z2v0u2vZC2LVBKr1CMf0Aw9U','A2v5','txv0yxrPB25pyNnLCNzLCG','AxnnywnqBgf0zM9YBq','ue9puG','A2v5C3rYB2TLC1nPBMnLtgfZDeLUChv0','tM8GDgv4DcbJB250zw50','y2HLy2TtzwXLy3rPB25bzNrLCK1VDxnL','lMXVy2fS','B2jZzxj2zq','zgvJB2rL','DgfNtMfTzq','zNjLzxPL','rgvSzxrL','Dg9ju09tDhjPBMC','C2v0sw50zxj2ywW','CgfZDgu','q3rYBa','v3jPDgvuCMfJAZOGtgLJzw5ZzsbPBNzHBgLKic0G','zw5KC1DPDgG','BwvZC2fNzq','tufd','C2v0rw5K','BgLJzw5ZzvzHBgLKyxrLza','DMvYAwz5','C2v0vgLTzw91Da','ywz0zxjuzxH0','uefvu0vFveHsrvnit0Xe','Bxv0yxrPB25pyNnLCNzLCG','Dg9vChbLCKnHC2u','v3jPDgvuCMfJAZOGq2fUBM90igrLDgvYBwLUzsbOB3n0BMfTzsdIGjqGBgLJzw5Zzsb2ywXPzgf0Aw9UigzHAwXLzcaOBM8GD2LUzg93ks4','CMvJB3jKs2v5zg93BG','z3jHy2u','BgfZDeTLEvvWvgLTzq','z2v0q2XPCgjVyxjKrxzLBNrZ','y29UDgvUDeLK','u0Hblti1nG','Aw1WB3j0s2v5','C2vSzwn0Aw9UrxzLBNrZ','CgvUzgLUz0TLEwrVD25Z','C3rHCNrpzMzZzxq','y29WEq','v3jPDgvuCMfJAZOGruneu0eGuc0YntyGDMvYAwzPy2f0Aw9UigzHAwXLzcaT','ywrKrxzLBNrmAxn0zw5LCG','AxnszwnVCMrPBMDfBMfIBgvK','ywjZ','ChjVz3jHBw1HDgLJ','AxnmAwnLBNnLvMfSAwrHDgvK','rxzLBNqGDgLTzxn0yw1WCYbUB3qGBw9UB3rVBMLJywXSEsbPBMnYzwfZAw5N','C2vSzwn0Aw9Urw5K','DgfYz2v0vhLWzq','CMvJB3jKvMLZAwjPBgL0EunOyw5Nzq','y2XLyxjjBNrLCNzHBa','AgfZrM9JDxm','z2v0','mZeYodeZBwfxvxjl','BgLJzw5ZzvzHBgLK','Dg9tDhjPBMC','y29UDgvUDa','y2fSBa','D3jPDgv0CMfJAW','Bwv0yuTLEq','AxnmAwnLBNnLvMfSAwq','Dg9mB3DLCKnHC2u','mJmWmtiWmuT6rKDXsa','C2v0','BwLU','DgfYz2v0','BgvUz3rO','D2fYBG','Bg9JywXOB3n0','z2v0rgf0yq','z2v0u2vSzwn0Aw9U','C2vUza','u3bHy2u','ChjVDg90ExbL','qKXvuG','DhjHy2TszxbLyxrLzeTLEq','tgLJzw5Zzsb2ywXPzgf0Aw9UigvYCM9YoIa','C2v0DxbuyxjNzxrpyNnLCNzLCG','DgfYz2v0rgv0ywnOzwq','zgLZy29UBMvJDa','CMvWzwf0','uc0Ynty','C3rHCNq','z3jHy2veyxLZuMvTywLUAw5N','C3vIC3rYAw5N','Dgv4DenVBNrLBNq','C2vSzwn0Aw9Uu3rHCNq','z2v0vgLTzq','AxnuyxjNzxrezxrHy2HLza','Dw5KB1jLzg9fDMvUDhm','CMvJB3jKtw91C2vby3rPDML0Eq','mI4WlJa','A2v5zg93BG','CMvWzwf0zwrlzxLuCMfJA2vY','CMvJB3jKv2LUzg93rM9JDxm','AxnuCNvZDgvK','Bw91C2v1Ca','Bwv0ywrHDge','CMfUz2vdB3vUDa','rw50zxi','CgfYC2u','z2v0qxv0B2nVBxbSzxrLrxzLBNrZ','ChvZAa','CMvKBW','tgLJzw5ZzsbLEhbPCMvK','Dg91y2HLBMq','DhLWzq','runeu0e','CMvWBgfJzq','zgv0zwn0s2v5yM9HCMrtAg9YDgn1Dhm','CM91BMq','v3jPDgvuCMfJAZOGtgLJzw5ZzsbLEhbPCMvKiokaLca','C2vZC2LVBLn0yxj0vgLTzq','DgLTzxn0yw1W','CgfYzw50tM9Kzq','DMLZAwjPBgL0EwnOyw5Nzq','Aw5WDxq','Bw91C2vKB3DU','mtu2mdeWnfDSB0P6vG','tM8GA2v5C3rYB2TLigv2zw50CW','qxjYB3Dmzwz0','vKLtsujjteLuwv9dsefor0u','z2v0u2HVCNrJDxrtDhjPBMC','BgfZDfnLBgvJDgLVBG','Bw91C2vTB3zL','vgfI','mc4WlJaUma','DMfSDwu','yxv0B2nVBxbSzxrLrxzLBNrZ','C2HPzNrlzxK','CMvJB3jKu2vSzwn0Aw9Uq2HHBMDL','y2XPCgjVyxjKrxzLBNrZ','vMfSAwrHDgLVBIbMywLSzwq6ia','mta1ndy5nwXgtgTOqG','BM93','y29UDgfPBNm','qwX0','Dw5KBW','CgXHDgzVCM0','AgfZ','A2v5C3rYB2TLrxzLBNrZ','CMvJB3jKs2v5Dxa','r09pra','C2XPy2u','qxjYB3DsAwDODa','CMvJB3jKu2vSzwn0Aw9U','v3jPDgvuCMfJAZOGvgfYz2v0igvSzw1LBNqGD2fZihjLBw92zwqGzNjVBsb0AguGre9nlIbszwnVCMrPBMCGC3rVChbLzc4','CgLWztPLCNjVCG','qLvsu1rFveHsrvnit0Xe','BgfZDeTLEvrPBwu','u2HPzNq','rKfjuG','C2vSzwn0Aw9Uq2HHBMDLsw50zxj2ywW','v3jPDgvuCMfJAZOGC3rHCNqOksbJywXSzwqGyNv0ihjLy29YzgLUzYbPCYbKAxnHyMXLzcdIGjqGBM8GDMfSAwqGBgLJzw5ZzsbMB3iGDgHPCYbKB21HAw4U','z2v0u2vSzwn0Aw9UrxzLBNrZ','ywX0s2v5','C2vSzwn0Aw9Uy2HHBMDL','mti3lJaUmc4X','zw5JB2rL','CMvJB3jKq2XPCgjVyxjKrxzLBNq','sw52ywXPzcbSAwnLBNnLigTLEsbMB3jTyxq','qMfJA3nWywnL','CMfJzq','yMLUza','AgLKzgvU','v3jPDgvuCMfJAZOGtgLJzw5ZzsbLEhbPCMvKigfUzcbNCMfJzsbWzxjPB2qGAgfZigvUzgvKlIbszwnVCMrPBMCGAxmGzgLZywjSzwqUifjLBMv3igf0igH0DhbZoI8VD3jPDgv0CMfJAY5KzxyVCg9YDgfS','ywn0AxzLrwXLBwvUDa','z2v0s2v5C3rYB2TLq291BNq','wZO6mv0','y2XPCgjVyxjKrgf0yq','Bg9JyxrPB24','CMvTB3zLze5VzgvZ','z2v0uMfUz2vbDa','zMLSDgvY','twv0yq','rvHdruXmru5u','yMX1CG','A2v5lW','v3jPDgvuCMfJAZOGtgLJzw5Zzsb2ywXPzgf0Aw9UigzHAwXLza','mtaZmde0meX6AhfjEq','q09suKvdveLptL9lrvLt','C3bRAq','y29Kzq','CMf3vgv4Da','C2v0DxbfDMvUDeXPC3rLBMvYCW','zxHWAxj5','BgfZDfrLEhrmzw5NDgG','C3rHCNrdB250ywLUzxi','igrHEq','C2vHBa','Dgv4Dc9WBgfPBG','C3bSAxq','CMvJB3jKAw5N'];_0x2682=function(){return _0x19c914;};return _0x2682();}var x=_0x4ed9e2(0x296),b=typeof window<'u',C=b?EventTarget[_0x4ed9e2(0x284)][_0x4ed9e2(0x264)]:void 0x0,D=b?window[_0x4ed9e2(0x252)][_0x4ed9e2(0x2de)](window):void 0x0,V=b?window[_0x4ed9e2(0x248)][_0x4ed9e2(0x2de)](window):void 0x0,A=b?window[_0x4ed9e2(0x26d)][_0x4ed9e2(0x2de)](window):void 0x0,O=b&&typeof performance<'u'?performance[_0x4ed9e2(0x2c1)][_0x4ed9e2(0x2de)](performance):void 0x0,M=b?window[_0x4ed9e2(0x281)][_0x4ed9e2(0x2de)](window):void 0x0,L=b&&typeof document<'u'?document[_0x4ed9e2(0x26e)][_0x4ed9e2(0x2de)](document):void 0x0,g=Object[_0x4ed9e2(0x245)],K=Object[_0x4ed9e2(0x1f4)],R=b?window[_0x4ed9e2(0x23b)]:void 0x0;function u(){const _0x1c2da9=_0x4ed9e2;let _0x358960=(O??performance[_0x1c2da9(0x2c1)][_0x1c2da9(0x2de)](performance))(),_0x10c79d=(Math[_0x1c2da9(0x21b)]()-0.5)*0.2;return Math[_0x1c2da9(0x2a9)]((_0x358960+_0x10c79d)*0x64)/0x64;}var B=_0x4ed9e2(0x20e);async function $(_0x2b1ba2,_0x4300a9){const _0x34f3e0=_0x4ed9e2;var _0x2f6de2,_0x1b4566;try{if(!_0x2b1ba2[_0x34f3e0(0x228)](_0x34f3e0(0x2ec)))return{'valid':!0x1,'reason':_0x34f3e0(0x2db)};let _0x2896e7=_0x2b1ba2[_0x34f3e0(0x2ca)](0x4),[_0x3b6273,_0x387b63]=_0x2896e7[_0x34f3e0(0x1f6)]('.');if(!_0x3b6273||!_0x387b63)return{'valid':!0x1,'reason':_0x34f3e0(0x222)};let _0x55e76c=P(_0x387b63),_0x417823=new TextEncoder()[_0x34f3e0(0x2d9)](_0x34f3e0(0x2ec)+_0x3b6273);if(!await G(_0x417823,_0x55e76c))return{'valid':!0x1,'reason':_0x34f3e0(0x200)};let _0x46987=P(_0x3b6273),_0x33300a=new TextDecoder()[_0x34f3e0(0x243)](_0x46987),_0x25b59a=JSON[_0x34f3e0(0x29f)](_0x33300a),_0x28ef31=new Date(_0x25b59a[_0x34f3e0(0x208)][_0x34f3e0(0x2f4)]),_0x81c70e=Date[_0x34f3e0(0x2c1)]();if(_0x81c70e>_0x28ef31[_0x34f3e0(0x292)]()){let _0x43c25b=_0x81c70e-_0x28ef31[_0x34f3e0(0x292)]();if(_0x43c25b<=0x90321000){let _0x3f2b51=Math[_0x34f3e0(0x213)]((0x90321000-_0x43c25b)/0x5265c00);if(_0x4300a9){let _0x2bfd0b=((_0x2f6de2=_0x25b59a[_0x34f3e0(0x29c)])==null?void 0x0:_0x2f6de2[_0x34f3e0(0x227)])||[];if(!W(_0x4300a9,_0x2bfd0b))return{'valid':!0x1,'reason':_0x34f3e0(0x1f9),'data':_0x25b59a};}return{'valid':!0x0,'data':_0x25b59a,'grace':!0x0,'graceDaysRemaining':_0x3f2b51};}return{'valid':!0x1,'reason':_0x34f3e0(0x2a3),'data':_0x25b59a};}if(_0x4300a9){let _0x4bb2c3=((_0x1b4566=_0x25b59a[_0x34f3e0(0x29c)])==null?void 0x0:_0x1b4566[_0x34f3e0(0x227)])||[];if(!W(_0x4300a9,_0x4bb2c3))return{'valid':!0x1,'reason':_0x34f3e0(0x1f9),'data':_0x25b59a};}return{'valid':!0x0,'data':_0x25b59a};}catch(_0x33e193){return{'valid':!0x1,'reason':_0x34f3e0(0x287)+(_0x33e193 instanceof Error?_0x33e193[_0x34f3e0(0x24d)]:_0x34f3e0(0x233))};}}async function G(_0x49d27e,_0x3a1d2e){const _0x11f3cf=_0x4ed9e2;try{let _0x42597e=H(B),_0x212553=await crypto[_0x11f3cf(0x236)][_0x11f3cf(0x25e)](_0x11f3cf(0x2f0),_0x42597e,{'name':_0x11f3cf(0x2a6),'namedCurve':_0x11f3cf(0x28c)},!0x1,[_0x11f3cf(0x251)]),_0x1c7ff5=z(_0x3a1d2e);return await crypto[_0x11f3cf(0x236)][_0x11f3cf(0x251)]({'name':_0x11f3cf(0x2a6),'hash':_0x11f3cf(0x25d)},_0x212553,_0x1c7ff5,_0x49d27e);}catch(_0x3adc99){return console[_0x11f3cf(0x27e)](_0x11f3cf(0x263),_0x3adc99),!0x1;}}function P(_0x14d592){const _0xb234a0=_0x4ed9e2;let _0x3b783a=_0x14d592[_0xb234a0(0x2a7)](/-/g,'+')[_0xb234a0(0x2a7)](/_/g,'/'),_0x526084=_0x3b783a[_0xb234a0(0x27d)]%0x4;return _0x526084&&(_0x3b783a+='='[_0xb234a0(0x28b)](0x4-_0x526084)),H(_0x3b783a);}function z(_0x169d80){const _0x10ca4e=_0x4ed9e2;let _0x43f9f1=0x2;if(_0x169d80[0x0]!==0x30)return _0x169d80;_0x43f9f1++;let _0x491988=_0x169d80[_0x43f9f1++],_0x4e0882=_0x169d80[_0x10ca4e(0x2ca)](_0x43f9f1,_0x43f9f1+_0x491988);_0x43f9f1+=_0x491988,_0x43f9f1++;let _0x3a2fed=_0x169d80[_0x43f9f1++],_0x12ba71=_0x169d80[_0x10ca4e(0x2ca)](_0x43f9f1,_0x43f9f1+_0x3a2fed),_0xb16777=new Uint8Array(0x40);return _0xb16777[_0x10ca4e(0x27a)](_0x4e0882[_0x10ca4e(0x27d)]>0x20?_0x4e0882[_0x10ca4e(0x2ca)](_0x4e0882[_0x10ca4e(0x27d)]-0x20):_0x4e0882,0x20-Math[_0x10ca4e(0x27b)](_0x4e0882[_0x10ca4e(0x27d)],0x20)),_0xb16777[_0x10ca4e(0x27a)](_0x12ba71[_0x10ca4e(0x27d)]>0x20?_0x12ba71[_0x10ca4e(0x2ca)](_0x12ba71[_0x10ca4e(0x27d)]-0x20):_0x12ba71,0x40-Math[_0x10ca4e(0x27b)](_0x12ba71[_0x10ca4e(0x27d)],0x20)),_0xb16777;}function H(_0x1fc809){const _0x121e40=_0x4ed9e2;let _0x247ee1=atob(_0x1fc809),_0x42d831=new Uint8Array(_0x247ee1[_0x121e40(0x27d)]);for(let _0x535f09=0x0;_0x535f09<_0x247ee1[_0x121e40(0x27d)];_0x535f09++)_0x42d831[_0x535f09]=_0x247ee1[_0x121e40(0x20d)](_0x535f09);return _0x42d831;}function I(_0x65a871){const _0x3e879b=_0x4ed9e2;let _0x38b022=_0x65a871[_0x3e879b(0x278)]();return _0x38b022===_0x3e879b(0x27f)||_0x38b022===_0x3e879b(0x2d8)||_0x38b022===_0x3e879b(0x2e3)||_0x38b022===_0x3e879b(0x21f)||_0x38b022===_0x3e879b(0x2b9)||_0x38b022[_0x3e879b(0x24c)](_0x3e879b(0x226))||_0x38b022[_0x3e879b(0x24c)](_0x3e879b(0x241));}function W(_0x3f223d,_0x6f0c11){const _0x313cc9=_0x4ed9e2;let _0x6af209=_0x3f223d[_0x313cc9(0x278)]()[_0x313cc9(0x1f6)](':')[0x0];if(I(_0x6af209))return!0x0;for(let _0x10991c of _0x6f0c11){let _0x1fa7c4=_0x10991c[_0x313cc9(0x278)]();if(_0x1fa7c4==='*'||_0x1fa7c4===_0x6af209)return!0x0;if(_0x1fa7c4[_0x313cc9(0x228)]('*.')){let _0x292bb3=_0x1fa7c4[_0x313cc9(0x2ca)](0x2);if(_0x6af209===_0x292bb3||_0x6af209[_0x313cc9(0x24c)]('.'+_0x292bb3))return!0x0;}if(_0x6af209[_0x313cc9(0x24c)]('.'+_0x1fa7c4))return!0x0;}return!0x1;}var S=new Map(),Y=0x1388;async function N(_0x1f42d5,_0x3f7e1a,_0x4494ac=Y){const _0x23537b=_0x4ed9e2;var _0x5e9c23;let _0xbc5227=_0x1f42d5+':'+(_0x3f7e1a||'');if(S[_0x23537b(0x2c6)](_0xbc5227)){let _0x5d6a55=S[_0x23537b(0x26f)](_0xbc5227);if(_0x5d6a55[_0x23537b(0x22e)]&&((_0x5e9c23=_0x5d6a55[_0x23537b(0x1ff)])!=null&&_0x5e9c23[_0x23537b(0x208)][_0x23537b(0x2f4)])){let _0x470817=new Date(_0x5d6a55[_0x23537b(0x1ff)][_0x23537b(0x208)][_0x23537b(0x2f4)]),_0x536836=Date[_0x23537b(0x2c1)]()-_0x470817[_0x23537b(0x292)]();if(_0x536836<=0x0)return _0x5d6a55;if(_0x536836>0x90321000){let _0x178c3f={'valid':!0x1,'reason':_0x23537b(0x2a3),'data':_0x5d6a55[_0x23537b(0x1ff)]};return S[_0x23537b(0x27a)](_0xbc5227,_0x178c3f),_0x178c3f;}S[_0x23537b(0x237)](_0xbc5227);}else return _0x5d6a55;}let _0x5540b9=await Promise[_0x23537b(0x2dd)]([$(_0x1f42d5,_0x3f7e1a),new Promise((_0x289382,_0x3e81ce)=>setTimeout(()=>_0x3e81ce(new Error(_0x23537b(0x206))),_0x4494ac))])[_0x23537b(0x232)](_0x7f8a2d=>({'valid':!0x1,'reason':_0x23537b(0x2bf)+_0x7f8a2d[_0x23537b(0x24d)]}));return S[_0x23537b(0x27a)](_0xbc5227,_0x5540b9),_0x5540b9;}var h=new WeakMap();function U(){const _0x2a62b0=_0x4ed9e2;return typeof window<'u'&&window[_0x2a62b0(0x2e5)]?window[_0x2a62b0(0x2e5)][_0x2a62b0(0x203)]:null;}function c(_0x5d8e77,_0x339879,_0x53150d){const _0x5d6fa4=_0x4ed9e2;C?C[_0x5d6fa4(0x274)](_0x5d8e77,_0x339879,_0x53150d):_0x5d8e77[_0x5d6fa4(0x264)](_0x339879,_0x53150d);}function _(_0x4082ab,_0x2bf7fc){return(D??setTimeout)(_0x4082ab,_0x2bf7fc);}function Q(_0x538585,_0x55b04e){return(V??setInterval)(_0x538585,_0x55b04e);}function q(_0x4ccc6d){(A??clearInterval)(_0x4ccc6d);}function F(){const _0x227972=_0x4ed9e2;return L?L():typeof document<'u'?document[_0x227972(0x26e)]():!0x0;}function Z(){const _0x2a3a20=_0x4ed9e2;return M?M():typeof window<'u'?window[_0x2a3a20(0x281)]():null;}function _0x5cf8(_0x11bc6c,_0x51472d){_0x11bc6c=_0x11bc6c-0x1f4;const _0x2682c0=_0x2682();let _0x5cf880=_0x2682c0[_0x11bc6c];if(_0x5cf8['ylwPww']===undefined){var _0x402c21=function(_0x2ed709){const _0x177eb4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x358960='',_0x10c79d='';for(let _0x2b1ba2=0x0,_0x4300a9,_0x2f6de2,_0x1b4566=0x0;_0x2f6de2=_0x2ed709['charAt'](_0x1b4566++);~_0x2f6de2&&(_0x4300a9=_0x2b1ba2%0x4?_0x4300a9*0x40+_0x2f6de2:_0x2f6de2,_0x2b1ba2++%0x4)?_0x358960+=String['fromCharCode'](0xff&_0x4300a9>>(-0x2*_0x2b1ba2&0x6)):0x0){_0x2f6de2=_0x177eb4['indexOf'](_0x2f6de2);}for(let _0x2896e7=0x0,_0x3b6273=_0x358960['length'];_0x2896e7<_0x3b6273;_0x2896e7++){_0x10c79d+='%'+('00'+_0x358960['charCodeAt'](_0x2896e7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10c79d);};_0x5cf8['hYgKgP']=_0x402c21,_0x5cf8['sMGjOT']={},_0x5cf8['ylwPww']=!![];}const _0x23fda4=_0x2682c0[0x0],_0x32ad92=_0x11bc6c+_0x23fda4,_0x43af60=_0x5cf8['sMGjOT'][_0x32ad92];return!_0x43af60?(_0x5cf880=_0x5cf8['hYgKgP'](_0x5cf880),_0x5cf8['sMGjOT'][_0x32ad92]=_0x5cf880):_0x5cf880=_0x43af60,_0x5cf880;}var w=class{constructor(_0x45790b){const _0x1337ff=_0x4ed9e2;this[_0x1337ff(0x2c7)]=[],this[_0x1337ff(0x2be)]=[],this[_0x1337ff(0x294)]=[],this[_0x1337ff(0x25f)]=[],this[_0x1337ff(0x2bb)]=[],this[_0x1337ff(0x260)]=new Map(),this[_0x1337ff(0x202)]=0x0,this[_0x1337ff(0x2ab)]=0x0,this[_0x1337ff(0x2d0)]=0x0,this[_0x1337ff(0x25a)]=0x0,this[_0x1337ff(0x298)]=new Map(),this[_0x1337ff(0x212)]=0x0,this[_0x1337ff(0x2b6)]=null,this[_0x1337ff(0x2f5)]=0x0,this[_0x1337ff(0x23e)]=0x0,this[_0x1337ff(0x2cf)]=0x96,this[_0x1337ff(0x254)]=0x3e8,this[_0x1337ff(0x2ef)]=new Set([_0x1337ff(0x2dc),_0x1337ff(0x246),_0x1337ff(0x2b3),_0x1337ff(0x2cb)]),this['e']=[],this['t']=new Map(),h[_0x1337ff(0x27a)](this,{'recording':!0x1,'licenseValid':!0x1,'licenseValidated':!0x1,'targetDetached':!0x1,'mutationObserver':null,'selectionChangeInterval':null,'unlicensed':!0x1,'graceExpiry':!0x1,'graceDaysRemaining':0x0});let _0xe1c2fa=(_0x3eac82=>typeof _0x3eac82==_0x1337ff(0x218)&&_0x3eac82!==null&&_0x1337ff(0x244)in _0x3eac82&&_0x1337ff(0x264)in _0x3eac82)(_0x45790b)?{'target':_0x45790b}:_0x45790b;if(this[_0x1337ff(0x27c)]=_0xe1c2fa[_0x1337ff(0x27c)],this[_0x1337ff(0x208)]=_0xe1c2fa[_0x1337ff(0x208)],this[_0x1337ff(0x216)]=_0xe1c2fa[_0x1337ff(0x216)],this[_0x1337ff(0x25c)]=_0xe1c2fa[_0x1337ff(0x25c)],this[_0x1337ff(0x225)]=_0xe1c2fa[_0x1337ff(0x29c)],this[_0x1337ff(0x26b)]=this[_0x1337ff(0x27c)][_0x1337ff(0x244)][_0x1337ff(0x278)](),this[_0x1337ff(0x208)])this[_0x1337ff(0x231)]();else{let _0x302e28=U(),_0x3871dd=h[_0x1337ff(0x26f)](this);_0x3871dd[_0x1337ff(0x271)]=!0x0,_0x3871dd[_0x1337ff(0x250)]=!0x0,_0x302e28!==null&&!I(_0x302e28)&&(_0x3871dd[_0x1337ff(0x21e)]=!0x0,console[_0x1337ff(0x27e)](_0x1337ff(0x207)));}this[_0x1337ff(0x2f3)](),this[_0x1337ff(0x288)](),K(this);}async[_0x4ed9e2(0x231)](){const _0x49067a=_0x4ed9e2;let _0x41c033=h[_0x49067a(0x26f)](this);if(!this[_0x49067a(0x208)]){_0x41c033[_0x49067a(0x271)]=!0x0,_0x41c033[_0x49067a(0x250)]=!0x0;return;}try{let _0x357294=U();if(_0x357294===null){console[_0x49067a(0x27e)](_0x49067a(0x257)),_0x41c033[_0x49067a(0x271)]=!0x1,_0x41c033[_0x49067a(0x250)]=!0x0;return;}let _0x641da8=await N(this[_0x49067a(0x208)],_0x357294);_0x41c033[_0x49067a(0x271)]=_0x641da8[_0x49067a(0x22e)],_0x41c033[_0x49067a(0x250)]=!0x0,_0x641da8[_0x49067a(0x259)]?(_0x41c033[_0x49067a(0x215)]=!0x0,_0x41c033[_0x49067a(0x28e)]=_0x641da8[_0x49067a(0x28e)]??0x0,console[_0x49067a(0x27e)](_0x49067a(0x2aa)+_0x41c033[_0x49067a(0x28e)]+_0x49067a(0x2f7)+(_0x41c033[_0x49067a(0x28e)]!==0x1?'s':'')+_0x49067a(0x22f))):_0x641da8[_0x49067a(0x22e)]||(_0x641da8[_0x49067a(0x21c)]===_0x49067a(0x2a3)?console[_0x49067a(0x27e)](_0x49067a(0x2e0)):console[_0x49067a(0x27e)](_0x49067a(0x24b)+_0x641da8[_0x49067a(0x21c)]));}catch(_0x48c56a){console[_0x49067a(0x27e)](_0x49067a(0x2ed),_0x48c56a),_0x41c033[_0x49067a(0x271)]=!0x1,_0x41c033[_0x49067a(0x250)]=!0x0;}}[_0x4ed9e2(0x2f3)](){const _0x372e45=_0x4ed9e2;c(this[_0x372e45(0x27c)],_0x372e45(0x297),_0xa04d4e=>this[_0x372e45(0x258)](_0xa04d4e)),c(this[_0x372e45(0x27c)],_0x372e45(0x230),_0x5b5bf4=>this[_0x372e45(0x2c8)](_0x5b5bf4)),c(this[_0x372e45(0x27c)],_0x372e45(0x2b7),()=>this[_0x372e45(0x295)]()),c(this[_0x372e45(0x27c)],_0x372e45(0x2b0),()=>this[_0x372e45(0x295)]()),c(this[_0x372e45(0x27c)],_0x372e45(0x29b),()=>this[_0x372e45(0x295)]()),c(window,_0x372e45(0x20b),()=>this[_0x372e45(0x299)](!0x0)),c(window,_0x372e45(0x2eb),()=>this[_0x372e45(0x299)](!0x1)),c(document,_0x372e45(0x2ae),()=>this[_0x372e45(0x26c)]()),c(this[_0x372e45(0x27c)],_0x372e45(0x249),_0x27e0c6=>this[_0x372e45(0x2da)](_0x27e0c6,_0x372e45(0x249))),c(this[_0x372e45(0x27c)],_0x372e45(0x1fd),_0x12f63c=>this[_0x372e45(0x2da)](_0x12f63c,_0x372e45(0x1fd))),c(this[_0x372e45(0x27c)],_0x372e45(0x262),_0x3e1cb5=>this[_0x372e45(0x2da)](_0x3e1cb5,_0x372e45(0x262))),c(this[_0x372e45(0x27c)],_0x372e45(0x2af),_0x4a886b=>this[_0x372e45(0x20c)](_0x4a886b)),c(this[_0x372e45(0x27c)],_0x372e45(0x238),_0x1197bd=>this[_0x372e45(0x2cc)](_0x1197bd,_0x372e45(0x201))),c(this[_0x372e45(0x27c)],_0x372e45(0x29b),()=>this[_0x372e45(0x240)]()),c(this[_0x372e45(0x27c)],_0x372e45(0x2a4),()=>this[_0x372e45(0x240)]()),c(this[_0x372e45(0x27c)],_0x372e45(0x22a),_0x1fb210=>this[_0x372e45(0x2cc)](_0x1fb210,_0x372e45(0x267)));try{c(document,_0x372e45(0x2d7),()=>this[_0x372e45(0x2bd)]());}catch{h[_0x372e45(0x26f)](this)[_0x372e45(0x2d3)]=Q(()=>this[_0x372e45(0x2bd)](),0xc8);}}[_0x4ed9e2(0x288)](){const _0x17efd3=_0x4ed9e2;let _0x3fbabb=this[_0x17efd3(0x27c)][_0x17efd3(0x2ad)];if(!_0x3fbabb||!R)return;let _0x358ba8=new R(_0x59a52d=>{const _0x204881=_0x17efd3;for(let _0x27db35 of _0x59a52d)for(let _0x50037e of _0x27db35[_0x204881(0x2e6)])if(_0x50037e===this[_0x204881(0x27c)]||_0x50037e[_0x204881(0x2c2)](this[_0x204881(0x27c)])){let _0x423a57=h[_0x204881(0x26f)](this);_0x423a57&&(_0x423a57[_0x204881(0x289)]=!0x0),this[_0x204881(0x21a)](),console[_0x204881(0x27e)](_0x204881(0x2cd));return;}});_0x358ba8[_0x17efd3(0x242)](_0x3fbabb,{'childList':!0x0}),h[_0x17efd3(0x26f)](this)[_0x17efd3(0x255)]=_0x358ba8;}[_0x4ed9e2(0x265)](){const _0xda3afa=_0x4ed9e2;let _0x2c5910=h[_0xda3afa(0x26f)](this);return _0x2c5910[_0xda3afa(0x1f7)]&&_0x2c5910[_0xda3afa(0x271)];}[_0x4ed9e2(0x258)](_0xd0fb71){const _0x1eb288=_0x4ed9e2;if(!this[_0x1eb288(0x265)]()||_0xd0fb71[_0x1eb288(0x27c)]!==this[_0x1eb288(0x27c)])return;let _0x512ee5=u();this[_0x1eb288(0x260)][_0x1eb288(0x27a)](_0xd0fb71[_0x1eb288(0x2f1)],_0x512ee5),this[_0x1eb288(0x2a8)](_0xd0fb71,_0x512ee5);let _0x2e6fb4=this[_0x1eb288(0x2d0)]>0x0?_0x512ee5-this[_0x1eb288(0x2d0)]:0x0,_0x1ad531={'key':_0xd0fb71[_0x1eb288(0x23a)],'code':_0xd0fb71[_0x1eb288(0x2f1)],'type':_0x1eb288(0x297),'timestamp':_0x512ee5,'flightTime':_0x2e6fb4,'isCorrection':this[_0x1eb288(0x2ef)][_0x1eb288(0x2c6)](_0xd0fb71[_0x1eb288(0x23a)]),'windowFocused':F(),'timeSinceLastMouse':_0x512ee5-this[_0x1eb288(0x202)],'isTrusted':_0xd0fb71[_0x1eb288(0x29a)]};this[_0x1eb288(0x2c7)][_0x1eb288(0x2a1)](g(_0x1ad531)),this[_0x1eb288(0x23e)]++;}[_0x4ed9e2(0x2c8)](_0x3be8d4){const _0x3ec945=_0x4ed9e2;if(!this[_0x3ec945(0x265)]()||_0x3be8d4[_0x3ec945(0x27c)]!==this[_0x3ec945(0x27c)])return;let _0x45eb98=u(),_0x32b74e=this[_0x3ec945(0x260)][_0x3ec945(0x26f)](_0x3be8d4[_0x3ec945(0x2f1)]);if(_0x32b74e){let _0x255ef1=_0x45eb98-_0x32b74e;this[_0x3ec945(0x260)][_0x3ec945(0x237)](_0x3be8d4[_0x3ec945(0x2f1)]);let _0x13bd05={'key':_0x3be8d4[_0x3ec945(0x23a)],'code':_0x3be8d4[_0x3ec945(0x2f1)],'type':_0x3ec945(0x230),'timestamp':_0x45eb98,'dwellTime':_0x255ef1,'windowFocused':F(),'timeSinceLastMouse':_0x45eb98-this[_0x3ec945(0x202)],'isTrusted':_0x3be8d4[_0x3ec945(0x29a)]};this[_0x3ec945(0x2c7)][_0x3ec945(0x2a1)](g(_0x13bd05)),this[_0x3ec945(0x2d0)]=_0x45eb98,this[_0x3ec945(0x286)](_0x3be8d4[_0x3ec945(0x23a)],_0x45eb98),this[_0x3ec945(0x25a)]=_0x45eb98;}}[_0x4ed9e2(0x295)](){const _0x1bebb7=_0x4ed9e2;this[_0x1bebb7(0x202)]=u();}[_0x4ed9e2(0x299)](_0x5b5a31){const _0x342b29=_0x4ed9e2;if(!this[_0x342b29(0x265)]())return;let _0xea5c98=u();this[_0x342b29(0x2c7)][_0x342b29(0x2a1)](g({'key':_0x5b5a31?_0x342b29(0x204):_0x342b29(0x285),'code':_0x5b5a31?_0x342b29(0x204):_0x342b29(0x285),'type':_0x342b29(0x297),'timestamp':_0xea5c98,'windowFocused':_0x5b5a31,'timeSinceLastMouse':_0xea5c98-this[_0x342b29(0x202)]}));}[_0x4ed9e2(0x2a8)](_0x2c2915,_0x580335){const _0xf075d8=_0x4ed9e2;let _0x21a6e6=this[_0xf075d8(0x2b5)](_0x2c2915);if((_0x2c2915[_0xf075d8(0x22c)]||_0x2c2915[_0xf075d8(0x276)])&&['c','v','x'][_0xf075d8(0x1fb)](_0x2c2915[_0xf075d8(0x23a)][_0xf075d8(0x278)]())){let _0xbab873=_0x2c2915[_0xf075d8(0x23a)][_0xf075d8(0x278)]()==='c'?_0xf075d8(0x262):_0x2c2915[_0xf075d8(0x23a)][_0xf075d8(0x278)]()==='v'?_0xf075d8(0x249):_0xf075d8(0x1fd);this[_0xf075d8(0x2be)][_0xf075d8(0x2a1)]({'type':_0xbab873,'timestamp':_0x580335,'position':this[_0xf075d8(0x211)](),'length':0x0,'shortcut':_0x21a6e6});}if((_0x2c2915[_0xf075d8(0x22c)]||_0x2c2915[_0xf075d8(0x276)])&&['z','y'][_0xf075d8(0x1fb)](_0x2c2915[_0xf075d8(0x23a)][_0xf075d8(0x278)]())){let _0x5e2f97=_0x2c2915[_0xf075d8(0x23a)][_0xf075d8(0x278)]()==='z'&&!_0x2c2915[_0xf075d8(0x2bc)]?_0xf075d8(0x2c4):_0xf075d8(0x2a2);this[_0xf075d8(0x294)][_0xf075d8(0x2a1)](g({'type':_0x5e2f97,'timestamp':_0x580335,'shortcut':_0x21a6e6,'beforeText':this[_0xf075d8(0x210)](),'afterText':''}));}}[_0x4ed9e2(0x2da)](_0x4a6100,_0x660cc0){const _0x20deb2=_0x4ed9e2;var _0x1d8ac2,_0x2535c0,_0x27f7ae;if(!this[_0x20deb2(0x265)]()||_0x4a6100[_0x20deb2(0x27c)]!==this[_0x20deb2(0x27c)])return;let _0xb5763=u(),_0x27446f='';if(_0x660cc0===_0x20deb2(0x249))try{_0x27446f=((_0x1d8ac2=_0x4a6100[_0x20deb2(0x2e4)])==null?void 0x0:_0x1d8ac2[_0x20deb2(0x280)](_0x20deb2(0x21d)))||((_0x2535c0=_0x4a6100[_0x20deb2(0x2e4)])==null?void 0x0:_0x2535c0[_0x20deb2(0x280)](_0x20deb2(0x1f5)))||'';}catch{_0x27446f='';}let _0x12fde6=this[_0x20deb2(0x210)](),_0x4aedc9=this[_0x20deb2(0x23c)]()?_0x20deb2(0x1fc):_0x20deb2(0x24a),_0x468403=_0x660cc0===_0x20deb2(0x249)?_0x4aedc9+'+V':_0x660cc0===_0x20deb2(0x262)?_0x4aedc9+'+C':_0x4aedc9+'+X',_0x56c36f={'type':_0x660cc0,'timestamp':_0xb5763,'position':this[_0x20deb2(0x211)](),'length':_0x27446f[_0x20deb2(0x27d)]||this[_0x20deb2(0x22d)](),'shortcut':_0x468403,'content':_0x660cc0===_0x20deb2(0x249)?_0x27446f:void 0x0,'beforeText':_0x12fde6,'replacedText':(_0x27f7ae=this[_0x20deb2(0x2b6)])==null?void 0x0:_0x27f7ae[_0x20deb2(0x21d)],'replacedRange':this[_0x20deb2(0x2b6)]?{'start':this[_0x20deb2(0x2b6)][_0x20deb2(0x28d)],'end':this[_0x20deb2(0x2b6)][_0x20deb2(0x20a)]}:void 0x0,'isTrusted':_0x4a6100[_0x20deb2(0x29a)]};_0x660cc0===_0x20deb2(0x249)&&_(()=>{const _0x446849=_0x20deb2;if(_0x56c36f[_0x446849(0x253)]=this[_0x446849(0x210)](),!_0x56c36f[_0x446849(0x273)]&&_0x12fde6&&_0x56c36f[_0x446849(0x253)]){let _0x15d7ff=this[_0x446849(0x211)](),_0x360781=_0x12fde6[_0x446849(0x27d)],_0x1e6f96=_0x56c36f[_0x446849(0x253)][_0x446849(0x27d)];if(_0x1e6f96>_0x360781){let _0xd4871d=_0x1e6f96-_0x360781,_0x56a2a5=_0x15d7ff-_0xd4871d;_0x56c36f[_0x446849(0x273)]=_0x56c36f[_0x446849(0x253)][_0x446849(0x28f)](_0x56a2a5,_0x15d7ff),_0x56c36f[_0x446849(0x27d)]=_0xd4871d;}}g(_0x56c36f);},0x0);let _0x57a88f;for(let _0x56dff2=this[_0x20deb2(0x2be)][_0x20deb2(0x27d)]-0x1;_0x56dff2>=0x0;_0x56dff2--){let _0x8e369c=this[_0x20deb2(0x2be)][_0x56dff2];if(_0x8e369c[_0x20deb2(0x2a5)]===_0x660cc0&&Math[_0x20deb2(0x266)](_0x8e369c[_0x20deb2(0x2ac)]-_0xb5763)<0x64){_0x57a88f=_0x8e369c;break;}}_0x57a88f?(_0x57a88f[_0x20deb2(0x27d)]=_0x27446f[_0x20deb2(0x27d)]||this[_0x20deb2(0x22d)](),_0x57a88f[_0x20deb2(0x273)]=_0x27446f||_0x57a88f[_0x20deb2(0x273)],g(_0x57a88f)):(_0x660cc0!==_0x20deb2(0x249)&&g(_0x56c36f),this[_0x20deb2(0x2be)][_0x20deb2(0x2a1)](_0x56c36f));}[_0x4ed9e2(0x2cc)](_0xec493,_0x40c14a){const _0x1d614a=_0x4ed9e2;if(!this[_0x1d614a(0x265)]()||_0x40c14a===_0x1d614a(0x201)&&_0xec493[_0x1d614a(0x27c)]!==this[_0x1d614a(0x27c)])return;let _0x3d05cd=this[_0x1d614a(0x281)]();if(!_0x3d05cd||_0x3d05cd[_0x1d614a(0x28d)]===_0x3d05cd[_0x1d614a(0x20a)])return;let _0x49e094={'type':_0x1d614a(0x238),'timestamp':u(),'startPosition':_0x3d05cd[_0x1d614a(0x28d)],'endPosition':_0x3d05cd[_0x1d614a(0x20a)],'selectedLength':_0x3d05cd[_0x1d614a(0x27d)],'selectedText':_0x3d05cd[_0x1d614a(0x21d)],'method':_0x40c14a,'isTrusted':_0xec493[_0x1d614a(0x29a)]};this[_0x1d614a(0x25f)][_0x1d614a(0x2a1)](g(_0x49e094)),this[_0x1d614a(0x2b6)]=_0x3d05cd;}[_0x4ed9e2(0x20c)](_0x35eea0){const _0x4c9049=_0x4ed9e2;if(!this[_0x4c9049(0x265)]()||_0x35eea0[_0x4c9049(0x27c)]!==this[_0x4c9049(0x27c)])return;let _0x5b7c9a=this[_0x4c9049(0x210)](),_0x41a1b6=_0x5b7c9a[_0x4c9049(0x27d)],_0x40c470=_0x41a1b6-this[_0x4c9049(0x2f5)];if(_0x40c470>0x0&&_0x40c470>this[_0x4c9049(0x23e)]){let _0xc46813=u(),_0x3e5181=_0x40c470-this[_0x4c9049(0x23e)],_0x232d49=this[_0x4c9049(0x211)](),_0x44ab36=_0x5b7c9a[_0x4c9049(0x28f)](_0x232d49-_0x3e5181,_0x232d49),_0x105c4d={'type':_0x4c9049(0x234),'timestamp':_0xc46813,'insertedText':_0x44ab36,'insertedLength':_0x3e5181,'position':_0x232d49,'isTrusted':_0x35eea0[_0x4c9049(0x29a)]};this[_0x4c9049(0x2bb)][_0x4c9049(0x2a1)](g(_0x105c4d));}this[_0x4c9049(0x2f5)]=_0x41a1b6,this[_0x4c9049(0x23e)]=0x0;}[_0x4ed9e2(0x240)](){const _0x205a2f=_0x4ed9e2;this[_0x205a2f(0x265)]()&&_(()=>{const _0x40b739=_0x205a2f;let _0x556e83=this[_0x40b739(0x281)]();_0x556e83&&_0x556e83[_0x40b739(0x28d)]!==_0x556e83[_0x40b739(0x20a)]&&this[_0x40b739(0x2cc)](new Event(_0x40b739(0x238)),_0x40b739(0x223));},0xa);}[_0x4ed9e2(0x2bd)](){const _0x48976a=_0x4ed9e2;if(!this[_0x48976a(0x265)]()||!document[_0x48976a(0x2e1)]||document[_0x48976a(0x2e1)]!==this[_0x48976a(0x27c)])return;let _0x29f4e4=this[_0x48976a(0x281)]();if(!_0x29f4e4||_0x29f4e4[_0x48976a(0x28d)]===_0x29f4e4[_0x48976a(0x20a)]){this[_0x48976a(0x2b6)]=null;return;}this[_0x48976a(0x2b6)]&&this[_0x48976a(0x2b6)][_0x48976a(0x28d)]===_0x29f4e4[_0x48976a(0x28d)]&&this[_0x48976a(0x2b6)][_0x48976a(0x20a)]===_0x29f4e4[_0x48976a(0x20a)]||this[_0x48976a(0x2cc)](new Event(_0x48976a(0x2d7)),_0x48976a(0x267));}[_0x4ed9e2(0x281)](){const _0x4d457c=_0x4ed9e2;try{if(this[_0x4d457c(0x27c)]instanceof HTMLInputElement||this[_0x4d457c(0x27c)]instanceof HTMLTextAreaElement){let _0x4ac1b8=this[_0x4d457c(0x27c)][_0x4d457c(0x291)]??0x0,_0x34b196=this[_0x4d457c(0x27c)][_0x4d457c(0x26a)]??0x0,_0x41e90d=this[_0x4d457c(0x27c)][_0x4d457c(0x2ba)][_0x4d457c(0x28f)](_0x4ac1b8,_0x34b196);return{'start':_0x4ac1b8,'end':_0x34b196,'length':_0x34b196-_0x4ac1b8,'text':_0x41e90d};}if(this[_0x4d457c(0x27c)]instanceof HTMLElement&&this[_0x4d457c(0x27c)][_0x4d457c(0x205)]){let _0x1fa3c3=Z();if(!_0x1fa3c3||_0x1fa3c3[_0x4d457c(0x29d)]===0x0)return null;let _0x5cc1a9=_0x1fa3c3[_0x4d457c(0x2e7)](0x0),_0x587d33=_0x5cc1a9[_0x4d457c(0x221)]();_0x587d33[_0x4d457c(0x22b)](this[_0x4d457c(0x27c)]),_0x587d33[_0x4d457c(0x24f)](_0x5cc1a9[_0x4d457c(0x2f6)],_0x5cc1a9[_0x4d457c(0x261)]);let _0x4f19e7=_0x587d33[_0x4d457c(0x272)]()[_0x4d457c(0x27d)],_0x152ee3=_0x4f19e7+_0x5cc1a9[_0x4d457c(0x272)]()[_0x4d457c(0x27d)],_0x22d11f=_0x5cc1a9[_0x4d457c(0x272)]();return{'start':_0x4f19e7,'end':_0x152ee3,'length':_0x152ee3-_0x4f19e7,'text':_0x22d11f};}}catch{}return null;}[_0x4ed9e2(0x22d)](){const _0x3dbc93=_0x4ed9e2;let _0x458803=this[_0x3dbc93(0x281)]();return _0x458803?_0x458803[_0x3dbc93(0x27d)]:0x0;}[_0x4ed9e2(0x26c)](){const _0x1b139e=_0x4ed9e2;if(!this[_0x1b139e(0x265)]())return;let _0x46f4ee=u(),_0x29d850=!document[_0x1b139e(0x2df)];if(_0x29d850&&this[_0x1b139e(0x212)]===0x0)this[_0x1b139e(0x212)]=_0x46f4ee;else{if(!_0x29d850&&this[_0x1b139e(0x212)]>0x0){let _0x5ccda0=_0x46f4ee-this[_0x1b139e(0x212)];this[_0x1b139e(0x212)]=0x0,this[_0x1b139e(0x2c7)][_0x1b139e(0x2a1)](g({'key':_0x1b139e(0x2b4),'code':_0x1b139e(0x2b4),'type':_0x1b139e(0x297),'timestamp':_0x46f4ee,'windowFocused':_0x29d850,'timeSinceLastMouse':_0x46f4ee-this[_0x1b139e(0x202)],'dwellTime':_0x5ccda0}));}}}[_0x4ed9e2(0x2b5)](_0x4dc12c){const _0xfeaf0c=_0x4ed9e2;let _0x501810=[];return _0x4dc12c[_0xfeaf0c(0x22c)]&&_0x501810[_0xfeaf0c(0x2a1)](_0xfeaf0c(0x24a)),_0x4dc12c[_0xfeaf0c(0x2d6)]&&_0x501810[_0xfeaf0c(0x2a1)](_0xfeaf0c(0x2c3)),_0x4dc12c[_0xfeaf0c(0x2bc)]&&_0x501810[_0xfeaf0c(0x2a1)](_0xfeaf0c(0x2d1)),_0x4dc12c[_0xfeaf0c(0x276)]&&_0x501810[_0xfeaf0c(0x2a1)](_0xfeaf0c(0x2e9)),''+_0x501810[_0xfeaf0c(0x1fa)]('+')+(_0x501810[_0xfeaf0c(0x27d)]>0x0?'+':'')+_0x4dc12c[_0xfeaf0c(0x23a)][_0xfeaf0c(0x256)]();}[_0x4ed9e2(0x211)](){const _0x304339=_0x4ed9e2;try{return(this[_0x304339(0x27c)]instanceof HTMLInputElement||this[_0x304339(0x27c)]instanceof HTMLTextAreaElement)&&this[_0x304339(0x27c)][_0x304339(0x291)]||0x0;}catch{return 0x0;}}[_0x4ed9e2(0x23c)](){const _0x1b2baa=_0x4ed9e2;var _0x18d087,_0x39f94f;try{let _0x56bd8c=(_0x18d087=navigator[_0x1b2baa(0x209)])==null?void 0x0:_0x18d087[_0x1b2baa(0x2c5)];if(_0x56bd8c)return _0x56bd8c[_0x1b2baa(0x256)]()[_0x1b2baa(0x1fe)](_0x1b2baa(0x24e))>=0x0;}catch{}return((_0x39f94f=navigator[_0x1b2baa(0x2c5)])==null?void 0x0:_0x39f94f[_0x1b2baa(0x256)]()[_0x1b2baa(0x1fe)](_0x1b2baa(0x24e)))>=0x0||!0x1;}[_0x4ed9e2(0x286)](_0x422aef,_0xe5fcd8){const _0x1a33c8=_0x4ed9e2;(_0x422aef[_0x1a33c8(0x27d)]===0x1||[_0x1a33c8(0x283),_0x1a33c8(0x29e),_0x1a33c8(0x2b8)][_0x1a33c8(0x1fb)](_0x422aef))&&(this[_0x1a33c8(0x298)][_0x1a33c8(0x2c6)](_0x422aef)||this[_0x1a33c8(0x298)][_0x1a33c8(0x27a)](_0x422aef,[]),this[_0x1a33c8(0x298)][_0x1a33c8(0x26f)](_0x422aef)[_0x1a33c8(0x2a1)](_0xe5fcd8));}[_0x4ed9e2(0x277)](){const _0x4fdf72=_0x4ed9e2;return h[_0x4fdf72(0x26f)](this)[_0x4fdf72(0x271)];}[_0x4ed9e2(0x268)](){const _0x584be5=_0x4ed9e2;return h[_0x584be5(0x26f)](this)[_0x584be5(0x250)];}[_0x4ed9e2(0x293)](){const _0x425d0c=_0x4ed9e2;var _0x3c20a8;return((_0x3c20a8=h[_0x425d0c(0x26f)](this))==null?void 0x0:_0x3c20a8[_0x425d0c(0x289)])??!0x1;}[_0x4ed9e2(0x28d)](){const _0x162b61=_0x4ed9e2;let _0x2787fb=h[_0x162b61(0x26f)](this);if(!_0x2787fb[_0x162b61(0x271)]){console[_0x162b61(0x27e)](_0x162b61(0x2d4));return;}this[_0x162b61(0x2c7)]=[],this[_0x162b61(0x2be)]=[],this[_0x162b61(0x294)]=[],this[_0x162b61(0x25f)]=[],this[_0x162b61(0x2bb)]=[],this[_0x162b61(0x2f5)]=this[_0x162b61(0x210)]()[_0x162b61(0x27d)],this[_0x162b61(0x23e)]=0x0,this[_0x162b61(0x260)][_0x162b61(0x219)](),_0x2787fb[_0x162b61(0x1f7)]=!0x0,this[_0x162b61(0x2ab)]=u(),this[_0x162b61(0x2d0)]=0x0,this[_0x162b61(0x212)]=0x0,this[_0x162b61(0x2b6)]=null;}[_0x4ed9e2(0x21a)](){const _0xbd4771=_0x4ed9e2;let _0x29e87f=h[_0xbd4771(0x26f)](this);_0x29e87f[_0xbd4771(0x1f7)]=!0x1,this[_0xbd4771(0x260)][_0xbd4771(0x219)](),_0x29e87f[_0xbd4771(0x2d3)]!==null&&(q(_0x29e87f[_0xbd4771(0x2d3)]),_0x29e87f[_0xbd4771(0x2d3)]=null),_0x29e87f[_0xbd4771(0x255)]&&(_0x29e87f[_0xbd4771(0x255)][_0xbd4771(0x28a)](),_0x29e87f[_0xbd4771(0x255)]=null);}[_0x4ed9e2(0x20f)](_0x43094f){const _0x2ee7c5=_0x4ed9e2;return this['e'][_0x2ee7c5(0x2a1)](_0x43094f),this;}['on'](_0x180d77,_0x460c82){const _0x11d6cf=_0x4ed9e2;let _0xe456ad=this['t'][_0x11d6cf(0x26f)](_0x180d77)||[];return _0xe456ad[_0x11d6cf(0x2a1)](_0x460c82),this['t'][_0x11d6cf(0x27a)](_0x180d77,_0xe456ad),this;}['n'](_0x433507,..._0x316e1e){const _0x51e46a=_0x4ed9e2;let _0x172b31=this['t'][_0x51e46a(0x26f)](_0x433507);if(_0x172b31){for(let _0x3219ff of _0x172b31)_0x3219ff(..._0x316e1e);}}['r'](_0x365ee7){const _0x3ad6b3=_0x4ed9e2;for(let _0xe3f952 of this['e'])_0xe3f952[_0x3ad6b3(0x282)](_0x365ee7)[_0x3ad6b3(0x232)](_0x5549b9=>{const _0x1d8307=_0x3ad6b3;this['n'](_0x1d8307(0x2ce),_0x5549b9,_0xe3f952);});}[_0x4ed9e2(0x229)](){const _0x48fea2=_0x4ed9e2;return[...this[_0x48fea2(0x2c7)]];}[_0x4ed9e2(0x25b)](){const _0x24ce4b=_0x4ed9e2;return[...this[_0x24ce4b(0x2be)]];}[_0x4ed9e2(0x217)](){const _0x5a10c2=_0x4ed9e2;return[...this[_0x5a10c2(0x294)]];}[_0x4ed9e2(0x2d5)](){const _0x58ee5=_0x4ed9e2;return[...this[_0x58ee5(0x25f)]];}[_0x4ed9e2(0x2a0)](){const _0x1e787c=_0x4ed9e2;return[...this[_0x1e787c(0x2bb)]];}[_0x4ed9e2(0x239)](){const _0x492a50=_0x4ed9e2;return this[_0x492a50(0x2ab)]>0x0?u()-this[_0x492a50(0x2ab)]:0x0;}[_0x4ed9e2(0x2e2)](){const _0x6b0e43=_0x4ed9e2;return this[_0x6b0e43(0x2c7)][_0x6b0e43(0x2e8)](_0xd9c563=>_0xd9c563[_0x6b0e43(0x2a5)]===_0x6b0e43(0x297))[_0x6b0e43(0x27d)];}[_0x4ed9e2(0x210)](){const _0x311538=_0x4ed9e2;try{return this[_0x311538(0x27c)]instanceof HTMLInputElement||this[_0x311538(0x27c)]instanceof HTMLTextAreaElement?this[_0x311538(0x27c)][_0x311538(0x2ba)]||'':this[_0x311538(0x27c)][_0x311538(0x290)]||'';}catch{return'';}}[_0x4ed9e2(0x280)](){const _0x17f816=_0x4ed9e2;let _0x4a179c=u(),_0x1cfe6d=this[_0x17f816(0x2ab)]>0x0?_0x4a179c-this[_0x17f816(0x2ab)]:0x0,_0x10d99d={'events':[...this[_0x17f816(0x2c7)]],'clipboardEvents':[...this[_0x17f816(0x2be)]],'undoRedoEvents':[...this[_0x17f816(0x294)]],'selectionEvents':[...this[_0x17f816(0x25f)]],'autocompleteEvents':[...this[_0x17f816(0x2bb)]],'rawText':this[_0x17f816(0x210)](),'sessionStartTime':this[_0x17f816(0x2ab)],'sessionEndTime':_0x4a179c},_0x449ffc=J(_0x10d99d,_0x1cfe6d),_0xac69aa={'version':x,'metadata':{'tool':{'name':_0x17f816(0x275),'version':x},'targetElement':this[_0x17f816(0x27c)][_0x17f816(0x244)][_0x17f816(0x278)](),'timestamp':new Date()[_0x17f816(0x247)](),'duration':_0x1cfe6d,...this[_0x17f816(0x216)]!==void 0x0&&{'userId':this[_0x17f816(0x216)]},...this[_0x17f816(0x25c)]!==void 0x0&&{'contentId':this[_0x17f816(0x25c)]},...this[_0x17f816(0x225)]!==void 0x0&&{'custom':this[_0x17f816(0x225)]}},'session':_0x10d99d,'quality':_0x449ffc},_0x27b60d=h[_0x17f816(0x26f)](this);return _0x27b60d!=null&&_0x27b60d[_0x17f816(0x21e)]&&(_0xac69aa[_0x17f816(0x21e)]=!0x0),this['e'][_0x17f816(0x27d)]>0x0&&this['r'](_0xac69aa),_0xac69aa;}};function J(_0x5cd2cb,_0x49cf46){const _0x71e053=_0x4ed9e2;let _0x28cb53=_0x5cd2cb[_0x71e053(0x235)][_0x71e053(0x27d)],_0x319887=_0x28cb53>0x0,_0x5cb075=_0x5cd2cb[_0x71e053(0x2f2)][_0x71e053(0x27d)]>0x0,_0x1df613=!0x0;for(let _0x3b2858=0x1;_0x3b2858<_0x5cd2cb[_0x71e053(0x235)][_0x71e053(0x27d)];_0x3b2858++)if(_0x5cd2cb[_0x71e053(0x235)][_0x3b2858][_0x71e053(0x2ac)]<_0x5cd2cb[_0x71e053(0x235)][_0x3b2858-0x1][_0x71e053(0x2ac)]){_0x1df613=!0x1;break;}let _0x2c1505=_0x49cf46>0x0&&_0x5cd2cb[_0x71e053(0x2ab)]>0x0,_0x421d7a=[_0x319887,_0x5cb075,_0x2c1505,_0x49cf46>0x3e8][_0x71e053(0x2e8)](Boolean)[_0x71e053(0x27d)]/0x4,_0x1e0c7c=[];_0x319887||_0x1e0c7c[_0x71e053(0x2a1)](_0x71e053(0x2b2)),_0x5cb075||_0x1e0c7c[_0x71e053(0x2a1)](_0x71e053(0x23f)),_0x1df613||_0x1e0c7c[_0x71e053(0x2a1)](_0x71e053(0x269)),_0x49cf46<0x3e8&&_0x1e0c7c[_0x71e053(0x2a1)](_0x71e053(0x220));let _0xf5aba8=Math[_0x71e053(0x214)](0x0,Math[_0x71e053(0x27b)](0x1,(_0x421d7a+(_0x1df613?0.5:0x0)+(_0x2c1505?0.5:0x0))/0x2)),_0x49f1ef=_0xf5aba8>=0.9?_0x71e053(0x2ea):_0xf5aba8>=0.7?_0x71e053(0x2c9):_0xf5aba8>=0.4?_0x71e053(0x2d2):_0x71e053(0x23d);return{'overallScore':_0xf5aba8,'completeness':_0x421d7a,'sequenceValid':_0x1df613,'timingValid':_0x2c1505,'sessionDuration':_0x49cf46,'eventCount':_0x28cb53,'qualityLevel':_0x49f1ef,'issues':_0x1e0c7c,'validatedAt':new Date()[_0x71e053(0x247)]()};}g(w[_0x4ed9e2(0x284)]);export{w as WriteTrack,w as default,u as getHighResolutionTime};
@@ -0,0 +1 @@
1
+ function m(r){let{url:n,headers:o={},retries:t=0,keepalive:e=!1}=r;return{async send(i){let s=null;for(let c=0;c<=t;c++){let a=await fetch(n,{method:"POST",headers:{"Content-Type":"application/json",...o},body:JSON.stringify(i),keepalive:e});if(a.ok)return;s=new Error(`Webhook failed: ${a.status} ${a.statusText}`)}throw s}}}function p(r){let{client:n,actionName:o="writetrack_session",tags:t={}}=r;return{async send(e){let i={...t,duration:e.metadata.duration,keystrokeCount:e.session.events.length,qualityLevel:e.quality.qualityLevel,targetElement:e.metadata.targetElement,schemaVersion:e.version};e.metadata.userId&&(i.userId=e.metadata.userId),e.metadata.contentId&&(i.contentId=e.metadata.contentId),e.metadata.custom&&(i.custom=e.metadata.custom),n.addAction(o,i)}}}function d(r){let{client:n,eventName:o="WriteTrack Session"}=r;return{async send(t){let e={duration:t.metadata.duration,keystrokeCount:t.session.events.length,qualityLevel:t.quality.qualityLevel,targetElement:t.metadata.targetElement,schemaVersion:t.version};t.metadata.userId&&(e.userId=t.metadata.userId),t.metadata.contentId&&(e.contentId=t.metadata.contentId),t.metadata.custom&&(e.custom=t.metadata.custom),n.track(o,e)}}}function u(r){let{tracer:n,spanName:o="writetrack.session"}=r;return{async send(t){let e=n.startSpan(o);try{e.setAttribute("writetrack.duration",t.metadata.duration),e.setAttribute("writetrack.keystroke_count",t.session.events.length),e.setAttribute("writetrack.quality_level",t.quality.qualityLevel),e.setAttribute("writetrack.target_element",t.metadata.targetElement),e.setAttribute("writetrack.schema_version",t.version),t.metadata.userId&&e.setAttribute("writetrack.user_id",t.metadata.userId),t.metadata.contentId&&e.setAttribute("writetrack.content_id",t.metadata.contentId),e.setStatus({code:1})}finally{e.end()}}}}export{p as datadog,u as opentelemetry,d as segment,m as webhook};
@@ -1,215 +1,22 @@
1
- /**
2
- * Raw Event Data Structures
3
- *
4
- * Defines the structure for raw input events collected during typing sessions.
5
- * This is the foundation layer containing unprocessed user interaction data.
6
- */
7
- /**
8
- * Raw session data containing all collected events
9
- */
10
- interface RawEventData {
11
- /** Primary keystroke events */
12
- events: KeystrokeEvent[];
13
- /** Clipboard operation events (optional) */
14
- clipboardEvents?: ClipboardEvent[];
15
- /** Undo/redo operation events (optional) */
16
- undoRedoEvents?: UndoRedoEvent[];
17
- /** Text selection events (optional) */
18
- selectionEvents?: SelectionEvent[];
19
- /** Final text that was typed */
20
- rawText: string;
21
- /** Session start time (unix timestamp) */
22
- sessionStartTime: number;
23
- /** Session end time (unix timestamp) */
24
- sessionEndTime: number;
25
- }
26
- /**
27
- * Individual keystroke event
28
- */
29
- interface KeystrokeEvent {
30
- /** Key identifier (character or key name) */
31
- key: string;
32
- /** Physical key code */
33
- code: string;
34
- /** Event type */
35
- type: 'keydown' | 'keyup';
36
- /** High-precision timestamp (performance.now()) */
37
- timestamp: number;
38
- /** Key hold duration (for keyup events) */
39
- dwellTime?: number;
40
- /** Time to next key press (for keydown events) */
41
- flightTime?: number;
42
- /** Whether this keystroke was part of a correction */
43
- isCorrection?: boolean;
44
- /** Whether this keystroke was part of a typing burst */
45
- isBurst?: boolean;
46
- /** Window focus state at time of keystroke */
47
- windowFocused: boolean;
48
- /** Time since last mouse interaction */
49
- timeSinceLastMouse: number;
50
- /** Character position in text at time of keystroke */
51
- cursorPosition?: number;
52
- /** Modifier key states */
53
- modifiers?: ModifierState;
54
- }
55
- /**
56
- * Modifier key states
57
- */
58
- interface ModifierState {
59
- ctrl: boolean;
60
- alt: boolean;
61
- shift: boolean;
62
- meta: boolean;
63
- }
64
- /**
65
- * Clipboard operation event
66
- */
67
- interface ClipboardEvent {
68
- /** Clipboard operation type */
69
- type: 'copy' | 'paste' | 'cut';
70
- /** Event timestamp */
71
- timestamp: number;
72
- /** Text position where operation occurred */
73
- position: number;
74
- /** Length of text affected */
75
- length: number;
76
- /** Keyboard shortcut used */
77
- shortcut: string;
78
- /** Actual clipboard content (optional for privacy) */
79
- content?: string;
80
- /** Text state before operation (optional) */
81
- beforeText?: string;
82
- /** Text state after operation (optional) */
83
- afterText?: string;
84
- /** Text that was replaced by paste (optional) */
85
- replacedText?: string;
86
- /** Range of text replaced by paste (optional) */
87
- replacedRange?: {
88
- start: number;
89
- end: number;
90
- };
91
- }
92
- /**
93
- * Text selection event
94
- */
95
- interface SelectionEvent {
96
- /** Event type */
97
- type: 'select';
98
- /** Event timestamp */
99
- timestamp: number;
100
- /** Start position of selection */
101
- startPosition: number;
102
- /** End position of selection */
103
- endPosition: number;
104
- /** Length of selected text */
105
- selectedLength: number;
106
- /** Selected text content (optional for privacy) */
107
- selectedText?: string;
108
- /** How the selection was made */
109
- method: 'mouse' | 'keyboard' | 'programmatic';
110
- }
111
- /**
112
- * Undo/Redo operation event
113
- */
114
- interface UndoRedoEvent {
115
- /** Operation type */
116
- type: 'undo' | 'redo';
117
- /** Event timestamp */
118
- timestamp: number;
119
- /** Keyboard shortcut used */
120
- shortcut: string;
121
- /** Text state before operation */
122
- beforeText: string;
123
- /** Text state after operation */
124
- afterText: string;
125
- }
126
-
127
- /**
128
- * Session Metadata Data Structures
129
- *
130
- * Defines metadata for the capture session context.
131
- */
132
- /**
133
- * Session metadata returned by getData()
134
- */
135
- interface SessionMetadata {
136
- /** Tool identification and version */
137
- tool: ToolInfo;
138
- /** Target element type (e.g., 'textarea', 'input', 'div') */
139
- targetElement: string;
140
- /** Collection timestamp (ISO8601) */
141
- timestamp: string;
142
- /** Session duration in milliseconds */
143
- duration: number;
144
- }
145
- /**
146
- * Tool identification
147
- */
148
- interface ToolInfo {
149
- /** Tool name */
150
- name: string;
151
- /** Tool version */
152
- version: string;
153
- /** Tool category (internal use — set by training pipeline, not capture SDK) */
154
- category?: 'human' | 'selenium' | 'playwright' | 'puppeteer' | 'cypress' | 'webdriverio' | 'other';
155
- }
156
-
157
- /**
158
- * WriteTrack Data Schema v2.0.0 - Main Schema Definition
159
- *
160
- * This is the unified, versioned schema for all WriteTrack data structures.
161
- * It provides a single source of truth for data formats across the entire system.
162
- */
163
-
164
- /**
165
- * Main WriteTrack Data Schema Interface
166
- * This is the top-level structure for all WriteTrack data exports
167
- */
168
- interface WriteTrackDataSchema {
169
- /** Schema version for compatibility and migration */
170
- version: '2.0.0';
171
- /** Session metadata */
172
- metadata: SessionMetadata;
173
- /** Raw session data (keystrokes, clipboard, selection events) */
174
- session: RawEventData;
175
- /** Data quality metrics and validation status */
176
- quality: DataQualityMetrics;
177
- /** True when data was captured without a valid license (production use) */
178
- unlicensed?: boolean;
179
- }
180
- /**
181
- * Data Quality Assessment
182
- */
183
- interface DataQualityMetrics {
184
- /** Overall data quality score (0-1) */
185
- overallScore: number;
186
- /** Data completeness percentage */
187
- completeness: number;
188
- /** Event sequence consistency validation */
189
- sequenceValid: boolean;
190
- /** Timing data integrity status */
191
- timingValid: boolean;
192
- /** Session duration in milliseconds */
193
- sessionDuration: number;
194
- /** Total number of events collected */
195
- eventCount: number;
196
- /** Quality assessment level */
197
- qualityLevel: 'POOR' | 'FAIR' | 'GOOD' | 'EXCELLENT';
198
- /** Quality issues identified */
199
- issues: string[];
200
- /** Validation timestamp */
201
- validatedAt: string;
202
- }
1
+ import { K as KeystrokeEvent, C as ClipboardEvent, U as UndoRedoEvent, S as SelectionEvent, A as AutocompleteEvent, W as WriteTrackSink, a as WriteTrackDataSchema } from './index-CsX25_QX.js';
2
+ export { D as DataQualityMetrics, e as DatadogClient, d as DatadogOptions, M as ModifierState, i as OTelSpan, h as OTelTracer, O as OpenTelemetryOptions, g as SegmentClient, f as SegmentOptions, b as SessionMetadata, c as WebhookOptions } from './index-CsX25_QX.js';
203
3
 
204
4
  interface WriteTrackOptions {
205
5
  target: HTMLElement;
206
6
  license?: string;
7
+ /** Opaque user identifier — included in getData() output as metadata.userId */
8
+ userId?: string;
9
+ /** Opaque content/document identifier — included in getData() output as metadata.contentId */
10
+ contentId?: string;
11
+ /** Arbitrary metadata — included in getData() output as metadata.custom */
12
+ metadata?: Record<string, unknown>;
207
13
  }
208
14
  declare class WriteTrack {
209
15
  protected keystrokeEvents: KeystrokeEvent[];
210
16
  protected clipboardEvents: ClipboardEvent[];
211
17
  protected undoRedoEvents: UndoRedoEvent[];
212
18
  protected selectionEvents: SelectionEvent[];
19
+ protected autocompleteEvents: AutocompleteEvent[];
213
20
  private pendingKeydowns;
214
21
  protected lastMouseActivity: number;
215
22
  protected sessionStartTime: number;
@@ -218,12 +25,19 @@ declare class WriteTrack {
218
25
  protected repeatedKeyTracker: Map<string, number[]>;
219
26
  private focusStartTime;
220
27
  private lastSelection;
28
+ private lastTextLength;
29
+ private keystrokesSinceLastInput;
221
30
  protected readonly BURST_THRESHOLD = 150;
222
31
  protected readonly PAUSE_THRESHOLD = 1000;
223
32
  protected readonly CORRECTION_KEYS: Set<string>;
224
33
  private readonly targetType;
225
34
  protected readonly target: HTMLElement;
226
35
  private readonly license?;
36
+ private readonly userId?;
37
+ private readonly contentId?;
38
+ private readonly userMetadata?;
39
+ private _sinks;
40
+ private _listeners;
227
41
  /**
228
42
  * Create a WriteTrack instance
229
43
  * @param optionsOrTarget - Either an HTMLElement (demo mode) or WriteTrackOptions object
@@ -244,6 +58,7 @@ declare class WriteTrack {
244
58
  private detectKeyboardShortcuts;
245
59
  private recordClipboardEvent;
246
60
  private recordSelection;
61
+ private detectAutocomplete;
247
62
  private checkSelectionAfterMouse;
248
63
  private recordSelectionChange;
249
64
  private getSelection;
@@ -267,10 +82,23 @@ declare class WriteTrack {
267
82
  isTargetDetached(): boolean;
268
83
  start(): void;
269
84
  stop(): void;
85
+ /**
86
+ * Register an output sink. Session data is sent to all registered sinks
87
+ * when getData() is called.
88
+ */
89
+ pipe(sink: WriteTrackSink): this;
90
+ /**
91
+ * Register an event listener.
92
+ * Supported events: 'pipe:error'
93
+ */
94
+ on(event: string, handler: (...args: unknown[]) => void): this;
95
+ private _emit;
96
+ private _dispatchToSinks;
270
97
  getRawEvents(): KeystrokeEvent[];
271
98
  getClipboardEvents(): ClipboardEvent[];
272
99
  getUndoRedoEvents(): UndoRedoEvent[];
273
100
  getSelectionEvents(): SelectionEvent[];
101
+ getAutocompleteEvents(): AutocompleteEvent[];
274
102
  getSessionDuration(): number;
275
103
  getKeystrokeCount(): number;
276
104
  getText(): string;
@@ -285,4 +113,4 @@ declare class WriteTrack {
285
113
  */
286
114
  declare function getHighResolutionTime(): number;
287
115
 
288
- export { type ClipboardEvent, type DataQualityMetrics, type KeystrokeEvent, type ModifierState, type SelectionEvent, type SessionMetadata, type UndoRedoEvent, WriteTrack, type WriteTrackDataSchema, type WriteTrackOptions, WriteTrack as default, getHighResolutionTime };
116
+ export { AutocompleteEvent, ClipboardEvent, KeystrokeEvent, SelectionEvent, UndoRedoEvent, WriteTrack, WriteTrackDataSchema, type WriteTrackOptions, WriteTrackSink, WriteTrack as default, getHighResolutionTime };