aziosxjs 1.0.0 → 1.0.2

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.
@@ -1,2 +1,158 @@
1
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 __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.NodeHttpAdapter = void 0;
40
+ const http = __importStar(require("http"));
41
+ const https = __importStar(require("https"));
42
+ const url_1 = require("url");
43
+ const HttpAdapter_1 = require("../runtimes/HttpAdapter");
44
+ const AziosError_1 = __importDefault(require("../errors/AziosError"));
45
+ /**
46
+ * Node.js HTTP adapter using built-in http/https modules
47
+ * Compatible with Node.js 16+ (before global fetch was available)
48
+ */
49
+ class NodeHttpAdapter extends HttpAdapter_1.BaseAdapter {
50
+ /**
51
+ * Check if this adapter is supported (Node.js environment)
52
+ */
53
+ isSupported() {
54
+ // In Node.js, this adapter is always supported
55
+ return true;
56
+ }
57
+ /**
58
+ * Execute HTTP request using Node.js http/https modules
59
+ */
60
+ async request(config) {
61
+ if (!this.isSupported()) {
62
+ throw new AziosError_1.default('Node HTTP adapter is not supported in this runtime', 'UNSUPPORTED_RUNTIME', config);
63
+ }
64
+ // Check if request is already cancelled
65
+ if (config.signal && config.signal.aborted) {
66
+ throw new AziosError_1.default('Request aborted', 'ABORTED', config);
67
+ }
68
+ return new Promise((resolve, reject) => {
69
+ const { url, method = 'GET', headers = {}, data, timeout, signal } = config;
70
+ const baseURL = config.baseURL || '';
71
+ const fullURL = new url_1.URL(baseURL + url);
72
+ // Add query parameters
73
+ if (config.params) {
74
+ Object.entries(config.params).forEach(([key, value]) => {
75
+ if (value !== null && value !== undefined) {
76
+ if (Array.isArray(value)) {
77
+ value.forEach(v => fullURL.searchParams.append(key, String(v)));
78
+ }
79
+ else {
80
+ fullURL.searchParams.set(key, String(value));
81
+ }
82
+ }
83
+ });
84
+ }
85
+ const isHttps = fullURL.protocol === 'https:';
86
+ const client = isHttps ? https : http;
87
+ const options = {
88
+ hostname: fullURL.hostname,
89
+ port: fullURL.port || (isHttps ? 443 : 80),
90
+ path: fullURL.pathname + fullURL.search,
91
+ method: method.toUpperCase(),
92
+ headers: {
93
+ 'Content-Type': 'application/json',
94
+ ...headers
95
+ }
96
+ };
97
+ // Handle timeout
98
+ let timeoutId;
99
+ if (timeout) {
100
+ timeoutId = setTimeout(() => {
101
+ req.destroy(new Error('Request timeout'));
102
+ }, timeout);
103
+ }
104
+ // Handle abort signal
105
+ if (signal) {
106
+ signal.addEventListener('abort', () => {
107
+ req.destroy(new Error('Request aborted'));
108
+ });
109
+ }
110
+ const req = client.request(options, (res) => {
111
+ let body = '';
112
+ res.on('data', (chunk) => {
113
+ body += chunk;
114
+ });
115
+ res.on('end', () => {
116
+ if (timeoutId) {
117
+ clearTimeout(timeoutId);
118
+ }
119
+ let responseData = body;
120
+ // Parse JSON if content-type is application/json
121
+ const contentType = res.headers['content-type'];
122
+ if ((contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) && body) {
123
+ try {
124
+ responseData = JSON.parse(body);
125
+ }
126
+ catch (e) {
127
+ // Keep as string if parsing fails
128
+ }
129
+ }
130
+ const response = {
131
+ data: responseData,
132
+ status: res.statusCode || 200,
133
+ statusText: res.statusMessage || '',
134
+ headers: res.headers,
135
+ config
136
+ };
137
+ resolve(response);
138
+ });
139
+ });
140
+ req.on('error', (error) => {
141
+ if (timeoutId) {
142
+ clearTimeout(timeoutId);
143
+ }
144
+ const errorCode = error.message.includes('aborted') ? 'ABORTED' : 'NETWORK_ERROR';
145
+ reject(new AziosError_1.default(`Request failed: ${error.message}`, errorCode, config, undefined, error));
146
+ });
147
+ // Send request body
148
+ if (data) {
149
+ const body = typeof data === 'string' ? data : JSON.stringify(data);
150
+ req.write(body);
151
+ }
152
+ req.end();
153
+ });
154
+ }
155
+ }
156
+ exports.NodeHttpAdapter = NodeHttpAdapter;
157
+ exports.default = NodeHttpAdapter;
2
158
  //# sourceMappingURL=httpAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"httpAdapter.js","sourceRoot":"","sources":["../../src/adapters/httpAdapter.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"httpAdapter.js","sourceRoot":"","sources":["../../src/adapters/httpAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export { default as NodeHttpAdapter } from './httpAdapter';
@@ -1,2 +1,9 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NodeHttpAdapter = void 0;
7
+ var httpAdapter_1 = require("./httpAdapter");
8
+ Object.defineProperty(exports, "NodeHttpAdapter", { enumerable: true, get: function () { return __importDefault(httpAdapter_1).default; } });
2
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA0D;AAAjD,+HAAA,OAAO,OAAmB"}
@@ -0,0 +1,100 @@
1
+ import type { AziosInstance } from "../types/request";
2
+ import type { AziosRequestConfig } from "../types/config";
3
+ /**
4
+ * Token storage and refresh configuration
5
+ */
6
+ export interface TokenConfig {
7
+ accessToken: string;
8
+ refreshToken?: string;
9
+ expiresIn?: number;
10
+ tokenType?: string;
11
+ }
12
+ /**
13
+ * Auth endpoints configuration
14
+ */
15
+ export interface AuthEndpoints {
16
+ refreshUrl: string;
17
+ logoutUrl?: string;
18
+ }
19
+ /**
20
+ * Auth Manager - Handle authentication, token refresh, and 401 responses
21
+ * Production-grade auth system with automatic token refresh and global 401 handling
22
+ */
23
+ export default class AuthManager {
24
+ private token;
25
+ private endpoints;
26
+ private instance;
27
+ private isRefreshing;
28
+ private refreshSubscribers;
29
+ /**
30
+ * Initialize the auth manager with endpoints
31
+ */
32
+ initialize(endpoints: AuthEndpoints): void;
33
+ /**
34
+ * Set the Azios instance for making refresh requests
35
+ */
36
+ setInstance(instance: AziosInstance): void;
37
+ /**
38
+ * Store token
39
+ */
40
+ setToken(token: TokenConfig): void;
41
+ /**
42
+ * Get current token
43
+ */
44
+ getToken(): TokenConfig | null;
45
+ /**
46
+ * Get access token string
47
+ */
48
+ getAccessToken(): string | null;
49
+ /**
50
+ * Check if token exists
51
+ */
52
+ hasToken(): boolean;
53
+ /**
54
+ * Check if token is expired
55
+ */
56
+ isTokenExpired(): boolean;
57
+ /**
58
+ * Clear token
59
+ */
60
+ clearToken(): void;
61
+ /**
62
+ * Refresh the access token
63
+ */
64
+ refreshAccessToken(): Promise<boolean>;
65
+ /**
66
+ * Get Authorization header value
67
+ */
68
+ getAuthHeader(): string | null;
69
+ /**
70
+ * Attach auth header to request
71
+ */
72
+ attachAuthHeader(config: AziosRequestConfig): AziosRequestConfig;
73
+ /**
74
+ * Handle 401 response (unauthorized)
75
+ */
76
+ handle401(config: AziosRequestConfig): Promise<boolean>;
77
+ /**
78
+ * Logout user
79
+ */
80
+ logout(): Promise<void>;
81
+ /**
82
+ * Get auth status summary
83
+ */
84
+ getStatus(): {
85
+ authenticated: boolean;
86
+ tokenExpired: boolean;
87
+ refreshToken: boolean;
88
+ };
89
+ }
90
+ /**
91
+ * Create auth plugin that integrates with Azios
92
+ */
93
+ export declare function createAuthPlugin(endpoints: AuthEndpoints): {
94
+ name: string;
95
+ version: string;
96
+ hooks: {
97
+ onInstall: (instance: AziosInstance) => Promise<void>;
98
+ };
99
+ };
100
+ export type { AuthManager };
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAuthPlugin = createAuthPlugin;
4
+ /**
5
+ * Auth Manager - Handle authentication, token refresh, and 401 responses
6
+ * Production-grade auth system with automatic token refresh and global 401 handling
7
+ */
8
+ class AuthManager {
9
+ constructor() {
10
+ this.token = null;
11
+ this.endpoints = null;
12
+ this.instance = null;
13
+ this.isRefreshing = false;
14
+ this.refreshSubscribers = [];
15
+ }
16
+ /**
17
+ * Initialize the auth manager with endpoints
18
+ */
19
+ initialize(endpoints) {
20
+ this.endpoints = endpoints;
21
+ }
22
+ /**
23
+ * Set the Azios instance for making refresh requests
24
+ */
25
+ setInstance(instance) {
26
+ this.instance = instance;
27
+ }
28
+ /**
29
+ * Store token
30
+ */
31
+ setToken(token) {
32
+ this.token = token;
33
+ }
34
+ /**
35
+ * Get current token
36
+ */
37
+ getToken() {
38
+ return this.token;
39
+ }
40
+ /**
41
+ * Get access token string
42
+ */
43
+ getAccessToken() {
44
+ var _a;
45
+ return ((_a = this.token) === null || _a === void 0 ? void 0 : _a.accessToken) || null;
46
+ }
47
+ /**
48
+ * Check if token exists
49
+ */
50
+ hasToken() {
51
+ return this.token !== null && this.token.accessToken !== "";
52
+ }
53
+ /**
54
+ * Check if token is expired
55
+ */
56
+ isTokenExpired() {
57
+ if (!this.token || !this.token.expiresIn) {
58
+ return false;
59
+ }
60
+ // Check if expiry time has passed (with 60s buffer)
61
+ return Date.now() > this.token.expiresIn - 60000;
62
+ }
63
+ /**
64
+ * Clear token
65
+ */
66
+ clearToken() {
67
+ this.token = null;
68
+ this.refreshSubscribers = [];
69
+ }
70
+ /**
71
+ * Refresh the access token
72
+ */
73
+ async refreshAccessToken() {
74
+ var _a, _b;
75
+ if (!this.instance || !this.endpoints) {
76
+ console.warn("AuthManager not properly initialized");
77
+ return false;
78
+ }
79
+ if (!((_a = this.token) === null || _a === void 0 ? void 0 : _a.refreshToken)) {
80
+ console.warn("No refresh token available");
81
+ return false;
82
+ }
83
+ try {
84
+ // Prevent multiple simultaneous refresh requests
85
+ if (this.isRefreshing) {
86
+ return new Promise(resolve => {
87
+ this.refreshSubscribers.push(() => {
88
+ resolve(true);
89
+ });
90
+ });
91
+ }
92
+ this.isRefreshing = true;
93
+ const response = await this.instance.post(this.endpoints.refreshUrl, { refreshToken: this.token.refreshToken });
94
+ if ((_b = response.data) === null || _b === void 0 ? void 0 : _b.accessToken) {
95
+ this.token = {
96
+ ...this.token,
97
+ accessToken: response.data.accessToken,
98
+ expiresIn: Date.now() + (response.data.expiresIn || 3600000)
99
+ };
100
+ // Notify all subscribers
101
+ this.refreshSubscribers.forEach(cb => cb(this.token.accessToken));
102
+ this.refreshSubscribers = [];
103
+ this.isRefreshing = false;
104
+ return true;
105
+ }
106
+ this.isRefreshing = false;
107
+ return false;
108
+ }
109
+ catch (error) {
110
+ this.isRefreshing = false;
111
+ console.error("Token refresh failed:", error);
112
+ return false;
113
+ }
114
+ }
115
+ /**
116
+ * Get Authorization header value
117
+ */
118
+ getAuthHeader() {
119
+ var _a, _b;
120
+ if (!this.hasToken()) {
121
+ return null;
122
+ }
123
+ const tokenType = ((_a = this.token) === null || _a === void 0 ? void 0 : _a.tokenType) || "Bearer";
124
+ return `${tokenType} ${(_b = this.token) === null || _b === void 0 ? void 0 : _b.accessToken}`;
125
+ }
126
+ /**
127
+ * Attach auth header to request
128
+ */
129
+ attachAuthHeader(config) {
130
+ const authHeader = this.getAuthHeader();
131
+ if (authHeader) {
132
+ return {
133
+ ...config,
134
+ headers: {
135
+ ...config.headers,
136
+ Authorization: authHeader
137
+ }
138
+ };
139
+ }
140
+ return config;
141
+ }
142
+ /**
143
+ * Handle 401 response (unauthorized)
144
+ */
145
+ async handle401(config) {
146
+ if (!this.hasToken()) {
147
+ // No token to refresh
148
+ return false;
149
+ }
150
+ const refreshed = await this.refreshAccessToken();
151
+ if (refreshed) {
152
+ // Update the failed request with new token
153
+ return true;
154
+ }
155
+ // Token refresh failed, logout
156
+ await this.logout();
157
+ return false;
158
+ }
159
+ /**
160
+ * Logout user
161
+ */
162
+ async logout() {
163
+ var _a;
164
+ if (this.instance && ((_a = this.endpoints) === null || _a === void 0 ? void 0 : _a.logoutUrl)) {
165
+ try {
166
+ await this.instance.post(this.endpoints.logoutUrl);
167
+ }
168
+ catch (error) {
169
+ console.error("Logout failed:", error);
170
+ }
171
+ }
172
+ this.clearToken();
173
+ }
174
+ /**
175
+ * Get auth status summary
176
+ */
177
+ getStatus() {
178
+ var _a;
179
+ return {
180
+ authenticated: this.hasToken(),
181
+ tokenExpired: this.isTokenExpired(),
182
+ refreshToken: ((_a = this.token) === null || _a === void 0 ? void 0 : _a.refreshToken) !== undefined
183
+ };
184
+ }
185
+ }
186
+ exports.default = AuthManager;
187
+ /**
188
+ * Create auth plugin that integrates with Azios
189
+ */
190
+ function createAuthPlugin(endpoints) {
191
+ const authManager = new AuthManager();
192
+ authManager.initialize(endpoints);
193
+ return {
194
+ name: "auth",
195
+ version: "1.0.0",
196
+ hooks: {
197
+ onInstall: async (instance) => {
198
+ authManager.setInstance(instance);
199
+ // Add response interceptor to handle 401
200
+ instance.interceptors.response.use((response) => response, async (error) => {
201
+ var _a;
202
+ const originalRequest = error.config;
203
+ // Check if error is 401 and retry hasn't been attempted
204
+ if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401 &&
205
+ !originalRequest._retry &&
206
+ authManager.hasToken()) {
207
+ originalRequest._retry = true;
208
+ try {
209
+ const refreshed = await authManager.handle401(originalRequest);
210
+ if (refreshed) {
211
+ // Retry original request with new token
212
+ const newConfig = authManager.attachAuthHeader(originalRequest);
213
+ return instance.request(newConfig);
214
+ }
215
+ }
216
+ catch (refreshError) {
217
+ console.error("Auth refresh failed:", refreshError);
218
+ }
219
+ }
220
+ throw error;
221
+ });
222
+ }
223
+ }
224
+ };
225
+ }
226
+ //# sourceMappingURL=AuthManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthManager.js","sourceRoot":"","sources":["../../src/auth/AuthManager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import type { AziosPlugin } from "../types/plugin";
3
3
  import InterceptorManager from "../interceptors/InterceptorManager";
4
4
  import PluginManager from "../plugins/pluginManager";
5
5
  import MiddlewareManager from "../middleware/middlewareManager";
6
+ import RequestMonitor from "../monitoring/RequestMonitor";
6
7
  /**
7
8
  * Core Azios HTTP client class
8
9
  * Production-grade implementation with plugin system, middleware, and interceptors
@@ -15,6 +16,7 @@ export default class Azios {
15
16
  };
16
17
  middlewares: MiddlewareManager;
17
18
  plugins: PluginManager;
19
+ monitor: RequestMonitor;
18
20
  constructor(config: AziosRequestConfig);
19
21
  /**
20
22
  * Register middleware using Koa-style middleware pattern
@@ -8,6 +8,7 @@ const InterceptorManager_1 = __importDefault(require("../interceptors/Intercepto
8
8
  const pluginManager_1 = __importDefault(require("../plugins/pluginManager"));
9
9
  const middlewareManager_1 = __importDefault(require("../middleware/middlewareManager"));
10
10
  const compose_1 = require("../middleware/compose");
11
+ const RequestMonitor_1 = __importDefault(require("../monitoring/RequestMonitor"));
11
12
  /**
12
13
  * Core Azios HTTP client class
13
14
  * Production-grade implementation with plugin system, middleware, and interceptors
@@ -21,6 +22,7 @@ class Azios {
21
22
  };
22
23
  this.middlewares = new middlewareManager_1.default();
23
24
  this.plugins = new pluginManager_1.default();
25
+ this.monitor = new RequestMonitor_1.default(100, false); // Disabled by default
24
26
  }
25
27
  /**
26
28
  * Register middleware using Koa-style middleware pattern
@@ -47,44 +49,57 @@ class Azios {
47
49
  async request(config) {
48
50
  config = { ...this.defaults, ...config };
49
51
  // -------------------------
50
- // PLUGIN: PRE-REQUEST HOOKS
52
+ // MONITORING: START TRACKING
51
53
  // -------------------------
52
- config = await this.plugins.executeBeforeRequestHooks(config);
53
- // -------------------------
54
- // MIDDLEWARE PIPELINE
55
- // -------------------------
56
- const context = { config };
57
- const fn = (0, compose_1.compose)(this.middlewares.middlewares);
58
- await fn(context);
59
- config = context.config;
60
- // -------------------------
61
- // INTERCEPTOR PIPELINE
62
- // -------------------------
63
- const chain = [];
64
- // Request interceptors (reverse order)
65
- this.interceptors.request.forEach(interceptor => {
66
- chain.unshift(interceptor.fulfilled, interceptor.rejected);
67
- });
68
- // Main dispatch
69
- chain.push(dispatchRequest_1.default, undefined);
70
- // Response interceptors (normal order)
71
- this.interceptors.response.forEach(interceptor => {
72
- chain.push(interceptor.fulfilled, interceptor.rejected);
73
- });
74
- let promise = Promise.resolve(config);
75
- while (chain.length) {
76
- const fulfilled = chain.shift();
77
- const rejected = chain.shift();
78
- promise = promise.then(fulfilled, rejected);
79
- }
54
+ const requestId = this.monitor.startRequest(config);
80
55
  try {
56
+ // -------------------------
57
+ // PLUGIN: PRE-REQUEST HOOKS
58
+ // -------------------------
59
+ config = await this.plugins.executeBeforeRequestHooks(config);
60
+ // -------------------------
61
+ // MIDDLEWARE PIPELINE
62
+ // -------------------------
63
+ const context = { config };
64
+ const fn = (0, compose_1.compose)(this.middlewares.middlewares);
65
+ await fn(context);
66
+ config = context.config;
67
+ // -------------------------
68
+ // INTERCEPTOR PIPELINE
69
+ // -------------------------
70
+ const chain = [];
71
+ // Request interceptors (reverse order)
72
+ this.interceptors.request.forEach(interceptor => {
73
+ chain.unshift(interceptor.fulfilled, interceptor.rejected);
74
+ });
75
+ // Main dispatch
76
+ chain.push(dispatchRequest_1.default, undefined);
77
+ // Response interceptors (normal order)
78
+ this.interceptors.response.forEach(interceptor => {
79
+ chain.push(interceptor.fulfilled, interceptor.rejected);
80
+ });
81
+ let promise = Promise.resolve(config);
82
+ while (chain.length) {
83
+ const fulfilled = chain.shift();
84
+ const rejected = chain.shift();
85
+ promise = promise.then(fulfilled, rejected);
86
+ }
81
87
  const response = await promise;
82
88
  // -------------------------
83
89
  // PLUGIN: POST-RESPONSE HOOKS
84
90
  // -------------------------
85
- return await this.plugins.executeAfterResponseHooks(response);
91
+ const finalResponse = await this.plugins.executeAfterResponseHooks(response);
92
+ // -------------------------
93
+ // MONITORING: END TRACKING (SUCCESS)
94
+ // -------------------------
95
+ this.monitor.endRequest(requestId, config, finalResponse);
96
+ return finalResponse;
86
97
  }
87
98
  catch (error) {
99
+ // -------------------------
100
+ // MONITORING: END TRACKING (ERROR)
101
+ // -------------------------
102
+ this.monitor.endRequestWithError(requestId, config, error);
88
103
  // -------------------------
89
104
  // PLUGIN: ERROR HOOKS
90
105
  // -------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"Azios.js","sourceRoot":"","sources":["../../src/core/Azios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Azios.js","sourceRoot":"","sources":["../../src/core/Azios.ts"],"names":[],"mappings":"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"}