libre-webui 0.19.4 → 0.19.6
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/backend/dist/services/ollamaService.d.ts +8 -0
- package/backend/dist/services/ollamaService.d.ts.map +1 -1
- package/backend/dist/services/ollamaService.js +17 -12
- package/backend/dist/services/ollamaService.js.map +1 -1
- package/backend/package.json +1 -1
- package/electron/main.js +196 -11
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/{index-DrcHGnwk.js → index-Cd0_AoYV.js} +17 -58
- package/frontend/dist/index.html +9 -9
- package/frontend/dist/js/{ArtifactContainer-CEBbQqtg.js → ArtifactContainer-Dy_1KKWg.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-BDTtUPjk.js → ArtifactDemoPage-Big00RwH.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-DOQWmEAm.js → ArtifactSandboxFrame-C_S4j076.js} +2 -2
- package/frontend/dist/js/{ArtifactSlideOutPanel-BMhWWM3P.js → ArtifactSlideOutPanel-B4-D3HkB.js} +1 -1
- package/frontend/dist/js/{ChatPage-B64xgIPZ.js → ChatPage-BkFd1iac.js} +1 -1
- package/frontend/dist/js/{FirstTimeSetup-1IqkWCsV.js → FirstTimeSetup-C6YxrwR7.js} +1 -1
- package/frontend/dist/js/{GalleryPage-CKgQAYmH.js → GalleryPage-BtcPs7SO.js} +1 -1
- package/frontend/dist/js/{HomePage-aNO615Go.js → HomePage-5PhpAt14.js} +1 -1
- package/frontend/dist/js/{LibreClawPage-DZqgIOgT.js → LibreClawPage-B14Go5Mn.js} +1 -1
- package/frontend/dist/js/{ModelSelector-DhmVTh2d.js → ModelSelector-C1wN91tl.js} +1 -1
- package/frontend/dist/js/{ModelsPage-tzXaut3l.js → ModelsPage-Cc3L0ur8.js} +1 -1
- package/frontend/dist/js/{NotesPage-Ciwrazz9.js → NotesPage-BwEMW-Z3.js} +1 -1
- package/frontend/dist/js/{PersonasPage-C9Pkl4yH.js → PersonasPage-e-CbTxP3.js} +1 -1
- package/frontend/dist/js/{PluginUsagePage-DPfyos1y.js → PluginUsagePage-CvZMJJwv.js} +1 -1
- package/frontend/dist/js/{RichMessageContent-CUcmvdXW.js → RichMessageContent-DNl3_CIw.js} +1 -1
- package/frontend/dist/js/SettingsModal-C8KJJEud.js +1 -0
- package/frontend/dist/js/{SystemPage-CkUsJ-UR.js → SystemPage-8kEAS71H.js} +1 -1
- package/frontend/dist/js/{UserManagementPage-DClRsCeA.js → UserManagementPage-BSrZ0ucu.js} +1 -1
- package/frontend/dist/js/{WorkPage-cJEe9LZ_.js → WorkPage-spf92PVN.js} +3 -3
- package/frontend/dist/js/{api-iDBo7I0x.js → api-MySpmAK8.js} +2 -2
- package/frontend/dist/js/{appStore-BAFz_6aP.js → appStore-BpoXhleX.js} +2 -2
- package/frontend/dist/js/{ar-D3PgKaYD.js → ar-ClMsdoTH.js} +1 -1
- package/frontend/dist/js/{authStore-2665PsVB.js → authStore-DmrydYuS.js} +1 -1
- package/frontend/dist/js/{bn-DJiNo5j1.js → bn-LyPol_AY.js} +1 -1
- package/frontend/dist/js/{chatStore-fX9gMb9B.js → chatStore-CWqfsOjc.js} +2 -2
- package/frontend/dist/js/{config-CmH3hRFc.js → config-CuXlcWP1.js} +1 -1
- package/frontend/dist/js/{cs-BJ7pToPB.js → cs-D98fZaKF.js} +1 -1
- package/frontend/dist/js/{da-Cqw35YeI.js → da-M7ND0GQR.js} +1 -1
- package/frontend/dist/js/{de-DLw7O2DX.js → de-BV0q1kzb.js} +1 -1
- package/frontend/dist/js/{es-CLg6Zl_p.js → es-C7FvsVoN.js} +1 -1
- package/frontend/dist/js/{estree-63s2XfPj.js → estree-BuWOCMW0.js} +1 -1
- package/frontend/dist/js/{fr-BUmG4BWs.js → fr-5SloN0ok.js} +1 -1
- package/frontend/dist/js/{hi-CGktbsaL.js → hi-C6VeRgeR.js} +1 -1
- package/frontend/dist/js/{html-CRbptZf3.js → html-D7tW7UvW.js} +1 -1
- package/frontend/dist/js/{i18n-DFbHZ75-.js → i18n-CLd1FZPx.js} +2 -2
- package/frontend/dist/js/{id-C7FnPtw9.js → id-CkVp7Z1Z.js} +1 -1
- package/frontend/dist/js/{is-_FSS24Pj.js → is-DqxnBX4W.js} +1 -1
- package/frontend/dist/js/{it-DWTgF8my.js → it-CiW4_O5V.js} +1 -1
- package/frontend/dist/js/{ja-jYrlZiIs.js → ja-BZ3Sdund.js} +1 -1
- package/frontend/dist/js/{ko-3PZ87sc7.js → ko-CS7LAhfJ.js} +1 -1
- package/frontend/dist/js/{markdown-C23cybKA.js → markdown-CBSxWEtK.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-BJVb4sK7.js → messageCodeStyles-BlTi46wI.js} +1 -1
- package/frontend/dist/js/{ms-BfySq07T.js → ms-URvcYqgz.js} +1 -1
- package/frontend/dist/js/{nl-DupdNsDK.js → nl-CQJpW7wK.js} +1 -1
- package/frontend/dist/js/{pl-DYoPcTNe.js → pl-DDMgPMAz.js} +1 -1
- package/frontend/dist/js/{pt-p_-S_r1k.js → pt-JCqqmGn_.js} +1 -1
- package/frontend/dist/js/{ru-CuJFlVPc.js → ru-C_dwMbiK.js} +1 -1
- package/frontend/dist/js/{standalone-BwzoPJoZ.js → standalone-CaXys7q3.js} +1 -1
- package/frontend/dist/js/{sv-DyZJcYOQ.js → sv-CW3c9NGx.js} +1 -1
- package/frontend/dist/js/{th-Cd6fTxUn.js → th-9ARgClBr.js} +1 -1
- package/frontend/dist/js/{tr-BB1gefYF.js → tr-DNY5_DAg.js} +1 -1
- package/frontend/dist/js/{typescript-CS-sPC9m.js → typescript-DQ5zi5zo.js} +1 -1
- package/frontend/dist/js/{ui-B-C2BCTb.js → ui-DFQiHo_k.js} +2 -2
- package/frontend/dist/js/{uk-DFURilqa.js → uk-XDh4_7IL.js} +1 -1
- package/frontend/dist/js/{vi-BXclLwGp.js → vi-BaoJBXnt.js} +1 -1
- package/frontend/dist/js/{zh-BS8f68w1.js → zh-B202vYJt.js} +1 -1
- package/package.json +4 -1
- package/frontend/dist/js/SettingsModal-DhrjNMcd.js +0 -1
|
@@ -5,6 +5,14 @@ import { type OllamaModelDefaults } from '../utils/ollamaModelDefaults.js';
|
|
|
5
5
|
* are hosted and proxy through ollama.com.
|
|
6
6
|
*/
|
|
7
7
|
export declare function isCloudModel(model: string | undefined): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Strip option values Ollama cannot take. num_ctx has no "unlimited" sentinel:
|
|
10
|
+
* a context size must be positive everywhere, and pins written while a hosted
|
|
11
|
+
* model was selected can carry -1. num_predict: -1 is valid locally (it means
|
|
12
|
+
* unlimited), but the cloud backend maps num_predict -> max_tokens, which must
|
|
13
|
+
* be positive, so for cloud we omit it and let the host apply its default.
|
|
14
|
+
*/
|
|
15
|
+
export declare function sanitizeOptionsForModel(model: string, options: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
|
|
8
16
|
declare class OllamaService {
|
|
9
17
|
private modelDefaultsCache;
|
|
10
18
|
private client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAOzC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAM/D;
|
|
1
|
+
{"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,21 +30,26 @@ export function isCloudModel(model) {
|
|
|
30
30
|
(normalized.endsWith(':cloud') || normalized.endsWith('-cloud')));
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* Strip
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
33
|
+
* Strip option values Ollama cannot take. num_ctx has no "unlimited" sentinel:
|
|
34
|
+
* a context size must be positive everywhere, and pins written while a hosted
|
|
35
|
+
* model was selected can carry -1. num_predict: -1 is valid locally (it means
|
|
36
|
+
* unlimited), but the cloud backend maps num_predict -> max_tokens, which must
|
|
37
|
+
* be positive, so for cloud we omit it and let the host apply its default.
|
|
37
38
|
*/
|
|
38
|
-
function sanitizeOptionsForModel(model, options) {
|
|
39
|
-
if (!options
|
|
39
|
+
export function sanitizeOptionsForModel(model, options) {
|
|
40
|
+
if (!options)
|
|
40
41
|
return options;
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
const isInvalid = (value) => typeof value === 'number' && value <= 0;
|
|
43
|
+
const dropNumCtx = isInvalid(options.num_ctx);
|
|
44
|
+
const dropNumPredict = isCloudModel(model) && isInvalid(options.num_predict);
|
|
45
|
+
if (!dropNumCtx && !dropNumPredict)
|
|
46
|
+
return options;
|
|
47
|
+
const sanitized = { ...options };
|
|
48
|
+
if (dropNumCtx)
|
|
49
|
+
delete sanitized.num_ctx;
|
|
50
|
+
if (dropNumPredict)
|
|
44
51
|
delete sanitized.num_predict;
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
return options;
|
|
52
|
+
return sanitized;
|
|
48
53
|
}
|
|
49
54
|
const MODEL_DEFAULTS_TTL_MS = 10 * 60 * 1000;
|
|
50
55
|
class OllamaService {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollamaService.js","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ollamaService.js","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
|
package/backend/package.json
CHANGED
package/electron/main.js
CHANGED
|
@@ -15,11 +15,14 @@ const {
|
|
|
15
15
|
shell,
|
|
16
16
|
Menu,
|
|
17
17
|
dialog,
|
|
18
|
+
ipcMain,
|
|
18
19
|
nativeTheme,
|
|
19
20
|
nativeImage,
|
|
20
21
|
} = require('electron');
|
|
21
22
|
const path = require('path');
|
|
23
|
+
const fs = require('fs');
|
|
22
24
|
const http = require('http');
|
|
25
|
+
const https = require('https');
|
|
23
26
|
const { spawn } = require('child_process');
|
|
24
27
|
|
|
25
28
|
// Get icon path for Linux (icons are in extraResources for production)
|
|
@@ -145,6 +148,179 @@ function createMainWindow() {
|
|
|
145
148
|
return mainWindow;
|
|
146
149
|
}
|
|
147
150
|
|
|
151
|
+
// Where the last landing choice is remembered: {mode: 'local'} or
|
|
152
|
+
// {mode: 'remote', url}. Absent means the landing page decides.
|
|
153
|
+
const getLandingChoicePath = () =>
|
|
154
|
+
path.join(app.getPath('userData'), 'landing.json');
|
|
155
|
+
|
|
156
|
+
function readLandingChoice() {
|
|
157
|
+
try {
|
|
158
|
+
const choice = JSON.parse(fs.readFileSync(getLandingChoicePath(), 'utf8'));
|
|
159
|
+
if (choice && choice.mode === 'local') return choice;
|
|
160
|
+
if (
|
|
161
|
+
choice &&
|
|
162
|
+
choice.mode === 'remote' &&
|
|
163
|
+
typeof choice.url === 'string' &&
|
|
164
|
+
/^https?:\/\//.test(choice.url)
|
|
165
|
+
) {
|
|
166
|
+
return choice;
|
|
167
|
+
}
|
|
168
|
+
} catch {
|
|
169
|
+
// No saved choice, or an unreadable one: the landing page decides.
|
|
170
|
+
}
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function saveLandingChoice(choice) {
|
|
175
|
+
try {
|
|
176
|
+
fs.mkdirSync(app.getPath('userData'), { recursive: true });
|
|
177
|
+
fs.writeFileSync(getLandingChoicePath(), JSON.stringify(choice));
|
|
178
|
+
} catch (error) {
|
|
179
|
+
console.error('Could not remember the landing choice:', error);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// A server qualifies when its health endpoint answers. Both the Docker image
|
|
184
|
+
// and a bare `npm run dev:backend` expose /health at the root.
|
|
185
|
+
function probeServer(baseUrl) {
|
|
186
|
+
return new Promise(resolve => {
|
|
187
|
+
let target;
|
|
188
|
+
try {
|
|
189
|
+
target = new URL('/health', baseUrl);
|
|
190
|
+
} catch {
|
|
191
|
+
resolve(false);
|
|
192
|
+
return;
|
|
193
|
+
}
|
|
194
|
+
const client = target.protocol === 'https:' ? https : http;
|
|
195
|
+
const request = client.get(target.toString(), response => {
|
|
196
|
+
response.resume();
|
|
197
|
+
resolve(response.statusCode === 200);
|
|
198
|
+
});
|
|
199
|
+
request.on('error', () => resolve(false));
|
|
200
|
+
request.setTimeout(5000, () => {
|
|
201
|
+
request.destroy();
|
|
202
|
+
resolve(false);
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// Only the bundled landing page may steer the window; content loaded from a
|
|
208
|
+
// server must not be able to invoke these channels.
|
|
209
|
+
const isLandingSender = event => {
|
|
210
|
+
try {
|
|
211
|
+
const senderUrl = new URL(event.senderFrame.url);
|
|
212
|
+
return (
|
|
213
|
+
senderUrl.protocol === 'file:' &&
|
|
214
|
+
senderUrl.pathname.endsWith('/landing.html')
|
|
215
|
+
);
|
|
216
|
+
} catch {
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
function loadLocalApp(window) {
|
|
222
|
+
if (isDev) {
|
|
223
|
+
window.loadURL(`http://localhost:${FRONTEND_PORT}`);
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const frontendPath = getResourcePath('frontend', 'dist', 'index.html');
|
|
227
|
+
window.loadFile(frontendPath).catch(err => {
|
|
228
|
+
console.error('Failed to load frontend:', err);
|
|
229
|
+
dialog.showErrorBox('Load Error', `Could not load app: ${err.message}`);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
function showLanding(window) {
|
|
234
|
+
window.loadFile(path.join(__dirname, 'landing.html'));
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
// A tolerant version lookup for the setup screen; the system-info endpoint is
|
|
238
|
+
// public and answers before any login.
|
|
239
|
+
function fetchLocalVersion() {
|
|
240
|
+
return new Promise(resolve => {
|
|
241
|
+
const request = http.get(
|
|
242
|
+
`http://localhost:${BACKEND_PORT}/api/auth/system-info`,
|
|
243
|
+
response => {
|
|
244
|
+
let body = '';
|
|
245
|
+
response.on('data', chunk => {
|
|
246
|
+
body += chunk;
|
|
247
|
+
});
|
|
248
|
+
response.on('end', () => {
|
|
249
|
+
try {
|
|
250
|
+
resolve(JSON.parse(body).data.version || null);
|
|
251
|
+
} catch {
|
|
252
|
+
resolve(null);
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
);
|
|
257
|
+
request.on('error', () => resolve(null));
|
|
258
|
+
request.setTimeout(2000, () => {
|
|
259
|
+
request.destroy();
|
|
260
|
+
resolve(null);
|
|
261
|
+
});
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function registerLandingHandlers() {
|
|
266
|
+
ipcMain.on('landing-launch-local', event => {
|
|
267
|
+
if (!isLandingSender(event) || !mainWindow) return;
|
|
268
|
+
saveLandingChoice({ mode: 'local' });
|
|
269
|
+
loadLocalApp(mainWindow);
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
ipcMain.handle('landing-probe-local', async event => {
|
|
273
|
+
if (!isLandingSender(event)) return { healthy: false, version: null };
|
|
274
|
+
const healthy = await probeServer(`http://localhost:${BACKEND_PORT}`);
|
|
275
|
+
const version = healthy ? await fetchLocalVersion() : null;
|
|
276
|
+
return { healthy, version };
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
// The preload has always exposed getVersion; answer it.
|
|
280
|
+
ipcMain.handle('get-version', () => app.getVersion());
|
|
281
|
+
|
|
282
|
+
// The landing page's guidance links only; arbitrary pages stay out.
|
|
283
|
+
const LANDING_LINKS = new Set([
|
|
284
|
+
'https://docs.librewebui.org/DOCKER/',
|
|
285
|
+
'https://docs.docker.com/get-docker/',
|
|
286
|
+
'https://ollama.com/download',
|
|
287
|
+
'https://librewebui.org',
|
|
288
|
+
'https://docs.librewebui.org',
|
|
289
|
+
'https://kroonen.ai',
|
|
290
|
+
]);
|
|
291
|
+
ipcMain.on('landing-open-external', (event, url) => {
|
|
292
|
+
if (!isLandingSender(event)) return;
|
|
293
|
+
if (LANDING_LINKS.has(url)) shell.openExternal(url);
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
ipcMain.handle('landing-connect', async (event, rawUrl) => {
|
|
297
|
+
if (!isLandingSender(event) || !mainWindow) {
|
|
298
|
+
return { ok: false, error: 'Not available right now.' };
|
|
299
|
+
}
|
|
300
|
+
let url;
|
|
301
|
+
try {
|
|
302
|
+
url = new URL(String(rawUrl));
|
|
303
|
+
} catch {
|
|
304
|
+
return { ok: false, error: 'That is not a valid address.' };
|
|
305
|
+
}
|
|
306
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
307
|
+
return { ok: false, error: 'The address must start with http or https.' };
|
|
308
|
+
}
|
|
309
|
+
const base = url.toString().replace(/\/+$/, '');
|
|
310
|
+
if (!(await probeServer(base))) {
|
|
311
|
+
return {
|
|
312
|
+
ok: false,
|
|
313
|
+
error: 'No Libre WebUI server answered at that address.',
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
saveLandingChoice({ mode: 'remote', url: base });
|
|
317
|
+
mainWindow.loadURL(base);
|
|
318
|
+
return { ok: true };
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
registerLandingHandlers();
|
|
323
|
+
|
|
148
324
|
// Check if backend is running
|
|
149
325
|
async function checkBackend() {
|
|
150
326
|
return new Promise(resolve => {
|
|
@@ -209,6 +385,13 @@ function createMenu() {
|
|
|
209
385
|
}
|
|
210
386
|
},
|
|
211
387
|
},
|
|
388
|
+
{
|
|
389
|
+
label: 'Switch Server…',
|
|
390
|
+
click: () => {
|
|
391
|
+
fs.rmSync(getLandingChoicePath(), { force: true });
|
|
392
|
+
if (mainWindow) showLanding(mainWindow);
|
|
393
|
+
},
|
|
394
|
+
},
|
|
212
395
|
{ type: 'separator' },
|
|
213
396
|
{ role: 'services' },
|
|
214
397
|
{ type: 'separator' },
|
|
@@ -305,18 +488,20 @@ async function main() {
|
|
|
305
488
|
// Create main window
|
|
306
489
|
const window = createMainWindow();
|
|
307
490
|
|
|
308
|
-
//
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
491
|
+
// The landing page decides on first launch; afterwards the remembered
|
|
492
|
+
// choice routes straight in. A remembered server that stops answering
|
|
493
|
+
// returns to the landing page rather than a blank window.
|
|
494
|
+
const choice = readLandingChoice();
|
|
495
|
+
if (!choice) {
|
|
496
|
+
showLanding(window);
|
|
497
|
+
} else if (choice.mode === 'remote') {
|
|
498
|
+
if (await probeServer(choice.url)) {
|
|
499
|
+
window.loadURL(choice.url);
|
|
500
|
+
} else {
|
|
501
|
+
showLanding(window);
|
|
502
|
+
}
|
|
312
503
|
} else {
|
|
313
|
-
|
|
314
|
-
const frontendPath = getResourcePath('frontend', 'dist', 'index.html');
|
|
315
|
-
console.log('Loading frontend from:', frontendPath);
|
|
316
|
-
window.loadFile(frontendPath).catch(err => {
|
|
317
|
-
console.error('Failed to load frontend:', err);
|
|
318
|
-
dialog.showErrorBox('Load Error', `Could not load app: ${err.message}`);
|
|
319
|
-
});
|
|
504
|
+
loadLocalApp(window);
|
|
320
505
|
}
|
|
321
506
|
|
|
322
507
|
// Open DevTools in dev mode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
793cdf43cecd594b17579f14b2300d8dba5e378ac842a2490a94238d5619e6a8
|