meet-my-ride 1.4.1 → 1.4.3
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/dist/client.d.ts +13 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +64 -11
- package/dist/client.js.map +1 -1
- package/dist/services/auth/auth.service.d.ts +1 -3
- package/dist/services/auth/auth.service.d.ts.map +1 -1
- package/dist/services/auth/auth.service.js +7 -24
- package/dist/services/auth/auth.service.js.map +1 -1
- package/dist/services/tokenstorage/tokenstorage.d.ts +4 -2
- package/dist/services/tokenstorage/tokenstorage.d.ts.map +1 -1
- package/dist/services/tokenstorage/tokenstorage.js +3 -2
- package/dist/services/tokenstorage/tokenstorage.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -7,10 +7,21 @@ export declare class MeetMyRideClient {
|
|
|
7
7
|
readonly user: UserService;
|
|
8
8
|
readonly auth: AuthService;
|
|
9
9
|
readonly meet: MeetService;
|
|
10
|
+
private tokenStorage;
|
|
11
|
+
private isRefreshing;
|
|
12
|
+
private refreshQueue;
|
|
10
13
|
constructor(baseUrl: string, apiKey?: string);
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
15
|
+
* Update the Authorization header manually
|
|
13
16
|
*/
|
|
14
|
-
setToken(token: string | null): void
|
|
17
|
+
setToken(token: string | null): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Handles HTTP errors including automatic token refresh
|
|
20
|
+
*/
|
|
21
|
+
private handleError;
|
|
22
|
+
/**
|
|
23
|
+
* Refresh access token using stored refresh token
|
|
24
|
+
*/
|
|
25
|
+
private refreshAccessToken;
|
|
15
26
|
}
|
|
16
27
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAkC,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,WAAW,MAAM,8BAA8B,CAAC;AAIvD,qBAAa,gBAAgB;IACzB,SAAgB,IAAI,EAAE,aAAa,CAAC;IAEpC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;IAElC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAmC;gBAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAyB5C;;OAEG;IACU,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1D;;OAEG;YACW,WAAW;IAwCzB;;OAEG;YACW,kBAAkB;CAanC"}
|
package/dist/client.js
CHANGED
|
@@ -6,28 +6,28 @@ import MeetService from "./services/meet/meet.service";
|
|
|
6
6
|
import { parseApiError } from "./models/http/api.types";
|
|
7
7
|
export class MeetMyRideClient {
|
|
8
8
|
constructor(baseUrl, apiKey) {
|
|
9
|
-
|
|
9
|
+
this.isRefreshing = false;
|
|
10
|
+
this.refreshQueue = [];
|
|
11
|
+
this.tokenStorage = new TokenStorageService();
|
|
10
12
|
this.http = axios.create({
|
|
11
13
|
baseURL: baseUrl,
|
|
12
|
-
headers: {
|
|
13
|
-
"Content-Type": "application/json",
|
|
14
|
-
...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {})
|
|
15
|
-
},
|
|
14
|
+
headers: { "Content-Type": "application/json" },
|
|
16
15
|
withCredentials: true
|
|
17
16
|
});
|
|
17
|
+
if (apiKey) {
|
|
18
|
+
this.http.defaults.headers["Authorization"] = `Bearer ${apiKey}`;
|
|
19
|
+
}
|
|
18
20
|
// ----- Attach Global Error Interceptor -----
|
|
19
|
-
this.http.interceptors.response.use(response => response, error =>
|
|
20
|
-
throw parseApiError(error);
|
|
21
|
-
});
|
|
21
|
+
this.http.interceptors.response.use(response => response, async (error) => this.handleError(error));
|
|
22
22
|
// Services
|
|
23
23
|
this.user = new UserService(this.http);
|
|
24
|
-
this.auth = new AuthService(this.http,
|
|
24
|
+
this.auth = new AuthService(this.http, this.tokenStorage);
|
|
25
25
|
this.meet = new MeetService(this.http);
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Update the Authorization header manually
|
|
29
29
|
*/
|
|
30
|
-
setToken(token) {
|
|
30
|
+
async setToken(token) {
|
|
31
31
|
if (token) {
|
|
32
32
|
this.http.defaults.headers["Authorization"] = `Bearer ${token}`;
|
|
33
33
|
}
|
|
@@ -35,5 +35,58 @@ export class MeetMyRideClient {
|
|
|
35
35
|
delete this.http.defaults.headers["Authorization"];
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Handles HTTP errors including automatic token refresh
|
|
40
|
+
*/
|
|
41
|
+
async handleError(error) {
|
|
42
|
+
const originalRequest = error.config;
|
|
43
|
+
const refreshToken = await this.tokenStorage.getRefreshToken();
|
|
44
|
+
if (error.response?.status === 401 && !originalRequest._retry && refreshToken) {
|
|
45
|
+
originalRequest._retry = true;
|
|
46
|
+
if (!this.isRefreshing) {
|
|
47
|
+
this.isRefreshing = true;
|
|
48
|
+
try {
|
|
49
|
+
const newToken = await this.refreshAccessToken();
|
|
50
|
+
this.isRefreshing = false;
|
|
51
|
+
this.refreshQueue.forEach(cb => cb(newToken));
|
|
52
|
+
this.refreshQueue = [];
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
this.isRefreshing = false;
|
|
56
|
+
this.refreshQueue = [];
|
|
57
|
+
await this.tokenStorage.clear();
|
|
58
|
+
return Promise.reject(err);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return new Promise((resolve, reject) => {
|
|
62
|
+
this.refreshQueue.push(async (token) => {
|
|
63
|
+
if (!originalRequest.headers)
|
|
64
|
+
originalRequest.headers = {};
|
|
65
|
+
originalRequest.headers["Authorization"] = `Bearer ${token}`;
|
|
66
|
+
try {
|
|
67
|
+
resolve(this.http(originalRequest));
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
reject(err);
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
throw parseApiError(error);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Refresh access token using stored refresh token
|
|
79
|
+
*/
|
|
80
|
+
async refreshAccessToken() {
|
|
81
|
+
const refreshToken = await this.tokenStorage.getRefreshToken();
|
|
82
|
+
if (!refreshToken)
|
|
83
|
+
throw new Error("No refresh token available");
|
|
84
|
+
const res = await this.http.post("/auth/refresh", { refreshToken });
|
|
85
|
+
const { accessToken: accessToken, refreshToken: newRefreshToken } = res.data;
|
|
86
|
+
await this.tokenStorage.setAccessToken(accessToken ?? "");
|
|
87
|
+
await this.tokenStorage.setRefreshToken(newRefreshToken ?? "");
|
|
88
|
+
this.http.defaults.headers["Authorization"] = `Bearer ${accessToken}`;
|
|
89
|
+
return accessToken ?? "";
|
|
90
|
+
}
|
|
38
91
|
}
|
|
39
92
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import { AxiosInstance } from "axios";
|
|
2
2
|
import { UserLogin, AuthResponse, UserRegisterResponse, VerifyEmailResponse, UserRefreshResponse, User } from "../../models/user/user.types";
|
|
3
3
|
import { TokenStorage } from "../tokenstorage/tokenstorage";
|
|
4
|
-
import { MeetMyRideClient } from "../../client";
|
|
5
4
|
export declare class AuthService {
|
|
6
5
|
private http;
|
|
7
6
|
private storage;
|
|
8
|
-
private client?;
|
|
9
7
|
private userSubject;
|
|
10
8
|
user$: import("rxjs").Observable<User | null>;
|
|
11
9
|
private isAuthenticatedSubject;
|
|
12
10
|
isAuthenticated$: import("rxjs").Observable<boolean>;
|
|
13
|
-
constructor(http: AxiosInstance, storage: TokenStorage
|
|
11
|
+
constructor(http: AxiosInstance, storage: TokenStorage);
|
|
14
12
|
private setUser;
|
|
15
13
|
private loadFromStorage;
|
|
16
14
|
login(data: UserLogin): Promise<AuthResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../src/services/auth/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../src/services/auth/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EACH,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACP,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,qBAAa,WAAW;IASZ,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,OAAO;IARvB,OAAO,CAAC,WAAW,CAA0C;IAC7D,KAAK,yCAAmC;IAExC,OAAO,CAAC,sBAAsB,CAAuC;IACrE,gBAAgB,qCAA8C;gBAG9C,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,YAAY;IASrC,OAAO,CAAC,OAAO;YAKD,eAAe;IAoBvB,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IAc7C,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAKlD,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAW3D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASxE,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7B,IAAI,WAAW,IAAI,IAAI,GAAG,IAAI,CAE7B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;CACJ"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { BehaviorSubject } from "rxjs";
|
|
2
2
|
export class AuthService {
|
|
3
|
-
constructor(http, storage
|
|
4
|
-
) {
|
|
3
|
+
constructor(http, storage) {
|
|
5
4
|
this.http = http;
|
|
6
5
|
this.storage = storage;
|
|
7
|
-
this.client = client;
|
|
8
6
|
// --- Reactive state ---
|
|
9
7
|
this.userSubject = new BehaviorSubject(null);
|
|
10
8
|
this.user$ = this.userSubject.asObservable();
|
|
@@ -26,10 +24,6 @@ export class AuthService {
|
|
|
26
24
|
try {
|
|
27
25
|
const user = JSON.parse(userJson);
|
|
28
26
|
this.setUser(user);
|
|
29
|
-
// Update axios headers if client exists
|
|
30
|
-
if (this.client) {
|
|
31
|
-
this.client.setToken(token);
|
|
32
|
-
}
|
|
33
27
|
}
|
|
34
28
|
catch {
|
|
35
29
|
this.setUser(null);
|
|
@@ -46,15 +40,10 @@ export class AuthService {
|
|
|
46
40
|
const res = await this.http.post("/users/login", data);
|
|
47
41
|
const { accessToken, refreshToken, user } = res.data;
|
|
48
42
|
if (accessToken && refreshToken) {
|
|
49
|
-
await this.storage.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
43
|
+
await this.storage.setAccessToken(accessToken);
|
|
44
|
+
await this.storage.setRefreshToken(refreshToken);
|
|
45
|
+
await this.storage.setUser(JSON.stringify(user));
|
|
53
46
|
this.setUser(user);
|
|
54
|
-
// Update axios headers if client exists
|
|
55
|
-
if (this.client) {
|
|
56
|
-
this.client.setToken(accessToken);
|
|
57
|
-
}
|
|
58
47
|
}
|
|
59
48
|
return res.data;
|
|
60
49
|
}
|
|
@@ -64,12 +53,9 @@ export class AuthService {
|
|
|
64
53
|
}
|
|
65
54
|
async refresh(refreshToken) {
|
|
66
55
|
const res = await this.http.post("/users/refresh", { refreshToken });
|
|
67
|
-
if (res.data.accessToken) {
|
|
68
|
-
await this.storage.
|
|
69
|
-
|
|
70
|
-
if (this.client) {
|
|
71
|
-
this.client.setToken(res.data.accessToken);
|
|
72
|
-
}
|
|
56
|
+
if (res.data.accessToken && res.data.refreshToken) {
|
|
57
|
+
await this.storage.setAccessToken(res.data.accessToken);
|
|
58
|
+
await this.storage.setRefreshToken(res.data.refreshToken);
|
|
73
59
|
}
|
|
74
60
|
return res.data;
|
|
75
61
|
}
|
|
@@ -83,9 +69,6 @@ export class AuthService {
|
|
|
83
69
|
async logout() {
|
|
84
70
|
await this.storage.clear();
|
|
85
71
|
this.setUser(null);
|
|
86
|
-
if (this.client) {
|
|
87
|
-
this.client.setToken(null);
|
|
88
|
-
}
|
|
89
72
|
}
|
|
90
73
|
// -------------------------
|
|
91
74
|
// GETTERS
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/services/auth/auth.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../src/services/auth/auth.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export interface TokenStorage {
|
|
2
2
|
getAccessToken(): Promise<string | null>;
|
|
3
3
|
getRefreshToken(): Promise<string | null>;
|
|
4
|
-
|
|
4
|
+
setAccessToken(accessToken: string): Promise<void>;
|
|
5
|
+
setRefreshToken(accessToken: string): Promise<void>;
|
|
5
6
|
getUser(): Promise<string | null>;
|
|
6
7
|
setUser(userJson: string): Promise<void>;
|
|
7
8
|
clear(): Promise<void>;
|
|
@@ -9,7 +10,8 @@ export interface TokenStorage {
|
|
|
9
10
|
export declare class TokenStorageService implements TokenStorage {
|
|
10
11
|
getAccessToken(): Promise<string | null>;
|
|
11
12
|
getRefreshToken(): Promise<string | null>;
|
|
12
|
-
|
|
13
|
+
setAccessToken(accessToken: string): Promise<void>;
|
|
14
|
+
setRefreshToken(refreshToken: string): Promise<void>;
|
|
13
15
|
getUser(): Promise<string | null>;
|
|
14
16
|
setUser(userJson: string): Promise<void>;
|
|
15
17
|
clear(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenstorage.d.ts","sourceRoot":"","sources":["../../../src/services/tokenstorage/tokenstorage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tokenstorage.d.ts","sourceRoot":"","sources":["../../../src/services/tokenstorage/tokenstorage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IACzB,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1C,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,qBAAa,mBAAoB,YAAW,YAAY;IAI9C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKxC,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKzC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKjC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK/B"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// src/services/tokenstorage.ts
|
|
2
1
|
import { Preferences } from "@capacitor/preferences";
|
|
3
2
|
export class TokenStorageService {
|
|
4
3
|
// -------------------------
|
|
@@ -12,8 +11,10 @@ export class TokenStorageService {
|
|
|
12
11
|
const { value } = await Preferences.get({ key: "refreshToken" });
|
|
13
12
|
return value;
|
|
14
13
|
}
|
|
15
|
-
async
|
|
14
|
+
async setAccessToken(accessToken) {
|
|
16
15
|
await Preferences.set({ key: "accessToken", value: accessToken });
|
|
16
|
+
}
|
|
17
|
+
async setRefreshToken(refreshToken) {
|
|
17
18
|
await Preferences.set({ key: "refreshToken", value: refreshToken });
|
|
18
19
|
}
|
|
19
20
|
// -------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenstorage.js","sourceRoot":"","sources":["../../../src/services/tokenstorage/tokenstorage.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tokenstorage.js","sourceRoot":"","sources":["../../../src/services/tokenstorage/tokenstorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAYrD,MAAM,OAAO,mBAAmB;IAC5B,4BAA4B;IAC5B,SAAS;IACT,4BAA4B;IAC5B,KAAK,CAAC,cAAc;QAChB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAAmB;QACpC,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,YAAoB;QACtC,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;IAGD,4BAA4B;IAC5B,OAAO;IACP,4BAA4B;IAC5B,KAAK,CAAC,OAAO;QACT,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC1B,MAAM,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,4BAA4B;IAC5B,YAAY;IACZ,4BAA4B;IAC5B,KAAK,CAAC,KAAK;QACP,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;QACjD,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;QAClD,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;CACJ"}
|