@lazycatcloud/sdk 0.1.140 → 0.1.142
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 +51 -0
- package/dist/extentions/app_common.d.ts +13 -7
- package/dist/extentions/app_common.d.ts.map +1 -1
- package/dist/extentions/app_common.js +102 -29
- package/dist/extentions/app_common.js.map +1 -1
- package/dist/extentions/base.d.ts +112 -0
- package/dist/extentions/base.d.ts.map +1 -0
- package/dist/extentions/base.js +423 -0
- package/dist/extentions/base.js.map +1 -0
- package/dist/extentions/index.d.ts +18 -0
- package/dist/extentions/index.d.ts.map +1 -0
- package/dist/extentions/index.js +20 -0
- package/dist/extentions/index.js.map +1 -0
- package/dist/extentions/safe_app.d.ts.map +1 -1
- package/dist/extentions/safe_app.js +37 -13
- package/dist/extentions/safe_app.js.map +1 -1
- package/dist/extentions/unsafe_app.d.ts +1 -17
- package/dist/extentions/unsafe_app.d.ts.map +1 -1
- package/dist/extentions/unsafe_app.js +49 -23
- package/dist/extentions/unsafe_app.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -12
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/sys/btrfs.d.ts +133 -0
- package/dist/sys/btrfs.d.ts.map +1 -0
- package/dist/sys/btrfs.js +415 -0
- package/dist/sys/btrfs.js.map +1 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
* @Author: Bin
|
|
3
|
+
* @Date: 2023-03-06
|
|
4
|
+
* @FilePath: /lzc-sdk/lang/js/README.md
|
|
5
|
+
-->
|
|
6
|
+
# 懒猫云应用开发
|
|
7
|
+
|
|
8
|
+
> 懒猫云应用平台提供大量系统以及应用层的接口,用户或开发者可以基于开放的接口创造出有趣的应用程序,可以通过阅读本接口文档来帮助开发。
|
|
9
|
+
|
|
10
|
+
## 开始开发
|
|
11
|
+
|
|
12
|
+
@lazycatcloud/sdk 通过 npm 和 yarn 进行分发,你可以通过相应的包管理工具进行安装。
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
npm i @lazycatcloud/sdk
|
|
16
|
+
|
|
17
|
+
# or
|
|
18
|
+
|
|
19
|
+
yarn add @lazycatcloud/sdk
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
@lazycatcloud/sdk 目前由 `grpc api` 和 `lzc sdk` 两个部分组成。
|
|
23
|
+
|
|
24
|
+
- `grpc api` 是基于与懒猫云盒子以及其他组网设备数据以及交互所使用的接口。
|
|
25
|
+
|
|
26
|
+
- `lzc sdk` 是针对懒猫云客户端提供的云应用客户端程序、客户端原生应用系列交互 SDK。
|
|
27
|
+
|
|
28
|
+
我将通过下列两个示例帮助你分别理解 `grpc api` 和 `lzc sdk`
|
|
29
|
+
|
|
30
|
+
通过 `grpc api` 获取当前设备信息示例代码:
|
|
31
|
+
```
|
|
32
|
+
import { lzcApiGateway } from '@lazycatcloud/sdk/dist/localdevice/device';
|
|
33
|
+
|
|
34
|
+
const lzcApiGateway = new lzcAPIGateway();
|
|
35
|
+
const currentDevice = lzcAPI.current?.currentDevice;
|
|
36
|
+
console.log('currentDevice', currentDevice);
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
通过 `lzc sdk` 打开懒猫云相册应用(更多接口信息请参考 [懒猫云应用通用能力开发文档](./docs/extentions/AppCommon.md)):
|
|
40
|
+
```
|
|
41
|
+
import { AppCommon } from '@lazycatcloud/sdk/dist/extentions';
|
|
42
|
+
|
|
43
|
+
AppCommon.LaunchApp("https://pbkbin.zmide.com", "com.zmide.bin");
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## 更多文档
|
|
48
|
+
|
|
49
|
+
[懒猫云应用通用能力开发文档](./docs/extentions/AppCommon.md)
|
|
50
|
+
|
|
51
|
+
[实践指南(面向内部开发者)](./docs/contribute.md)
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { LzcAppSdkManage } from './base';
|
|
2
|
+
declare class AppCommon extends LzcAppSdkManage {
|
|
3
|
+
static ScriptHandlers(): Promise<string[]>;
|
|
4
|
+
/**
|
|
5
|
+
* @description: 打开应用
|
|
6
|
+
* @param {string} url
|
|
7
|
+
* @param {string} appid
|
|
8
|
+
* @return {Promise<void>}
|
|
9
|
+
*/
|
|
10
|
+
static LaunchApp(url: string, appid: string): Promise<void>;
|
|
11
|
+
static LaunchNativeApp(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export { AppCommon };
|
|
8
14
|
//# sourceMappingURL=app_common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_common.d.ts","sourceRoot":"","sources":["../../extentions/app_common.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"app_common.d.ts","sourceRoot":"","sources":["../../extentions/app_common.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAsB,eAAe,EAAU,MAAM,QAAQ,CAAC;AAEhF,cAAM,SAAU,SAAQ,eAAe;WAGf,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IASvD;;;;;OAKG;WAMiB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAiBpD,eAAe;CAMtC;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -1,31 +1,104 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
function
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
};
|
|
34
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
35
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
36
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
37
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
38
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
39
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
40
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
44
|
+
exports.AppCommon = void 0;
|
|
45
|
+
const base_1 = __importStar(require("./base"));
|
|
46
|
+
class AppCommon extends base_1.LzcAppSdkManage {
|
|
47
|
+
static ScriptHandlers() {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
// const callback = await LzcAppSdk.useNative.ScriptHandlers()
|
|
50
|
+
// console.log("LzcAppSdk.useNative", LzcAppSdk.useNative);
|
|
51
|
+
const jsBridge = yield base_1.default.useNativeAsync();
|
|
52
|
+
const call = yield jsBridge.ScriptHandlers();
|
|
53
|
+
// jsBridge.Test()
|
|
54
|
+
return call;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* @description: 打开应用
|
|
59
|
+
* @param {string} url
|
|
60
|
+
* @param {string} appid
|
|
61
|
+
* @return {Promise<void>}
|
|
62
|
+
*/
|
|
63
|
+
static LaunchApp(url, appid) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
let browserOnly = false; // 读取用户是否设置为在浏览器打开
|
|
66
|
+
if (!base_1.default.isInApplication() || browserOnly) {
|
|
67
|
+
// 判断是否在浏览器中,在浏览器中时或者用户设置为在浏览器打开时,将直接使用 window.open 打开页面
|
|
68
|
+
window.open(url, '_blank');
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
if (base_1.default.isAndroidWebShell()) {
|
|
72
|
+
const jsBridge = yield base_1.default.useNativeAsync(android_launch_app);
|
|
73
|
+
jsBridge.LaunchApp(url, appid);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
// 判断是在客户端中
|
|
77
|
+
const jsBridge = yield base_1.default.useNativeAsync();
|
|
78
|
+
jsBridge.LaunchApp(url, appid);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
static LaunchNativeApp() {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
// TODO: 待实现
|
|
86
|
+
const jsBridge = base_1.default.useNative();
|
|
87
|
+
console.error("LaunchNativeApp 方法暂未实现。");
|
|
88
|
+
});
|
|
89
|
+
}
|
|
30
90
|
}
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, base_1.native)(base_1.LzcAppPlatformType.IOS),
|
|
93
|
+
__metadata("design:type", Function),
|
|
94
|
+
__metadata("design:paramtypes", []),
|
|
95
|
+
__metadata("design:returntype", Promise)
|
|
96
|
+
], AppCommon, "ScriptHandlers", null);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, base_1.native)(base_1.LzcAppPlatformType.IOS, base_1.LzcAppPlatformType.Android, base_1.LzcAppPlatformType.PC, base_1.LzcAppPlatformType.Browser),
|
|
99
|
+
__metadata("design:type", Function),
|
|
100
|
+
__metadata("design:paramtypes", [String, String]),
|
|
101
|
+
__metadata("design:returntype", Promise)
|
|
102
|
+
], AppCommon, "LaunchApp", null);
|
|
103
|
+
exports.AppCommon = AppCommon;
|
|
31
104
|
//# sourceMappingURL=app_common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app_common.js","sourceRoot":"","sources":["../../extentions/app_common.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"app_common.js","sourceRoot":"","sources":["../../extentions/app_common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAgF;AAEhF,MAAM,SAAU,SAAQ,sBAAe;IAG5B,MAAM,CAAO,cAAc;;YAC9B,8DAA8D;YAC9D,2DAA2D;YAC3D,MAAM,QAAQ,GAAG,MAAM,cAAS,CAAC,cAAc,EAAE,CAAA;YACjD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAA;YAC5C,kBAAkB;YAClB,OAAO,IAAI,CAAA;QACf,CAAC;KAAA;IAED;;;;;OAKG;IAMI,MAAM,CAAO,SAAS,CAAC,GAAW,EAAE,KAAa;;YACpD,IAAI,WAAW,GAAG,KAAK,CAAA,CAAC,kBAAkB;YAC1C,IAAI,CAAC,cAAS,CAAC,eAAe,EAAE,IAAI,WAAW,EAAE;gBAC7C,wDAAwD;gBACxD,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;aAC7B;iBAAM;gBACH,IAAG,cAAS,CAAC,iBAAiB,EAAE,EAAC;oBAC7B,MAAM,QAAQ,GAAG,MAAM,cAAS,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAA;oBACnE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;iBACjC;qBAAI;oBACD,WAAW;oBACX,MAAM,QAAQ,GAAG,MAAM,cAAS,CAAC,cAAc,EAAE,CAAA;oBACjD,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;iBACjC;aACJ;QACL,CAAC;KAAA;IAEM,MAAM,CAAO,eAAe;;YAC/B,YAAY;YACZ,MAAM,QAAQ,GAAG,cAAS,CAAC,SAAS,EAAE,CAAA;YACtC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;KAAA;CAEJ;AA3CG;IADC,IAAA,aAAM,EAAC,yBAAkB,CAAC,GAAG,CAAC;;;;qCAQ9B;AAaD;IALC,IAAA,aAAM,EAAC,yBAAkB,CAAC,GAAG,EAC1B,yBAAkB,CAAC,OAAO,EAC1B,yBAAkB,CAAC,EAAE,EACrB,yBAAkB,CAAC,OAAO,CAC7B;;;;gCAgBA;AAUI,8BAAS"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
declare enum PlatformType {
|
|
2
|
+
Android = 0,
|
|
3
|
+
IOS = 1,
|
|
4
|
+
PC = 2,
|
|
5
|
+
Browser = 3
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* @description: 指定函数支持平台函数装饰器
|
|
9
|
+
* @param {array} platforms
|
|
10
|
+
* @return {Function}
|
|
11
|
+
*/
|
|
12
|
+
declare function native(...platforms: PlatformType[]): Function;
|
|
13
|
+
declare class LzcAppSdk {
|
|
14
|
+
private static instance;
|
|
15
|
+
private static cacheJSBridgeIOS;
|
|
16
|
+
protected constructor();
|
|
17
|
+
/**
|
|
18
|
+
* @description: 获取 LzcAppSdk 对象实例
|
|
19
|
+
* @return {LzcAppSdk}
|
|
20
|
+
*/
|
|
21
|
+
static getInstance(): LzcAppSdk;
|
|
22
|
+
/**
|
|
23
|
+
* @description: 初始化 JSBridge 全局回调队列
|
|
24
|
+
* @return {void}
|
|
25
|
+
*/
|
|
26
|
+
private initCallbackQueue;
|
|
27
|
+
/**
|
|
28
|
+
* @description: JS 调用原生函数时,添加回调方法到回调方法存储器,并返回索引ID
|
|
29
|
+
* @param {Function} responseCallBackFunc
|
|
30
|
+
* @return {string}
|
|
31
|
+
*/
|
|
32
|
+
static addToCallBackFuncDictWith(responseCallBackFunc: Function): string;
|
|
33
|
+
/**
|
|
34
|
+
* @description: 原生接受 JS 调用并处理相关操作后,发送回调给js, js 根据索引ID寻找回调方法来处理数据,然后移除js的回调方法
|
|
35
|
+
* @param {string} funcUniqueID
|
|
36
|
+
* @param {any} responseData
|
|
37
|
+
* @return {void}
|
|
38
|
+
*/
|
|
39
|
+
static sendCallBackFunc(funcUniqueID: string, responseData: any): void;
|
|
40
|
+
/**
|
|
41
|
+
* @description: 注册一个 JS 函数
|
|
42
|
+
* @param {string} name
|
|
43
|
+
* @return {Promise<any> | undefined}
|
|
44
|
+
*/
|
|
45
|
+
private static _registerCallBackFunc;
|
|
46
|
+
/**
|
|
47
|
+
* @description: 获取 IOS 原生 JSBridge 对象
|
|
48
|
+
* @return {Promise<any>}
|
|
49
|
+
*/
|
|
50
|
+
private static initJSBridgeIOS;
|
|
51
|
+
/**
|
|
52
|
+
* @description: 根据原生注入命名空间 异步获取 JSBridge
|
|
53
|
+
* @param {any} namespaces
|
|
54
|
+
* @return {Promise<any>}
|
|
55
|
+
*/
|
|
56
|
+
useNativeAsync(namespaces?: any): Promise<any>;
|
|
57
|
+
/**
|
|
58
|
+
* @description: 根据原生注入命名空间 同步获取 JSBridge (如调用原生方法不需要回调值的可以使用该函数获取原生对象否则最好使用 useNativeAsync 函数)
|
|
59
|
+
* @param {any} namespaces
|
|
60
|
+
* @return {any}
|
|
61
|
+
*/
|
|
62
|
+
useNative(namespaces?: any): any;
|
|
63
|
+
/**
|
|
64
|
+
* @description: 判断是否属于 webshell 环境
|
|
65
|
+
* @return {boolean}
|
|
66
|
+
*/
|
|
67
|
+
isWebShell(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* @description: 是否是android webshell 环境
|
|
70
|
+
* @return {boolean}
|
|
71
|
+
*/
|
|
72
|
+
isAndroidWebShell(): boolean;
|
|
73
|
+
/**
|
|
74
|
+
* @description: 是否是pc webshell 环境
|
|
75
|
+
* @return {boolean}
|
|
76
|
+
*/
|
|
77
|
+
isPCWebShell(): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* @description: 是否是ios webshell 环境
|
|
80
|
+
* @return {boolean}
|
|
81
|
+
*/
|
|
82
|
+
isIosWebShell(): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* @description: 是否属于 Control webshell 环境
|
|
85
|
+
* @return {boolean}
|
|
86
|
+
*/
|
|
87
|
+
isControlView(): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* @description: 是否属于 Content webshell 环境
|
|
90
|
+
* @return {boolean}
|
|
91
|
+
*/
|
|
92
|
+
isContentView(): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* @description: 是否在客户端内
|
|
95
|
+
* @return {boolean}
|
|
96
|
+
*/
|
|
97
|
+
isInApplication(): boolean;
|
|
98
|
+
}
|
|
99
|
+
declare class LzcAppSdkManage {
|
|
100
|
+
protected static LzcApp: LzcAppSdk;
|
|
101
|
+
protected LzcApp: LzcAppSdk;
|
|
102
|
+
}
|
|
103
|
+
declare const LzcApp: LzcAppSdk;
|
|
104
|
+
/**
|
|
105
|
+
* @description: 兼容旧的 android 注入的 js 调用(待迁移后删除改引用)
|
|
106
|
+
* @deprecated: 该 JS 注入引用即将弃用,请尽快适配最新的 LzcAppSdk.useNative() 调用方式
|
|
107
|
+
* @return {any}
|
|
108
|
+
*/
|
|
109
|
+
declare const LzcClient: any;
|
|
110
|
+
export default LzcApp;
|
|
111
|
+
export { PlatformType as LzcAppPlatformType, LzcAppSdkManage, LzcClient, native };
|
|
112
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../extentions/base.ts"],"names":[],"mappings":"AAMA,aAAK,YAAY;IACb,OAAO,IAAA;IACP,GAAG,IAAA;IACH,EAAE,IAAA;IACF,OAAO,IAAA;CACV;AA2CD;;;;GAIG;AACH,iBAAS,MAAM,CAAC,GAAG,SAAS,EAAE,YAAY,EAAE,GAAG,QAAQ,CA+HtD;AAED,cAAM,SAAS;IACX,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAM;IAErC,SAAS;IAiBT;;;OAGG;WACW,WAAW,IAAI,SAAS;IAOtC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;OAIG;WACW,yBAAyB,CAAC,oBAAoB,EAAE,QAAQ,GAAG,MAAM;IAS/E;;;;;OAKG;WACW,gBAAgB,CAC1B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,GAAG,GAClB,IAAI;IASP;;;;OAIG;mBACkB,qBAAqB;IA0B1C;;;OAGG;mBAEkB,eAAe;IAmCpC;;;;OAIG;IACU,cAAc,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAS3D;;;;OAIG;IACI,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,GAAG;IAyBvC;;;OAGG;IACI,UAAU,IAAI,OAAO;IAI5B;;;OAGG;IACI,iBAAiB,IAAI,OAAO;IAInC;;;OAGG;IACI,YAAY,IAAI,OAAO;IAI9B;;;OAGG;IACI,aAAa,IAAI,OAAO;IAI/B;;;OAGG;IACI,aAAa,IAAI,OAAO;IAI/B;;;OAGG;IACI,aAAa,IAAI,OAAO;IAI/B;;;OAGG;IACI,eAAe,IAAI,OAAO;CAGpC;AAED,cAAM,eAAe;IACjB,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAA;IAClC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAA;CAC9B;AAED,QAAA,MAAM,MAAM,WAA0B,CAAA;AAEtC;;;;GAIG;AACH,QAAA,MAAM,SAAS,EAAE,GAAwB,CAAA;AAEzC,eAAe,MAAM,CAAA;AACrB,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,CAAA"}
|