@ledgerhq/speculos-device-controller 0.0.0-develop-20260420165047 → 0.0.0-develop-20260422001917

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.
@@ -53,5 +53,5 @@
53
53
  "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
54
54
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
55
55
  },
56
- "version": "0.0.0-develop-20260420165047"
56
+ "version": "0.0.0-develop-20260422001917"
57
57
  }
@@ -1,2 +1,2 @@
1
- "use strict";var l=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var C=(n,o)=>{for(var i in o)l(n,i,{get:o[i],enumerable:!0})},g=(n,o,i,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of d(o))!y.call(n,t)&&t!==i&&l(n,t,{get:()=>o[t],enumerable:!(s=v(o,t))||s.enumerable});return n};var P=n=>g(l({},"__esModule",{value:!0}),n);var D={};C(D,{deviceControllerClientFactory:()=>B});module.exports=P(D);var p=require("../internal/config/defaultScreens"),u=require("../../src/internal/di"),c=require("../../src/internal/use-cases/buttonUseCases"),e=require("../../src/internal/use-cases/touchUseCases");const B=(n,o={})=>{const i={screens:o.screens??p.DEFAULT_SCREENS,timeoutMs:o.timeoutMs,clientHeader:o.clientHeader},{buttons:s,touch:t}=(0,u.createDefaultControllers)(n,i),a=(0,c.pressButtons)(s);return{buttonFactory:()=>({press:r=>s.press(r),left:()=>a.left(),right:()=>a.right(),both:()=>a.both(),pressSequence:(r,m)=>(0,c.pressSequence)(s,r,m)}),tapFactory:r=>({tapQuick:(0,e.tapQuick)(t,r),tapLong:(0,e.tapLong)(t,r),sign:(0,e.sign)(t,r),reject:(0,e.reject)(t,r),navigateNext:(0,e.navigateNext)(t,r),navigatePrevious:(0,e.navigatePrevious)(t,r),mainButton:(0,e.mainButton)(t,r),secondaryButton:(0,e.secondaryButton)(t,r)})}};0&&(module.exports={deviceControllerClientFactory});
1
+ "use strict";var l=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var B=(i,n)=>{for(var r in n)l(i,r,{get:n[r],enumerable:!0})},P=(i,n,r,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let t of m(n))!v.call(i,t)&&t!==r&&l(i,t,{get:()=>n[t],enumerable:!(s=g(n,t))||s.enumerable});return i};var C=i=>P(l({},"__esModule",{value:!0}),i);var y={};B(y,{deviceControllerClientFactory:()=>S});module.exports=C(y);var u=require("../internal/config/defaultScreens"),p=require("../../src/internal/di"),c=require("../../src/internal/use-cases/buttonUseCases"),e=require("../../src/internal/use-cases/touchUseCases");const S=(i,n={})=>{const r={screens:n.screens??u.DEFAULT_SCREENS,timeoutMs:n.timeoutMs,clientHeader:n.clientHeader},{buttons:s,touch:t}=(0,p.createDefaultControllers)(i,r),a=(0,c.pressButtons)(s);return{buttonFactory:()=>({press:o=>s.press(o),left:()=>a.left(),right:()=>a.right(),both:()=>a.both(),pressSequence:(o,d)=>(0,c.pressSequence)(s,o,d)}),tapFactory:o=>({tapQuick:(0,e.tapQuick)(t,o),tapLong:(0,e.tapLong)(t,o),sign:(0,e.sign)(t,o),reject:(0,e.reject)(t,o),navigateNext:(0,e.navigateNext)(t,o),navigatePrevious:(0,e.navigatePrevious)(t,o),mainButton:(0,e.mainButton)(t,o),secondaryButton:(0,e.secondaryButton)(t,o),enterMenu:(0,e.enterMenu)(t,o),exitMenu:(0,e.exitMenu)(t,o),enableBlindSigningSettings:(0,e.enableBlindSigningSettings)(t,o),continueToBlindSigning:(0,e.continueToBlindSigning)(t,o),acceptBlindSigning:(0,e.acceptBlindSigning)(t,o)})}};0&&(module.exports={deviceControllerClientFactory});
2
2
  //# sourceMappingURL=DeviceController.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceController.ts"],
4
- "sourcesContent": ["import { DEFAULT_SCREENS } from \"@internal/config/defaultScreens\";\nimport type { ButtonController } from \"@internal/core/ButtonController\";\nimport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n} from \"@internal/core/types\";\nimport { createDefaultControllers } from \"@root/src/internal/di\";\nimport {\n pressButtons,\n pressSequence,\n} from \"@root/src/internal/use-cases/buttonUseCases\";\nimport {\n mainButton,\n navigateNext,\n navigatePrevious,\n reject,\n secondaryButton,\n sign,\n tapLong,\n tapQuick,\n} from \"@root/src/internal/use-cases/touchUseCases\";\n\nexport type ButtonFactory = () => ButtonController & {\n left(): Promise<void>;\n right(): Promise<void>;\n both(): Promise<void>;\n pressSequence(keys: ButtonKey[], delayMs?: number): Promise<void>;\n};\n\nexport type TapFactory = (deviceKey: string) => {\n tapQuick: (point: PercentCoordinates) => Promise<void>;\n tapLong: (point: PercentCoordinates, delayMs?: number) => Promise<void>;\n sign: (delayMs?: number) => Promise<void>;\n reject: () => Promise<void>;\n navigateNext: () => Promise<void>;\n navigatePrevious: () => Promise<void>;\n mainButton: () => Promise<void>;\n secondaryButton: () => Promise<void>;\n};\n\nexport type DeviceControllerClientFactory = (\n baseURL: string,\n opts?: {\n timeoutMs?: number;\n clientHeader?: string;\n screens?: DeviceScreens<string>;\n },\n) => DeviceControllerClient;\n\nexport type DeviceControllerClient = {\n buttonFactory: ButtonFactory;\n tapFactory: TapFactory;\n};\n\nexport const deviceControllerClientFactory: DeviceControllerClientFactory = (\n baseURL,\n opts = {},\n) => {\n const resolved: DeviceControllerOptions = {\n screens: opts.screens ?? DEFAULT_SCREENS,\n timeoutMs: opts.timeoutMs,\n clientHeader: opts.clientHeader,\n };\n\n const { buttons, touch } = createDefaultControllers(baseURL, resolved);\n const press = pressButtons(buttons);\n\n return {\n buttonFactory: () => ({\n press: (key) => buttons.press(key),\n left: () => press.left(),\n right: () => press.right(),\n both: () => press.both(),\n pressSequence: (keys, delayMs) => pressSequence(buttons, keys, delayMs),\n }),\n tapFactory: (key) => ({\n tapQuick: tapQuick(touch, key),\n tapLong: tapLong(touch, key),\n sign: sign(touch, key),\n reject: reject(touch, key),\n navigateNext: navigateNext(touch, key),\n navigatePrevious: navigatePrevious(touch, key),\n mainButton: mainButton(touch, key),\n secondaryButton: secondaryButton(touch, key),\n }),\n };\n};\n\nexport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n};\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,2CAQhCC,EAAyC,iCACzCC,EAGO,uDACPC,EASO,sDAkCA,MAAML,EAA+D,CAC1EM,EACAC,EAAO,CAAC,IACL,CACH,MAAMC,EAAoC,CACxC,QAASD,EAAK,SAAW,kBACzB,UAAWA,EAAK,UAChB,aAAcA,EAAK,YACrB,EAEM,CAAE,QAAAE,EAAS,MAAAC,CAAM,KAAI,4BAAyBJ,EAASE,CAAQ,EAC/DG,KAAQ,gBAAaF,CAAO,EAElC,MAAO,CACL,cAAe,KAAO,CACpB,MAAQG,GAAQH,EAAQ,MAAMG,CAAG,EACjC,KAAM,IAAMD,EAAM,KAAK,EACvB,MAAO,IAAMA,EAAM,MAAM,EACzB,KAAM,IAAMA,EAAM,KAAK,EACvB,cAAe,CAACE,EAAMC,OAAY,iBAAcL,EAASI,EAAMC,CAAO,CACxE,GACA,WAAaF,IAAS,CACpB,YAAU,YAASF,EAAOE,CAAG,EAC7B,WAAS,WAAQF,EAAOE,CAAG,EAC3B,QAAM,QAAKF,EAAOE,CAAG,EACrB,UAAQ,UAAOF,EAAOE,CAAG,EACzB,gBAAc,gBAAaF,EAAOE,CAAG,EACrC,oBAAkB,oBAAiBF,EAAOE,CAAG,EAC7C,cAAY,cAAWF,EAAOE,CAAG,EACjC,mBAAiB,mBAAgBF,EAAOE,CAAG,CAC7C,EACF,CACF",
4
+ "sourcesContent": ["import { DEFAULT_SCREENS } from \"@internal/config/defaultScreens\";\nimport type { ButtonController } from \"@internal/core/ButtonController\";\nimport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n} from \"@internal/core/types\";\nimport { createDefaultControllers } from \"@root/src/internal/di\";\nimport {\n pressButtons,\n pressSequence,\n} from \"@root/src/internal/use-cases/buttonUseCases\";\nimport {\n acceptBlindSigning,\n continueToBlindSigning,\n enableBlindSigningSettings,\n enterMenu,\n exitMenu,\n mainButton,\n navigateNext,\n navigatePrevious,\n reject,\n secondaryButton,\n sign,\n tapLong,\n tapQuick,\n} from \"@root/src/internal/use-cases/touchUseCases\";\n\nexport type ButtonFactory = () => ButtonController & {\n left(): Promise<void>;\n right(): Promise<void>;\n both(): Promise<void>;\n pressSequence(keys: ButtonKey[], delayMs?: number): Promise<void>;\n};\n\nexport type TapFactory = (deviceKey: string) => {\n tapQuick: (point: PercentCoordinates) => Promise<void>;\n tapLong: (point: PercentCoordinates, delayMs?: number) => Promise<void>;\n sign: (delayMs?: number) => Promise<void>;\n reject: () => Promise<void>;\n navigateNext: () => Promise<void>;\n navigatePrevious: () => Promise<void>;\n mainButton: () => Promise<void>;\n secondaryButton: () => Promise<void>;\n enterMenu: () => Promise<void>;\n exitMenu: () => Promise<void>;\n enableBlindSigningSettings: () => Promise<void>;\n continueToBlindSigning: () => Promise<void>;\n acceptBlindSigning: () => Promise<void>;\n};\n\nexport type DeviceControllerClientFactory = (\n baseURL: string,\n opts?: {\n timeoutMs?: number;\n clientHeader?: string;\n screens?: DeviceScreens<string>;\n },\n) => DeviceControllerClient;\n\nexport type DeviceControllerClient = {\n buttonFactory: ButtonFactory;\n tapFactory: TapFactory;\n};\n\nexport const deviceControllerClientFactory: DeviceControllerClientFactory = (\n baseURL,\n opts = {},\n) => {\n const resolved: DeviceControllerOptions = {\n screens: opts.screens ?? DEFAULT_SCREENS,\n timeoutMs: opts.timeoutMs,\n clientHeader: opts.clientHeader,\n };\n\n const { buttons, touch } = createDefaultControllers(baseURL, resolved);\n const press = pressButtons(buttons);\n\n return {\n buttonFactory: () => ({\n press: (key) => buttons.press(key),\n left: () => press.left(),\n right: () => press.right(),\n both: () => press.both(),\n pressSequence: (keys, delayMs) => pressSequence(buttons, keys, delayMs),\n }),\n tapFactory: (key) => ({\n tapQuick: tapQuick(touch, key),\n tapLong: tapLong(touch, key),\n sign: sign(touch, key),\n reject: reject(touch, key),\n navigateNext: navigateNext(touch, key),\n navigatePrevious: navigatePrevious(touch, key),\n mainButton: mainButton(touch, key),\n secondaryButton: secondaryButton(touch, key),\n enterMenu: enterMenu(touch, key),\n exitMenu: exitMenu(touch, key),\n enableBlindSigningSettings: enableBlindSigningSettings(touch, key),\n continueToBlindSigning: continueToBlindSigning(touch, key),\n acceptBlindSigning: acceptBlindSigning(touch, key),\n }),\n };\n};\n\nexport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n};\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mCAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAgC,2CAQhCC,EAAyC,iCACzCC,EAGO,uDACPC,EAcO,sDAuCA,MAAML,EAA+D,CAC1EM,EACAC,EAAO,CAAC,IACL,CACH,MAAMC,EAAoC,CACxC,QAASD,EAAK,SAAW,kBACzB,UAAWA,EAAK,UAChB,aAAcA,EAAK,YACrB,EAEM,CAAE,QAAAE,EAAS,MAAAC,CAAM,KAAI,4BAAyBJ,EAASE,CAAQ,EAC/DG,KAAQ,gBAAaF,CAAO,EAElC,MAAO,CACL,cAAe,KAAO,CACpB,MAAQG,GAAQH,EAAQ,MAAMG,CAAG,EACjC,KAAM,IAAMD,EAAM,KAAK,EACvB,MAAO,IAAMA,EAAM,MAAM,EACzB,KAAM,IAAMA,EAAM,KAAK,EACvB,cAAe,CAACE,EAAMC,OAAY,iBAAcL,EAASI,EAAMC,CAAO,CACxE,GACA,WAAaF,IAAS,CACpB,YAAU,YAASF,EAAOE,CAAG,EAC7B,WAAS,WAAQF,EAAOE,CAAG,EAC3B,QAAM,QAAKF,EAAOE,CAAG,EACrB,UAAQ,UAAOF,EAAOE,CAAG,EACzB,gBAAc,gBAAaF,EAAOE,CAAG,EACrC,oBAAkB,oBAAiBF,EAAOE,CAAG,EAC7C,cAAY,cAAWF,EAAOE,CAAG,EACjC,mBAAiB,mBAAgBF,EAAOE,CAAG,EAC3C,aAAW,aAAUF,EAAOE,CAAG,EAC/B,YAAU,YAASF,EAAOE,CAAG,EAC7B,8BAA4B,8BAA2BF,EAAOE,CAAG,EACjE,0BAAwB,0BAAuBF,EAAOE,CAAG,EACzD,sBAAoB,sBAAmBF,EAAOE,CAAG,CACnD,EACF,CACF",
6
6
  "names": ["DeviceController_exports", "__export", "deviceControllerClientFactory", "__toCommonJS", "import_defaultScreens", "import_di", "import_buttonUseCases", "import_touchUseCases", "baseURL", "opts", "resolved", "buttons", "touch", "press", "key", "keys", "delayMs"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var s=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var n in t)s(e,n,{get:t[n],enumerable:!0})},p=(e,t,n,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of K(t))!l.call(e,o)&&o!==n&&s(e,o,{get:()=>t[o],enumerable:!(a=x(t,o))||a.enumerable});return e};var u=e=>p(s({},"__esModule",{value:!0}),e);var h={};y(h,{mainButton:()=>w,navigateNext:()=>C,navigatePrevious:()=>T,reject:()=>g,secondaryButton:()=>m,sign:()=>d,tapLong:()=>i,tapQuick:()=>r});module.exports=u(h);const c=5e3,i=(e,t)=>async(n,a=c)=>{await e.tap(t,n),await new Promise(o=>setTimeout(o,a)),await e.release(t,n)},r=(e,t)=>async n=>await e.tapAndRelease(t,n),d=(e,t)=>async(n=c)=>await i(e,t)({x:85,y:80},n),g=(e,t)=>async()=>await r(e,t)({x:20,y:90}),C=(e,t)=>async()=>await r(e,t)({x:90,y:90}),T=(e,t)=>async()=>await r(e,t)({x:45,y:90}),w=(e,t)=>async()=>await r(e,t)({x:50,y:80}),m=(e,t)=>async()=>await r(e,t)({x:50,y:90});0&&(module.exports={mainButton,navigateNext,navigatePrevious,reject,secondaryButton,sign,tapLong,tapQuick});
1
+ "use strict";var a=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var y=(n,t)=>{for(var e in t)a(n,e,{get:t[e],enumerable:!0})},g=(n,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of K(t))!l.call(n,r)&&r!==e&&a(n,r,{get:()=>t[r],enumerable:!(s=x(t,r))||s.enumerable});return n};var u=n=>g(a({},"__esModule",{value:!0}),n);var b={};y(b,{acceptBlindSigning:()=>M,continueToBlindSigning:()=>S,enableBlindSigningSettings:()=>B,enterMenu:()=>m,exitMenu:()=>P,mainButton:()=>w,navigateNext:()=>T,navigatePrevious:()=>C,reject:()=>d,secondaryButton:()=>h,sign:()=>p,tapLong:()=>c,tapQuick:()=>o});module.exports=u(b);const i=5e3,c=(n,t)=>async(e,s=i)=>{await n.tap(t,e),await new Promise(r=>setTimeout(r,s)),await n.release(t,e)},o=(n,t)=>async e=>await n.tapAndRelease(t,e),p=(n,t)=>async(e=i)=>await c(n,t)({x:85,y:80},e),d=(n,t)=>async()=>await o(n,t)({x:20,y:90}),T=(n,t)=>async()=>await o(n,t)({x:90,y:90}),C=(n,t)=>async()=>await o(n,t)({x:45,y:90}),w=(n,t)=>async()=>await o(n,t)({x:50,y:80}),h=(n,t)=>async()=>await o(n,t)({x:50,y:90}),m=(n,t)=>async()=>await o(n,t)({x:85,y:8}),P=(n,t)=>async()=>await o(n,t)({x:10,y:4}),B=(n,t)=>async()=>await o(n,t)({x:88,y:51}),S=(n,t)=>async()=>await o(n,t)({x:50,y:94}),M=(n,t)=>async()=>await o(n,t)({x:50,y:94});0&&(module.exports={acceptBlindSigning,continueToBlindSigning,enableBlindSigningSettings,enterMenu,exitMenu,mainButton,navigateNext,navigatePrevious,reject,secondaryButton,sign,tapLong,tapQuick});
2
2
  //# sourceMappingURL=touchUseCases.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/touchUseCases.ts"],
4
- "sourcesContent": ["import type { PercentCoordinates } from \"@internal/core/types\";\nimport { type TouchController } from \"@root/src/internal/core/TouchController\";\n\nconst TAP_LONG_TIME_MS = 5000;\n\nexport const tapLong =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates, delayMs: number = TAP_LONG_TIME_MS) => {\n await touch.tap(deviceKey, point);\n await new Promise((r) => setTimeout(r, delayMs));\n await touch.release(deviceKey, point);\n };\n\nexport const tapQuick =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates) =>\n await touch.tapAndRelease(deviceKey, point);\n\nexport const sign =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (delayMs: number = TAP_LONG_TIME_MS) =>\n await tapLong(touch, deviceKey)({ x: 85, y: 80 }, delayMs);\n\nexport const reject =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 20, y: 90 });\n\nexport const navigateNext =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 90, y: 90 });\n\nexport const navigatePrevious =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 45, y: 90 });\n\nexport const mainButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 80 });\n\nexport const secondaryButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 90 });\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,iBAAAC,EAAA,qBAAAC,EAAA,WAAAC,EAAA,oBAAAC,EAAA,SAAAC,EAAA,YAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAV,GAGA,MAAMW,EAAmB,IAEZH,EACX,CAAmBI,EAA2BC,IAC9C,MAAOC,EAA2BC,EAAkBJ,IAAqB,CACvE,MAAMC,EAAM,IAAIC,EAAWC,CAAK,EAChC,MAAM,IAAI,QAASE,GAAM,WAAWA,EAAGD,CAAO,CAAC,EAC/C,MAAMH,EAAM,QAAQC,EAAWC,CAAK,CACtC,EAEWL,EACX,CAAmBG,EAA2BC,IAC9C,MAAOC,GACL,MAAMF,EAAM,cAAcC,EAAWC,CAAK,EAEjCP,EACX,CAAmBK,EAA2BC,IAC9C,MAAOE,EAAkBJ,IACvB,MAAMH,EAAQI,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,EAAGE,CAAO,EAEhDV,EACX,CAAmBO,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCV,EACX,CAAmBS,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCT,EACX,CAAmBQ,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCX,EACX,CAAmBU,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCP,EACX,CAAmBM,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC",
6
- "names": ["touchUseCases_exports", "__export", "mainButton", "navigateNext", "navigatePrevious", "reject", "secondaryButton", "sign", "tapLong", "tapQuick", "__toCommonJS", "TAP_LONG_TIME_MS", "touch", "deviceKey", "point", "delayMs", "r"]
4
+ "sourcesContent": ["import type { PercentCoordinates } from \"@internal/core/types\";\nimport { type TouchController } from \"@root/src/internal/core/TouchController\";\n\nconst TAP_LONG_TIME_MS = 5000;\n\nexport const tapLong =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates, delayMs: number = TAP_LONG_TIME_MS) => {\n await touch.tap(deviceKey, point);\n await new Promise((r) => setTimeout(r, delayMs));\n await touch.release(deviceKey, point);\n };\n\nexport const tapQuick =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates) =>\n await touch.tapAndRelease(deviceKey, point);\n\nexport const sign =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (delayMs: number = TAP_LONG_TIME_MS) =>\n await tapLong(touch, deviceKey)({ x: 85, y: 80 }, delayMs);\n\nexport const reject =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 20, y: 90 });\n\nexport const navigateNext =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 90, y: 90 });\n\nexport const navigatePrevious =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 45, y: 90 });\n\nexport const mainButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 80 });\n\nexport const secondaryButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 90 });\n\nexport const enterMenu =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 85, y: 8 });\n\nexport const exitMenu =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 10, y: 4 });\n\nexport const enableBlindSigningSettings =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 88, y: 51 });\n\nexport const continueToBlindSigning =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 94 });\n\nexport const acceptBlindSigning =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 94 });\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,2BAAAC,EAAA,+BAAAC,EAAA,cAAAC,EAAA,aAAAC,EAAA,eAAAC,EAAA,iBAAAC,EAAA,qBAAAC,EAAA,WAAAC,EAAA,oBAAAC,EAAA,SAAAC,EAAA,YAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAf,GAGA,MAAMgB,EAAmB,IAEZH,EACX,CAAmBI,EAA2BC,IAC9C,MAAOC,EAA2BC,EAAkBJ,IAAqB,CACvE,MAAMC,EAAM,IAAIC,EAAWC,CAAK,EAChC,MAAM,IAAI,QAAS,GAAM,WAAW,EAAGC,CAAO,CAAC,EAC/C,MAAMH,EAAM,QAAQC,EAAWC,CAAK,CACtC,EAEWL,EACX,CAAmBG,EAA2BC,IAC9C,MAAOC,GACL,MAAMF,EAAM,cAAcC,EAAWC,CAAK,EAEjCP,EACX,CAAmBK,EAA2BC,IAC9C,MAAOE,EAAkBJ,IACvB,MAAMH,EAAQI,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,EAAGE,CAAO,EAEhDV,EACX,CAAmBO,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCV,EACX,CAAmBS,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCT,EACX,CAAmBQ,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCX,EACX,CAAmBU,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCP,EACX,CAAmBM,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCb,EACX,CAAmBY,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,CAAE,CAAC,EAEvCZ,EACX,CAAmBW,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,CAAE,CAAC,EAEvCd,EACX,CAAmBa,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCf,EACX,CAAmBc,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExChB,EACX,CAAmBe,EAA2BC,IAC9C,SACE,MAAMJ,EAASG,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC",
6
+ "names": ["touchUseCases_exports", "__export", "acceptBlindSigning", "continueToBlindSigning", "enableBlindSigningSettings", "enterMenu", "exitMenu", "mainButton", "navigateNext", "navigatePrevious", "reject", "secondaryButton", "sign", "tapLong", "tapQuick", "__toCommonJS", "TAP_LONG_TIME_MS", "touch", "deviceKey", "point", "delayMs"]
7
7
  }
@@ -53,5 +53,5 @@
53
53
  "watch:builds": "pnpm ldmk-tool watch --entryPoints index.ts,src/**/*.ts --tsconfig tsconfig.prod.json",
54
54
  "watch:types": "concurrently \"tsc --watch -p tsconfig.prod.json\" \"tsc-alias --watch -p tsconfig.prod.json\""
55
55
  },
56
- "version": "0.0.0-develop-20260420165047"
56
+ "version": "0.0.0-develop-20260422001917"
57
57
  }
@@ -1,2 +1,2 @@
1
- import{DEFAULT_SCREENS as a}from"../internal/config/defaultScreens";import{createDefaultControllers as l}from"../../src/internal/di";import{pressButtons as p,pressSequence as u}from"../../src/internal/use-cases/buttonUseCases";import{mainButton as m,navigateNext as v,navigatePrevious as d,reject as y,secondaryButton as C,sign as g,tapLong as P,tapQuick as B}from"../../src/internal/use-cases/touchUseCases";const x=(i,o={})=>{const s={screens:o.screens??a,timeoutMs:o.timeoutMs,clientHeader:o.clientHeader},{buttons:r,touch:t}=l(i,s),n=p(r);return{buttonFactory:()=>({press:e=>r.press(e),left:()=>n.left(),right:()=>n.right(),both:()=>n.both(),pressSequence:(e,c)=>u(r,e,c)}),tapFactory:e=>({tapQuick:B(t,e),tapLong:P(t,e),sign:g(t,e),reject:y(t,e),navigateNext:v(t,e),navigatePrevious:d(t,e),mainButton:m(t,e),secondaryButton:C(t,e)})}};export{x as deviceControllerClientFactory};
1
+ import{DEFAULT_SCREENS as a}from"../internal/config/defaultScreens";import{createDefaultControllers as l}from"../../src/internal/di";import{pressButtons as u,pressSequence as p}from"../../src/internal/use-cases/buttonUseCases";import{acceptBlindSigning as d,continueToBlindSigning as g,enableBlindSigningSettings as m,enterMenu as v,exitMenu as B,mainButton as P,navigateNext as C,navigatePrevious as S,reject as y,secondaryButton as b,sign as x,tapLong as D,tapQuick as F}from"../../src/internal/use-cases/touchUseCases";const L=(r,o={})=>{const s={screens:o.screens??a,timeoutMs:o.timeoutMs,clientHeader:o.clientHeader},{buttons:n,touch:t}=l(r,s),i=u(n);return{buttonFactory:()=>({press:e=>n.press(e),left:()=>i.left(),right:()=>i.right(),both:()=>i.both(),pressSequence:(e,c)=>p(n,e,c)}),tapFactory:e=>({tapQuick:F(t,e),tapLong:D(t,e),sign:x(t,e),reject:y(t,e),navigateNext:C(t,e),navigatePrevious:S(t,e),mainButton:P(t,e),secondaryButton:b(t,e),enterMenu:v(t,e),exitMenu:B(t,e),enableBlindSigningSettings:m(t,e),continueToBlindSigning:g(t,e),acceptBlindSigning:d(t,e)})}};export{L as deviceControllerClientFactory};
2
2
  //# sourceMappingURL=DeviceController.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/api/DeviceController.ts"],
4
- "sourcesContent": ["import { DEFAULT_SCREENS } from \"@internal/config/defaultScreens\";\nimport type { ButtonController } from \"@internal/core/ButtonController\";\nimport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n} from \"@internal/core/types\";\nimport { createDefaultControllers } from \"@root/src/internal/di\";\nimport {\n pressButtons,\n pressSequence,\n} from \"@root/src/internal/use-cases/buttonUseCases\";\nimport {\n mainButton,\n navigateNext,\n navigatePrevious,\n reject,\n secondaryButton,\n sign,\n tapLong,\n tapQuick,\n} from \"@root/src/internal/use-cases/touchUseCases\";\n\nexport type ButtonFactory = () => ButtonController & {\n left(): Promise<void>;\n right(): Promise<void>;\n both(): Promise<void>;\n pressSequence(keys: ButtonKey[], delayMs?: number): Promise<void>;\n};\n\nexport type TapFactory = (deviceKey: string) => {\n tapQuick: (point: PercentCoordinates) => Promise<void>;\n tapLong: (point: PercentCoordinates, delayMs?: number) => Promise<void>;\n sign: (delayMs?: number) => Promise<void>;\n reject: () => Promise<void>;\n navigateNext: () => Promise<void>;\n navigatePrevious: () => Promise<void>;\n mainButton: () => Promise<void>;\n secondaryButton: () => Promise<void>;\n};\n\nexport type DeviceControllerClientFactory = (\n baseURL: string,\n opts?: {\n timeoutMs?: number;\n clientHeader?: string;\n screens?: DeviceScreens<string>;\n },\n) => DeviceControllerClient;\n\nexport type DeviceControllerClient = {\n buttonFactory: ButtonFactory;\n tapFactory: TapFactory;\n};\n\nexport const deviceControllerClientFactory: DeviceControllerClientFactory = (\n baseURL,\n opts = {},\n) => {\n const resolved: DeviceControllerOptions = {\n screens: opts.screens ?? DEFAULT_SCREENS,\n timeoutMs: opts.timeoutMs,\n clientHeader: opts.clientHeader,\n };\n\n const { buttons, touch } = createDefaultControllers(baseURL, resolved);\n const press = pressButtons(buttons);\n\n return {\n buttonFactory: () => ({\n press: (key) => buttons.press(key),\n left: () => press.left(),\n right: () => press.right(),\n both: () => press.both(),\n pressSequence: (keys, delayMs) => pressSequence(buttons, keys, delayMs),\n }),\n tapFactory: (key) => ({\n tapQuick: tapQuick(touch, key),\n tapLong: tapLong(touch, key),\n sign: sign(touch, key),\n reject: reject(touch, key),\n navigateNext: navigateNext(touch, key),\n navigatePrevious: navigatePrevious(touch, key),\n mainButton: mainButton(touch, key),\n secondaryButton: secondaryButton(touch, key),\n }),\n };\n};\n\nexport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n};\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,MAAuB,kCAQhC,OAAS,4BAAAC,MAAgC,wBACzC,OACE,gBAAAC,EACA,iBAAAC,MACK,8CACP,OACE,cAAAC,EACA,gBAAAC,EACA,oBAAAC,EACA,UAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,WAAAC,EACA,YAAAC,MACK,6CAkCA,MAAMC,EAA+D,CAC1EC,EACAC,EAAO,CAAC,IACL,CACH,MAAMC,EAAoC,CACxC,QAASD,EAAK,SAAWd,EACzB,UAAWc,EAAK,UAChB,aAAcA,EAAK,YACrB,EAEM,CAAE,QAAAE,EAAS,MAAAC,CAAM,EAAIhB,EAAyBY,EAASE,CAAQ,EAC/DG,EAAQhB,EAAac,CAAO,EAElC,MAAO,CACL,cAAe,KAAO,CACpB,MAAQG,GAAQH,EAAQ,MAAMG,CAAG,EACjC,KAAM,IAAMD,EAAM,KAAK,EACvB,MAAO,IAAMA,EAAM,MAAM,EACzB,KAAM,IAAMA,EAAM,KAAK,EACvB,cAAe,CAACE,EAAMC,IAAYlB,EAAca,EAASI,EAAMC,CAAO,CACxE,GACA,WAAaF,IAAS,CACpB,SAAUR,EAASM,EAAOE,CAAG,EAC7B,QAAST,EAAQO,EAAOE,CAAG,EAC3B,KAAMV,EAAKQ,EAAOE,CAAG,EACrB,OAAQZ,EAAOU,EAAOE,CAAG,EACzB,aAAcd,EAAaY,EAAOE,CAAG,EACrC,iBAAkBb,EAAiBW,EAAOE,CAAG,EAC7C,WAAYf,EAAWa,EAAOE,CAAG,EACjC,gBAAiBX,EAAgBS,EAAOE,CAAG,CAC7C,EACF,CACF",
6
- "names": ["DEFAULT_SCREENS", "createDefaultControllers", "pressButtons", "pressSequence", "mainButton", "navigateNext", "navigatePrevious", "reject", "secondaryButton", "sign", "tapLong", "tapQuick", "deviceControllerClientFactory", "baseURL", "opts", "resolved", "buttons", "touch", "press", "key", "keys", "delayMs"]
4
+ "sourcesContent": ["import { DEFAULT_SCREENS } from \"@internal/config/defaultScreens\";\nimport type { ButtonController } from \"@internal/core/ButtonController\";\nimport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n} from \"@internal/core/types\";\nimport { createDefaultControllers } from \"@root/src/internal/di\";\nimport {\n pressButtons,\n pressSequence,\n} from \"@root/src/internal/use-cases/buttonUseCases\";\nimport {\n acceptBlindSigning,\n continueToBlindSigning,\n enableBlindSigningSettings,\n enterMenu,\n exitMenu,\n mainButton,\n navigateNext,\n navigatePrevious,\n reject,\n secondaryButton,\n sign,\n tapLong,\n tapQuick,\n} from \"@root/src/internal/use-cases/touchUseCases\";\n\nexport type ButtonFactory = () => ButtonController & {\n left(): Promise<void>;\n right(): Promise<void>;\n both(): Promise<void>;\n pressSequence(keys: ButtonKey[], delayMs?: number): Promise<void>;\n};\n\nexport type TapFactory = (deviceKey: string) => {\n tapQuick: (point: PercentCoordinates) => Promise<void>;\n tapLong: (point: PercentCoordinates, delayMs?: number) => Promise<void>;\n sign: (delayMs?: number) => Promise<void>;\n reject: () => Promise<void>;\n navigateNext: () => Promise<void>;\n navigatePrevious: () => Promise<void>;\n mainButton: () => Promise<void>;\n secondaryButton: () => Promise<void>;\n enterMenu: () => Promise<void>;\n exitMenu: () => Promise<void>;\n enableBlindSigningSettings: () => Promise<void>;\n continueToBlindSigning: () => Promise<void>;\n acceptBlindSigning: () => Promise<void>;\n};\n\nexport type DeviceControllerClientFactory = (\n baseURL: string,\n opts?: {\n timeoutMs?: number;\n clientHeader?: string;\n screens?: DeviceScreens<string>;\n },\n) => DeviceControllerClient;\n\nexport type DeviceControllerClient = {\n buttonFactory: ButtonFactory;\n tapFactory: TapFactory;\n};\n\nexport const deviceControllerClientFactory: DeviceControllerClientFactory = (\n baseURL,\n opts = {},\n) => {\n const resolved: DeviceControllerOptions = {\n screens: opts.screens ?? DEFAULT_SCREENS,\n timeoutMs: opts.timeoutMs,\n clientHeader: opts.clientHeader,\n };\n\n const { buttons, touch } = createDefaultControllers(baseURL, resolved);\n const press = pressButtons(buttons);\n\n return {\n buttonFactory: () => ({\n press: (key) => buttons.press(key),\n left: () => press.left(),\n right: () => press.right(),\n both: () => press.both(),\n pressSequence: (keys, delayMs) => pressSequence(buttons, keys, delayMs),\n }),\n tapFactory: (key) => ({\n tapQuick: tapQuick(touch, key),\n tapLong: tapLong(touch, key),\n sign: sign(touch, key),\n reject: reject(touch, key),\n navigateNext: navigateNext(touch, key),\n navigatePrevious: navigatePrevious(touch, key),\n mainButton: mainButton(touch, key),\n secondaryButton: secondaryButton(touch, key),\n enterMenu: enterMenu(touch, key),\n exitMenu: exitMenu(touch, key),\n enableBlindSigningSettings: enableBlindSigningSettings(touch, key),\n continueToBlindSigning: continueToBlindSigning(touch, key),\n acceptBlindSigning: acceptBlindSigning(touch, key),\n }),\n };\n};\n\nexport type {\n ButtonKey,\n DeviceControllerOptions,\n DeviceScreens,\n PercentCoordinates,\n};\n"],
5
+ "mappings": "AAAA,OAAS,mBAAAA,MAAuB,kCAQhC,OAAS,4BAAAC,MAAgC,wBACzC,OACE,gBAAAC,EACA,iBAAAC,MACK,8CACP,OACE,sBAAAC,EACA,0BAAAC,EACA,8BAAAC,EACA,aAAAC,EACA,YAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,oBAAAC,EACA,UAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,WAAAC,EACA,YAAAC,MACK,6CAuCA,MAAMC,EAA+D,CAC1EC,EACAC,EAAO,CAAC,IACL,CACH,MAAMC,EAAoC,CACxC,QAASD,EAAK,SAAWnB,EACzB,UAAWmB,EAAK,UAChB,aAAcA,EAAK,YACrB,EAEM,CAAE,QAAAE,EAAS,MAAAC,CAAM,EAAIrB,EAAyBiB,EAASE,CAAQ,EAC/DG,EAAQrB,EAAamB,CAAO,EAElC,MAAO,CACL,cAAe,KAAO,CACpB,MAAQG,GAAQH,EAAQ,MAAMG,CAAG,EACjC,KAAM,IAAMD,EAAM,KAAK,EACvB,MAAO,IAAMA,EAAM,MAAM,EACzB,KAAM,IAAMA,EAAM,KAAK,EACvB,cAAe,CAACE,EAAMC,IAAYvB,EAAckB,EAASI,EAAMC,CAAO,CACxE,GACA,WAAaF,IAAS,CACpB,SAAUR,EAASM,EAAOE,CAAG,EAC7B,QAAST,EAAQO,EAAOE,CAAG,EAC3B,KAAMV,EAAKQ,EAAOE,CAAG,EACrB,OAAQZ,EAAOU,EAAOE,CAAG,EACzB,aAAcd,EAAaY,EAAOE,CAAG,EACrC,iBAAkBb,EAAiBW,EAAOE,CAAG,EAC7C,WAAYf,EAAWa,EAAOE,CAAG,EACjC,gBAAiBX,EAAgBS,EAAOE,CAAG,EAC3C,UAAWjB,EAAUe,EAAOE,CAAG,EAC/B,SAAUhB,EAASc,EAAOE,CAAG,EAC7B,2BAA4BlB,EAA2BgB,EAAOE,CAAG,EACjE,uBAAwBnB,EAAuBiB,EAAOE,CAAG,EACzD,mBAAoBpB,EAAmBkB,EAAOE,CAAG,CACnD,EACF,CACF",
6
+ "names": ["DEFAULT_SCREENS", "createDefaultControllers", "pressButtons", "pressSequence", "acceptBlindSigning", "continueToBlindSigning", "enableBlindSigningSettings", "enterMenu", "exitMenu", "mainButton", "navigateNext", "navigatePrevious", "reject", "secondaryButton", "sign", "tapLong", "tapQuick", "deviceControllerClientFactory", "baseURL", "opts", "resolved", "buttons", "touch", "press", "key", "keys", "delayMs"]
7
7
  }
@@ -1,2 +1,2 @@
1
- const r=5e3,c=(t,e)=>async(n,a=r)=>{await t.tap(e,n),await new Promise(s=>setTimeout(s,a)),await t.release(e,n)},o=(t,e)=>async n=>await t.tapAndRelease(e,n),i=(t,e)=>async(n=r)=>await c(t,e)({x:85,y:80},n),x=(t,e)=>async()=>await o(t,e)({x:20,y:90}),K=(t,e)=>async()=>await o(t,e)({x:90,y:90}),l=(t,e)=>async()=>await o(t,e)({x:45,y:90}),y=(t,e)=>async()=>await o(t,e)({x:50,y:80}),p=(t,e)=>async()=>await o(t,e)({x:50,y:90});export{y as mainButton,K as navigateNext,l as navigatePrevious,x as reject,p as secondaryButton,i as sign,c as tapLong,o as tapQuick};
1
+ const r=5e3,i=(t,n)=>async(o,s=r)=>{await t.tap(n,o),await new Promise(a=>setTimeout(a,s)),await t.release(n,o)},e=(t,n)=>async o=>await t.tapAndRelease(n,o),c=(t,n)=>async(o=r)=>await i(t,n)({x:85,y:80},o),x=(t,n)=>async()=>await e(t,n)({x:20,y:90}),K=(t,n)=>async()=>await e(t,n)({x:90,y:90}),l=(t,n)=>async()=>await e(t,n)({x:45,y:90}),y=(t,n)=>async()=>await e(t,n)({x:50,y:80}),g=(t,n)=>async()=>await e(t,n)({x:50,y:90}),u=(t,n)=>async()=>await e(t,n)({x:85,y:8}),p=(t,n)=>async()=>await e(t,n)({x:10,y:4}),d=(t,n)=>async()=>await e(t,n)({x:88,y:51}),T=(t,n)=>async()=>await e(t,n)({x:50,y:94}),C=(t,n)=>async()=>await e(t,n)({x:50,y:94});export{C as acceptBlindSigning,T as continueToBlindSigning,d as enableBlindSigningSettings,u as enterMenu,p as exitMenu,y as mainButton,K as navigateNext,l as navigatePrevious,x as reject,g as secondaryButton,c as sign,i as tapLong,e as tapQuick};
2
2
  //# sourceMappingURL=touchUseCases.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/internal/use-cases/touchUseCases.ts"],
4
- "sourcesContent": ["import type { PercentCoordinates } from \"@internal/core/types\";\nimport { type TouchController } from \"@root/src/internal/core/TouchController\";\n\nconst TAP_LONG_TIME_MS = 5000;\n\nexport const tapLong =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates, delayMs: number = TAP_LONG_TIME_MS) => {\n await touch.tap(deviceKey, point);\n await new Promise((r) => setTimeout(r, delayMs));\n await touch.release(deviceKey, point);\n };\n\nexport const tapQuick =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates) =>\n await touch.tapAndRelease(deviceKey, point);\n\nexport const sign =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (delayMs: number = TAP_LONG_TIME_MS) =>\n await tapLong(touch, deviceKey)({ x: 85, y: 80 }, delayMs);\n\nexport const reject =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 20, y: 90 });\n\nexport const navigateNext =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 90, y: 90 });\n\nexport const navigatePrevious =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 45, y: 90 });\n\nexport const mainButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 80 });\n\nexport const secondaryButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 90 });\n"],
5
- "mappings": "AAGA,MAAMA,EAAmB,IAEZC,EACX,CAAmBC,EAA2BC,IAC9C,MAAOC,EAA2BC,EAAkBL,IAAqB,CACvE,MAAME,EAAM,IAAIC,EAAWC,CAAK,EAChC,MAAM,IAAI,QAASE,GAAM,WAAWA,EAAGD,CAAO,CAAC,EAC/C,MAAMH,EAAM,QAAQC,EAAWC,CAAK,CACtC,EAEWG,EACX,CAAmBL,EAA2BC,IAC9C,MAAOC,GACL,MAAMF,EAAM,cAAcC,EAAWC,CAAK,EAEjCI,EACX,CAAmBN,EAA2BC,IAC9C,MAAOE,EAAkBL,IACvB,MAAMC,EAAQC,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,EAAGE,CAAO,EAEhDI,EACX,CAAmBP,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCO,EACX,CAAmBR,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCQ,EACX,CAAmBT,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCS,EACX,CAAmBV,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCU,EACX,CAAmBX,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC",
6
- "names": ["TAP_LONG_TIME_MS", "tapLong", "touch", "deviceKey", "point", "delayMs", "r", "tapQuick", "sign", "reject", "navigateNext", "navigatePrevious", "mainButton", "secondaryButton"]
4
+ "sourcesContent": ["import type { PercentCoordinates } from \"@internal/core/types\";\nimport { type TouchController } from \"@root/src/internal/core/TouchController\";\n\nconst TAP_LONG_TIME_MS = 5000;\n\nexport const tapLong =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates, delayMs: number = TAP_LONG_TIME_MS) => {\n await touch.tap(deviceKey, point);\n await new Promise((r) => setTimeout(r, delayMs));\n await touch.release(deviceKey, point);\n };\n\nexport const tapQuick =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (point: PercentCoordinates) =>\n await touch.tapAndRelease(deviceKey, point);\n\nexport const sign =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async (delayMs: number = TAP_LONG_TIME_MS) =>\n await tapLong(touch, deviceKey)({ x: 85, y: 80 }, delayMs);\n\nexport const reject =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 20, y: 90 });\n\nexport const navigateNext =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 90, y: 90 });\n\nexport const navigatePrevious =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 45, y: 90 });\n\nexport const mainButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 80 });\n\nexport const secondaryButton =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 90 });\n\nexport const enterMenu =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 85, y: 8 });\n\nexport const exitMenu =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 10, y: 4 });\n\nexport const enableBlindSigningSettings =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 88, y: 51 });\n\nexport const continueToBlindSigning =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 94 });\n\nexport const acceptBlindSigning =\n <K extends string>(touch: TouchController<K>, deviceKey: K) =>\n async () =>\n await tapQuick(touch, deviceKey)({ x: 50, y: 94 });\n"],
5
+ "mappings": "AAGA,MAAMA,EAAmB,IAEZC,EACX,CAAmBC,EAA2BC,IAC9C,MAAOC,EAA2BC,EAAkBL,IAAqB,CACvE,MAAME,EAAM,IAAIC,EAAWC,CAAK,EAChC,MAAM,IAAI,QAASE,GAAM,WAAWA,EAAGD,CAAO,CAAC,EAC/C,MAAMH,EAAM,QAAQC,EAAWC,CAAK,CACtC,EAEWG,EACX,CAAmBL,EAA2BC,IAC9C,MAAOC,GACL,MAAMF,EAAM,cAAcC,EAAWC,CAAK,EAEjCI,EACX,CAAmBN,EAA2BC,IAC9C,MAAOE,EAAkBL,IACvB,MAAMC,EAAQC,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,EAAGE,CAAO,EAEhDI,EACX,CAAmBP,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCO,EACX,CAAmBR,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCQ,EACX,CAAmBT,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCS,EACX,CAAmBV,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCU,EACX,CAAmBX,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCW,EACX,CAAmBZ,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,CAAE,CAAC,EAEvCY,EACX,CAAmBb,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,CAAE,CAAC,EAEvCa,EACX,CAAmBd,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCc,EACX,CAAmBf,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC,EAExCe,EACX,CAAmBhB,EAA2BC,IAC9C,SACE,MAAMI,EAASL,EAAOC,CAAS,EAAE,CAAE,EAAG,GAAI,EAAG,EAAG,CAAC",
6
+ "names": ["TAP_LONG_TIME_MS", "tapLong", "touch", "deviceKey", "point", "delayMs", "r", "tapQuick", "sign", "reject", "navigateNext", "navigatePrevious", "mainButton", "secondaryButton", "enterMenu", "exitMenu", "enableBlindSigningSettings", "continueToBlindSigning", "acceptBlindSigning"]
7
7
  }
@@ -15,6 +15,11 @@ export type TapFactory = (deviceKey: string) => {
15
15
  navigatePrevious: () => Promise<void>;
16
16
  mainButton: () => Promise<void>;
17
17
  secondaryButton: () => Promise<void>;
18
+ enterMenu: () => Promise<void>;
19
+ exitMenu: () => Promise<void>;
20
+ enableBlindSigningSettings: () => Promise<void>;
21
+ continueToBlindSigning: () => Promise<void>;
22
+ acceptBlindSigning: () => Promise<void>;
18
23
  };
19
24
  export type DeviceControllerClientFactory = (baseURL: string, opts?: {
20
25
  timeoutMs?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceController.d.ts","sourceRoot":"","sources":["../../../../src/api/DeviceController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAiB9B,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,GAAG;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACjC,KACE,sBAAsB,CAAC;AAE5B,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,6BAgC3C,CAAC;AAEF,YAAY,EACV,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,kBAAkB,GACnB,CAAC"}
1
+ {"version":3,"file":"DeviceController.d.ts","sourceRoot":"","sources":["../../../../src/api/DeviceController.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EACV,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAsB9B,MAAM,MAAM,aAAa,GAAG,MAAM,gBAAgB,GAAG;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,0BAA0B,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,sBAAsB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAC1C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IACL,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACjC,KACE,sBAAsB,CAAC;AAE5B,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,6BAqC3C,CAAC;AAEF,YAAY,EACV,SAAS,EACT,uBAAuB,EACvB,aAAa,EACb,kBAAkB,GACnB,CAAC"}
@@ -8,4 +8,9 @@ export declare const navigateNext: <K extends string>(touch: TouchController<K>,
8
8
  export declare const navigatePrevious: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
9
9
  export declare const mainButton: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
10
10
  export declare const secondaryButton: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
11
+ export declare const enterMenu: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
12
+ export declare const exitMenu: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
13
+ export declare const enableBlindSigningSettings: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
14
+ export declare const continueToBlindSigning: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
15
+ export declare const acceptBlindSigning: <K extends string>(touch: TouchController<K>, deviceKey: K) => () => Promise<void>;
11
16
  //# sourceMappingURL=touchUseCases.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"touchUseCases.d.ts","sourceRoot":"","sources":["../../../../../src/internal/use-cases/touchUseCases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAI/E,eAAO,MAAM,OAAO,GACjB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MACnD,OAAO,kBAAkB,EAAE,UAAS,MAAyB,kBAInE,CAAC;AAEJ,eAAO,MAAM,QAAQ,GAClB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MACnD,OAAO,kBAAkB,kBACa,CAAC;AAEhD,eAAO,MAAM,IAAI,GACd,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MACnD,UAAS,MAAyB,kBACmB,CAAC;AAE/D,eAAO,MAAM,MAAM,GAChB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,YAAY,GACtB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAC1B,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,UAAU,GACpB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,eAAe,GACzB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC"}
1
+ {"version":3,"file":"touchUseCases.d.ts","sourceRoot":"","sources":["../../../../../src/internal/use-cases/touchUseCases.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAI/E,eAAO,MAAM,OAAO,GACjB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MACnD,OAAO,kBAAkB,EAAE,UAAS,MAAyB,kBAInE,CAAC;AAEJ,eAAO,MAAM,QAAQ,GAClB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MACnD,OAAO,kBAAkB,kBACa,CAAC;AAEhD,eAAO,MAAM,IAAI,GACd,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,MACnD,UAAS,MAAyB,kBACmB,CAAC;AAE/D,eAAO,MAAM,MAAM,GAChB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,YAAY,GACtB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAC1B,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,UAAU,GACpB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,eAAe,GACzB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,SAAS,GACnB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEP,CAAC;AAEtD,eAAO,MAAM,QAAQ,GAClB,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEP,CAAC;AAEtD,eAAO,MAAM,0BAA0B,GACpC,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,sBAAsB,GAChC,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC;AAEvD,eAAO,MAAM,kBAAkB,GAC5B,CAAC,SAAS,MAAM,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,wBAEN,CAAC"}