miolo 2.0.0-beta.2 → 2.0.0-beta.21

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.
@@ -0,0 +1,19 @@
1
+
2
+ import {xeiraBundle} from 'xeira'
3
+ //import { cleanFolder } from './util.mjs'
4
+
5
+ export default async function(appName, entry, dest) {
6
+ console.log(`[${appName}][prod] Building client from entry ${entry}`)
7
+ //cleanFolder(dest)
8
+
9
+ // fs.copyFileSync(proot('./cli/index.html'), proot('./build/cli/index.html'))
10
+ await xeiraBundle({
11
+ source_index: entry,
12
+ target: 'browser',
13
+ bundle_folder: dest,
14
+ bundle_name: appName,
15
+ bundle_extension: 'iife.bundle.min',
16
+ bundler: 'rollup',
17
+ bundle_node_polyfill: true
18
+ })
19
+ }
@@ -0,0 +1,54 @@
1
+
2
+ import path from 'node:path'
3
+ import { readFile, writeFile} from 'node:fs/promises'
4
+ import { build } from 'vite'
5
+ import {xeiraBundle} from 'xeira'
6
+ //import { cleanFolder } from './util.mjs'
7
+
8
+ export async function _fixProdBuild(appName, filePath) {
9
+ try {
10
+ const content = await readFile(filePath, 'utf8')
11
+ const newContent = content.replace(
12
+ /var key = crypto\.pseudoRandomBytes\(32\)/g,
13
+ 'var key = crypto.randomBytes(32)'
14
+ )
15
+ await writeFile(filePath, newContent, 'utf8')
16
+ console.log(`[${appName}][prod] Fixed server build (prod)!`)
17
+ } catch (error) {
18
+ console.error(`[${appName}][prod] Error fixing server build (prod): ${error}`)
19
+ }
20
+ }
21
+
22
+ export default async function(appName, ssrEntry, ssrDest, entry, dest) {
23
+ //cleanFolder(dest)
24
+
25
+ console.log(`[${appName}][prod] Building first the SSR entry ${ssrEntry}`)
26
+ await build({
27
+ build: {
28
+ outDir: path.resolve(process.cwd(), ssrDest),
29
+ ssr: path.resolve(process.cwd(), ssrEntry),
30
+ rollupOptions: {
31
+ // Opciones adicionales de Rollup si las necesitas
32
+ },
33
+ },
34
+ // Otras opciones de Vite si son necesarias
35
+ // root: path.resolve(process.cwd(), 'demo'), // Si tu root del proyecto es /demo
36
+ // plugins: [/* tus plugins */],
37
+ })
38
+
39
+ console.log(`[${appName}][prod] Building server from entry ${entry}`)
40
+ const serverExt = 'node.bundle.mjs'
41
+ await xeiraBundle({
42
+ source_index: entry,
43
+ target: 'node',
44
+ bundle_folder: dest,
45
+ bundle_name: appName,
46
+ bundle_extension: serverExt,
47
+ bundler: 'rollup',
48
+ bundle_node_polyfill: true,
49
+ })
50
+
51
+ console.log(`[${appName}][prod] Fixing server build (prod)...`)
52
+ const destFile = path.join(process.cwd(), `${dest}/${appName}.${serverExt}`)
53
+ await _fixProdBuild(appName, destFile)
54
+ }
@@ -0,0 +1,38 @@
1
+ import {readFileSync, writeFileSync} from 'node:fs'
2
+ import path from 'path'
3
+ import { fileURLToPath } from 'url'
4
+
5
+ const __my_filename = fileURLToPath(import.meta.url)
6
+ const __my_dirname = path.dirname(__my_filename)
7
+
8
+
9
+ export default async function(appName, dest, serverName) {
10
+ console.log(`[${appName}][prod][create-bin] Creating bin files...`)
11
+
12
+ const readSource = (f) => readFileSync(path.resolve(__my_dirname, f), {encoding:'utf8'})
13
+ const writeDest = (f, content) => writeFileSync(path.join(process.cwd(), dest, f), content, {encoding:'utf8',flag:'w'})
14
+
15
+ const utilContent = readSource('./util.mjs')
16
+ writeDest('util.mjs', utilContent)
17
+
18
+ let startContent = readSource('./start.mjs')
19
+ startContent = startContent.replace('export default async function', 'async function start')
20
+ startContent = startContent.replace('{appName, dest, serverName}', `{appName= ''${appName}, dest= '${dest}', serverName= '${serverName}'}`)
21
+ startContent+= '\n'
22
+ startContent+= 'start()'
23
+ writeDest('start.mjs', startContent)
24
+
25
+ let stopContent = readSource('./stop.mjs')
26
+ stopContent = stopContent.replace('export default async function', 'async function stop')
27
+ stopContent = stopContent.replace('{appName}', `{appName= ''${appName}}`)
28
+ stopContent+= '\n'
29
+ stopContent+= 'stop()'
30
+ writeDest('stop.mjs', stopContent)
31
+
32
+ let restartContent = readSource('./restart.mjs')
33
+ restartContent = restartContent.replace('export default async function', 'async function restart')
34
+ restartContent = restartContent.replace('{appName, dest, serverName}', `{appName= ''${appName}, dest= '${dest}', serverName= '${serverName}'}`)
35
+ restartContent+= '\n'
36
+ restartContent+= 'restart()'
37
+ writeDest('restart.mjs', restartContent)
38
+ }
package/bin/dev.mjs ADDED
@@ -0,0 +1,75 @@
1
+ import path from 'node:path'
2
+ import { fork } from 'node:child_process'
3
+
4
+ let serverProcess = null
5
+ // let retryCount = 0
6
+ // const maxRetries = 5
7
+
8
+ function _isProcessRunning(pid) {
9
+ try {
10
+ process.kill(pid, 0) // Sending a signal 0 does nothing but checks if the process exists
11
+ return true
12
+ } catch (error) {
13
+ return false
14
+ }
15
+ }
16
+
17
+ async function startDevServerProcess({ appName, entry }) {
18
+ const serverPath = path.join(process.cwd(), entry)
19
+ serverProcess = fork(serverPath)
20
+
21
+ console.log(`[${appName}][dev] Server process started with pid ${serverProcess.pid} from ${process.pid}`)
22
+
23
+ serverProcess.on('exit', (code, args) => {
24
+ console.log(`[${appName}][dev] Server process exited with code ${code} - ${args}`)
25
+ serverProcess = null
26
+ // Puedes implementar lógica de reintento aquí si es necesario
27
+ // if (code !== 0 && retryCount < maxRetries) {
28
+ // retryCount++
29
+ // console.log(`[${serverName}][dev] Attempting to restart server (${retryCount}/${maxRetries})...`)
30
+ // // Espera un breve tiempo antes de intentar reiniciar
31
+ // await new Promise(resolve => setTimeout(resolve, 2000))
32
+ // startDevServerProcess({ entry, serverName })
33
+ // } else if (code !== 0) {
34
+ // console.error(`[${serverName}][dev] Server failed to start after ${maxRetries} retries. Exiting.`)
35
+ // process.exit(1)
36
+ // }
37
+ })
38
+
39
+ serverProcess.on('message', (message) => {
40
+ if (message === 'miolo_restart') {
41
+ console.log(`[${appName}][dev] Received restart signal. Restarting server...`)
42
+
43
+ const pidToKill = serverProcess ? serverProcess.pid : null
44
+ if (pidToKill) {
45
+ console.log(`[${appName}][dev] Killing process with PID: ${pidToKill}`)
46
+ // Clean kill
47
+ process.kill(pidToKill, 'SIGTERM')
48
+
49
+ // Harder if still alive
50
+ setTimeout(() => {
51
+ if (_isProcessRunning(pidToKill)) {
52
+ process.kill(pidToKill, 'SIGKILL')
53
+ }
54
+ }, 2000)
55
+ }
56
+
57
+ startDevServerProcess({ appName, entry }) // Inicia un nuevo proceso
58
+ }
59
+ })
60
+ }
61
+
62
+
63
+ export default async function(appName, entry, serverName) {
64
+ console.log(`[${appName}][dev] Running DEV server ${serverName} from entry ${entry}`)
65
+ await startDevServerProcess({ appName, entry })
66
+ }
67
+
68
+
69
+
70
+ // export default async function({ appName, entry, serverName }) {
71
+ // console.log(`[${appName}][dev] Running DEV server ${serverName} from entry ${entry}`)
72
+ // const srv_module = await import(path.join(process.cwd(), entry))
73
+ // const server = srv_module[serverName]
74
+ // await server()
75
+ // }
package/bin/index.mjs ADDED
@@ -0,0 +1,70 @@
1
+ #!/usr/bin/env node
2
+ import yargs from 'yargs-parser'
3
+ import { getAppName } from './util.mjs'
4
+
5
+ async function main() {
6
+ const args = yargs(process.argv.slice(2))
7
+ const command = args._[0]
8
+
9
+ try {
10
+ const appName = await getAppName()
11
+ const serverName = args['server-name'] || 'miolo_server'
12
+
13
+ switch (command) {
14
+ case 'dev':
15
+ const devHandler = (await import ('./dev.mjs')).default
16
+ const devEntry = args.entry || './src/server/server-dev.mjs'
17
+ await devHandler(appName, /*entry*/ devEntry, serverName)
18
+ break
19
+
20
+ case 'build-client':
21
+ const buildClientHandler = (await import ('./build-client.mjs')).default
22
+ const clientEntry = args.entry || './cli/entry-cli.jsx'
23
+ const clientDest = args.dest || './dist/cli'
24
+ await buildClientHandler(appName, /*entry*/ clientEntry, /*dest*/ clientDest)
25
+ break
26
+
27
+ case 'build-server':
28
+ const buildServerHandler = (await import ('./build-server.mjs')).default
29
+ const ssrEntry = args['ssr-entry'] || './server/ssr/entry-server.jsx'
30
+ const ssrDest = args['ssr-dest'] || './dist/server'
31
+ const serverEntry = args.entry || './src/server/server-prod.mjs'
32
+ const serverDest = args.dest || './dist/server'
33
+ await buildServerHandler(appName, ssrEntry, ssrDest, /*entry*/ serverEntry, /*dest*/ serverDest)
34
+ break
35
+
36
+ case 'start':
37
+ const startHandler = (await import ('./start.mjs')).default
38
+ const startDest = args.dest || './dist/server'
39
+ await startHandler(appName, /*dest*/ startDest, serverName)
40
+ break
41
+
42
+ case 'stop':
43
+ const stopHandler = (await import ('./stop.mjs')).default
44
+ await stopHandler(appName)
45
+ break
46
+
47
+ case 'restart':
48
+ const restartHandler = (await import ('./restart.mjs')).default
49
+ const restartDest = args.dest || './dist/server'
50
+ await restartHandler({appName, /*dest*/ restartDest, serverName})
51
+ break
52
+
53
+ case 'create-bin':
54
+ const createHandler = (await import ('./create-bin.mjs')).default
55
+ const createDest = args.dest || './dist/server'
56
+ await createHandler(appName, /*dest*/ createDest, serverName)
57
+ break
58
+
59
+ default:
60
+ console.error(`[miolo] Unknown command: ${command}`)
61
+ console.log('[miolo] Available commands: dev, build-client, build-server, start, stop, restart')
62
+ process.exit(1)
63
+ }
64
+ } catch (error) {
65
+ console.error('[miolo] Error during command execution:', error)
66
+ process.exit(1)
67
+ }
68
+ }
69
+
70
+ main()
@@ -0,0 +1,10 @@
1
+ import start from "./start.mjs"
2
+ import stop from "./stop.mjs"
3
+
4
+ export default async function(appName, dest, serverName) {
5
+ console.log(`[${appName}][prod][restart] Restarting server...`)
6
+
7
+ await stop(appName)
8
+ await start(appName, dest, serverName)
9
+
10
+ }
package/bin/start.mjs ADDED
@@ -0,0 +1,26 @@
1
+ import path from 'node:path'
2
+ import { pidFileCreate } from "./util.mjs"
3
+
4
+ export default async function(appName, dest, serverName) {
5
+ // if (! fs.existsSync(CLI_DEST_MAIN)) {
6
+ // console.error(`[${appName}][prod][start] Cannot start server (prod): CLI bundle does not exist ${CLI_DEST_MAIN}`)
7
+ // return
8
+ // }
9
+ // if (! fs.existsSync(SRV_DEST_MAIN)) {
10
+ // console.error(`[${appName}][prod][start] Cannot start server (prod): SERVER bundle does not exist ${SRV_DEST_MAIN}`)
11
+ // return
12
+ // }
13
+
14
+ console.log(`[${appName}][prod][start] Starting server...`)
15
+
16
+ const serverExt = 'node.bundle.mjs'
17
+ const destFile = path.join(process.cwd(), `${dest}/${appName}.${serverExt}`)
18
+
19
+ const srv_module = await import(destFile)
20
+ const server = srv_module[serverName]
21
+
22
+ const pid = pidFileCreate(appName)
23
+ console.log(`[${appName}][prod][start] Starting server. PID is ${pid}...`)
24
+
25
+ await server()
26
+ }
package/bin/stop.mjs ADDED
@@ -0,0 +1,20 @@
1
+ import { pidFileRead } from "./util.mjs";
2
+
3
+ export default async function(appName) {
4
+ console.log(`[${appName}][prod][stop] Stopping server...`)
5
+
6
+ try {
7
+ const pid = pidFileRead(appName)
8
+ console.log(`[${appName}][prod][stop] Killing current process with PID ${pid}`)
9
+
10
+ process.kill(pid, 'SIGKILL')
11
+
12
+ return 1
13
+ } catch(_) {
14
+ console.log(`[${appName}][prod][stop] No current process to kill`)
15
+ console.error(_)
16
+
17
+ return 0
18
+ }
19
+
20
+ }
package/bin/util.mjs ADDED
@@ -0,0 +1,37 @@
1
+ import {readdirSync, rmSync, writeFileSync, readFileSync} from 'node:fs'
2
+ import { readFile } from 'node:fs/promises'
3
+ import path from 'node:path'
4
+
5
+
6
+ export async function getAppName() {
7
+ try {
8
+ const packageJsonPath = path.join(process.cwd(), 'package.json')
9
+ const content = await readFile(packageJsonPath, 'utf8')
10
+ const packageData = JSON.parse(content)
11
+ return packageData.name
12
+ } catch (error) {
13
+ console.error('[miolo] Error reading package.json:', error)
14
+ return 'miolo'
15
+ }
16
+ }
17
+
18
+ export function cleanFolder(folder) {
19
+ readdirSync(folder).forEach(file => {
20
+ rmSync(`${folder}/${file}`, { recursive: true, force: true });
21
+ })
22
+ }
23
+
24
+
25
+ export function pidFileCreate(appName) {
26
+ const pidFilePath = `/tmp/${appName}.pid`
27
+ writeFileSync(pidFilePath, `${process.pid}`, {encoding:'utf8',flag:'w'})
28
+ return process.pid
29
+ }
30
+
31
+ export function pidFileRead(appName) {
32
+ const pidFilePath = `/tmp/${appName}.pid`
33
+ const pid = readFileSync(pidFilePath, {encoding:'utf8'})
34
+ return pid
35
+ }
36
+
37
+
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo v2.0.0-beta.2
2
+ * miolo v2.0.0-beta.21
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -441,7 +441,7 @@
441
441
  for (var key in obj) {
442
442
  _loop(key);
443
443
  }
444
- return uparams.toString();
444
+ return "?" + uparams.toString();
445
445
  }
446
446
  return '';
447
447
  }
@@ -1 +1 @@
1
- {"version":3,"file":"miolo.cli.umd.js","sources":["../../src/cli/catcher/index.mjs","../../src/cli/fetcher/utils.mjs","../../src/cli/fetcher/fetcher.mjs","../../src/cli/fetcher/index.mjs","../../src/cli/index.mjs"],"sourcesContent":["function init_catcher (catcher_url, fetcher) {\n if (typeof window == \"undefined\") {\n return\n } \n\n if (window.miolo_listeners===true) {\n return\n }\n\n // window.onerror = function(msg, file, line, col, error) {\n // try {\n // const params= {\n // 'error': {\n // msg, file, line, col, error\n // },\n // 'path' : window.location.pathname,\n // 'agent': 'UserAgent' + navigator.userAgent\n // }\n //\n // fetcher.post(catcher_url, params)\n // } catch(e) {\n // console.error(e)\n // }\n // }\n\n\n window.addEventListener(\"error\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent\n\n try {\n const params= {\n 'error': {\n msg: event?.message || 'Client error',\n file: event?.filename,\n line: event?.lineno,\n col: event?.colno,\n error: event?.error\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.addEventListener(\"unhandledrejection\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n\n try {\n const params= {\n 'warning': {\n msg: event?.reason || 'Client Unhandled rejection',\n file: undefined,\n line: undefined,\n col: undefined,\n error: event?.reason\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.miolo_listeners = true\n\n}\n\nexport {init_catcher}","/**\n * Transform an JSON object to a query string\n */\nexport function json_to_query_string(obj) {\n if (obj && (Object.keys(obj).length>0)) {\n const uparams = new URLSearchParams()\n for (const key in obj) {\n if (Object.hasOwn(obj, key)) {\n const value = obj[key];\n if (Array.isArray(value)) {\n value.forEach(item => uparams.append(key, item))\n } else if (value !== undefined && value !== null) {\n uparams.append(key, value)\n }\n }\n }\n return uparams.toString()\n }\n return ''\n}\n\nexport function trim_left(str, what) {\n return str.replace(new RegExp(`^${what || '\\\\s'}+`), '')\n}\n\n\nexport function omit_nil(obj) {\n if (typeof obj !== 'object') return obj\n return Object.keys(obj).reduce((acc, v) => {\n if (obj[v] !== undefined) acc[v] = obj[v]\n return acc\n }, {})\n}\n\n\nexport function parse_login_cookie(response) {\n if (typeof window !== 'object') {\n return undefined\n }\n try {\n const raw = response.headers.raw()['set-cookie'];\n return raw.map((entry) => {\n const parts = entry.split(';');\n const cookiePart = parts[0];\n return cookiePart;\n }).join(';');\n } catch(e) {\n console.log('[miolo-cli] Could not get the set-cookie after login')\n return undefined\n }\n}","import {omit_nil, trim_left, json_to_query_string, parse_login_cookie} from './utils.mjs'\n\nclass Fetcher {\n /**\n * @param {*} config {hostname, port, force_hostname, silent_fail: false}\n */\n constructor(config) {\n this.config= config\n this.auth = undefined\n this.cookie = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.auth\n username= username || ''\n password= password || ''\n\n let sauth\n try {\n sauth= 'Basic ' + Buffer.from(username + \":\" + password).toString('base64')\n } catch(_) {\n sauth= 'Basic ' + btoa(username + \":\" + password)\n }\n\n headers['Authorization']= sauth\n }\n\n if (this.cookie) {\n headers['Cookie']= this.cookie\n }\n\n return headers\n }\n\n _prepare_url (url) {\n const endpoint = '/' + trim_left(url, '/')\n \n const {hostname, port, force_hostname} = this.config || {}\n if (hostname && force_hostname) {\n return `http://${hostname}:${port}${endpoint}`\n }\n \n return endpoint\n }\n\n async _fetch (method, url, params, auth= undefined) {\n this.set_auth(auth)\n\n let request = {\n method,\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n ...this.get_headers() || {}\n }\n }\n\n let wurl = this._prepare_url(url)\n \n if (method === 'POST') {\n request.body = JSON.stringify(params || {}, (k, v) => v === undefined ? null : v)\n } else if (method === 'GET') {\n if (params) {\n wurl+= json_to_query_string(params)\n }\n }\n \n const response = await fetch(wurl, request)\n \n if (response.redirected) {\n const isBrowser = typeof window == 'object'\n if (isBrowser) {\n // JSDOM does not support navigation, so lets skip it for tests\n const isTest = typeof navigator !== \"undefined\" &&\n navigator.userAgent.includes(\"Node.js\");\n if (!isTest) {\n window.location.replace(response.url)\n return Promise.resolve(response)\n } else {\n console.error(`Response for ${wurl} is a redirect to ${response.url}. But you are in a test environment, where redirects cannot be done. Unexpected results are coming...`)\n }\n }\n }\n \n if (response.headers.get('content-type').indexOf('json') >= 0) {\n const data= await response.json()\n \n return {\n data,\n status: response.status,\n response\n }\n }\n \n const data= await response.text()\n return {\n data,\n status: response.status,\n response\n }\n\n }\n \n async get(url, params, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on GET ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1,\n }\n }\n }\n\n async post(url, data, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on POST ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1\n }\n }\n } \n\n async login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n this.cookie= parse_login_cookie(res.response)\n return res\n }\n\n async logout(url) {\n this.cookie= undefined\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n const result = await this.get(`${url}/read`, params, auth)\n return result.data\n }\n\n async key_list(url, params, auth= undefined) {\n const result = await this.get(`${url}/key_list`, params, auth)\n return result.data\n } \n\n async name_list(url, params, auth= undefined) {\n const result = await this.key_list(url, params, auth)\n return Object.values(result)\n }\n\n async find(url, id, auth= undefined) {\n const result = await this.get(`${url}/find`, { id: id }, auth)\n return result.data\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n const result = await this.get(`${url}/distinct`, nparams, auth)\n return result.data \n }\n\n async upsave(url, data, auth= undefined) {\n let result\n if (data.id == undefined) {\n delete data.id\n result= await this.post(`${url}/save`, data, auth)\n } else {\n result= await this.post(`${url}/update`, data, auth)\n }\n \n return result.data\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n const result = await this.post(`${url}/delete`, data, auth)\n return result.data\n }\n}\n\nFetcher.keyList= Fetcher.key_list\nFetcher.nameList= Fetcher.name_list\n\nexport { Fetcher }\n\n","import {Fetcher} from './fetcher.mjs'\n\n\nexport function init_fetcher(config) {\n const fetcher= new Fetcher(config)\n return fetcher\n}\n","import {init_catcher} from './catcher/index.mjs'\nimport {init_fetcher} from './fetcher/index.mjs'\n// import {init_socket} from './socket/index.mjs'\n\nfunction miolo_client(context) {\n\n const {config} = context\n\n const fetcher = init_fetcher(config)\n\n if (config?.catcher_url) {\n init_catcher(config?.catcher_url, fetcher) \n }\n\n// let socket\n// if (config?.socket?.enabled===true) {\n// const domain = config?.socket?.domain\n// const options = config?.socket?.options\n// socket = init_socket(domain, options) \n// }\n\n const miolo_obj= {\n fetcher,\n //socket\n }\n\n return miolo_obj\n}\n\nexport {miolo_client}"],"names":["init_catcher","catcher_url","fetcher","window","miolo_listeners","addEventListener","event","params","msg","message","file","filename","line","lineno","col","colno","error","location","pathname","navigator","userAgent","post","e","console","reason","undefined","json_to_query_string","obj","Object","keys","length","uparams","URLSearchParams","_loop","key","hasOwn","value","Array","isArray","forEach","item","append","toString","trim_left","str","what","replace","RegExp","omit_nil","reduce","acc","v","parse_login_cookie","response","raw","headers","map","entry","parts","split","cookiePart","join","log","Fetcher","config","auth","cookie","_proto","prototype","set_auth","username","password","get_headers","_this$auth","sauth","Buffer","from","_","btoa","_prepare_url","url","endpoint","_ref","hostname","port","force_hostname","_fetch","_fetch2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","request","wurl","isBrowser","isTest","_data","data","wrap","_callee$","_context","prev","next","mode","credentials","_extends","body","JSON","stringify","k","fetch","sent","redirected","includes","abrupt","Promise","resolve","get","indexOf","json","status","text","stop","_x","_x2","_x3","_x4","apply","arguments","_get","_callee2","resp","_this$config","_callee2$","_context2","t0","silent_fail","_x5","_x6","_x7","_post","_callee3","_this$config2","_callee3$","_context3","_x8","_x9","_x10","login","_login","_callee4","_ref2","res","_callee4$","_context4","_x11","_x12","logout","_logout","_callee5","_callee5$","_context5","_x13","read","_read","_callee6","result","_callee6$","_context6","_x14","_x15","_x16","key_list","_key_list","_callee7","_callee7$","_context7","_x17","_x18","_x19","name_list","_name_list","_callee8","_callee8$","_context8","values","_x20","_x21","_x22","find","_find","_callee9","id","_callee9$","_context9","_x23","_x24","_x25","distinct","_distinct","_callee10","field","nparams","_callee10$","_context10","distinct_field","_x26","_x27","_x28","_x29","upsave","_upsave","_callee11","_callee11$","_context11","_x30","_x31","_x32","remove","_remove","_callee12","_callee12$","_context12","_x33","_x34","_x35","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":"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"}
1
+ {"version":3,"file":"miolo.cli.umd.js","sources":["../../src/cli/catcher/index.mjs","../../src/cli/fetcher/utils.mjs","../../src/cli/fetcher/fetcher.mjs","../../src/cli/fetcher/index.mjs","../../src/cli/index.mjs"],"sourcesContent":["function init_catcher (catcher_url, fetcher) {\n if (typeof window == \"undefined\") {\n return\n } \n\n if (window.miolo_listeners===true) {\n return\n }\n\n // window.onerror = function(msg, file, line, col, error) {\n // try {\n // const params= {\n // 'error': {\n // msg, file, line, col, error\n // },\n // 'path' : window.location.pathname,\n // 'agent': 'UserAgent' + navigator.userAgent\n // }\n //\n // fetcher.post(catcher_url, params)\n // } catch(e) {\n // console.error(e)\n // }\n // }\n\n\n window.addEventListener(\"error\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent\n\n try {\n const params= {\n 'error': {\n msg: event?.message || 'Client error',\n file: event?.filename,\n line: event?.lineno,\n col: event?.colno,\n error: event?.error\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.addEventListener(\"unhandledrejection\", (event) => {\n // https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n\n try {\n const params= {\n 'warning': {\n msg: event?.reason || 'Client Unhandled rejection',\n file: undefined,\n line: undefined,\n col: undefined,\n error: event?.reason\n },\n 'path' : window.location.pathname,\n 'agent': 'UserAgent' + navigator.userAgent\n }\n\n fetcher.post(catcher_url, params)\n } catch(e) {\n console.error(e)\n }\n }) \n\n window.miolo_listeners = true\n\n}\n\nexport {init_catcher}","/**\n * Transform an JSON object to a query string\n */\nexport function json_to_query_string(obj) {\n if (obj && (Object.keys(obj).length>0)) {\n const uparams = new URLSearchParams()\n for (const key in obj) {\n if (Object.hasOwn(obj, key)) {\n const value = obj[key];\n if (Array.isArray(value)) {\n value.forEach(item => uparams.append(key, item))\n } else if (value !== undefined && value !== null) {\n uparams.append(key, value)\n }\n }\n }\n return `?${uparams.toString()}`\n }\n return ''\n}\n\nexport function trim_left(str, what) {\n return str.replace(new RegExp(`^${what || '\\\\s'}+`), '')\n}\n\n\nexport function omit_nil(obj) {\n if (typeof obj !== 'object') return obj\n return Object.keys(obj).reduce((acc, v) => {\n if (obj[v] !== undefined) acc[v] = obj[v]\n return acc\n }, {})\n}\n\n\nexport function parse_login_cookie(response) {\n if (typeof window !== 'object') {\n return undefined\n }\n try {\n const raw = response.headers.raw()['set-cookie'];\n return raw.map((entry) => {\n const parts = entry.split(';');\n const cookiePart = parts[0];\n return cookiePart;\n }).join(';');\n } catch(e) {\n console.log('[miolo-cli] Could not get the set-cookie after login')\n return undefined\n }\n}","import {omit_nil, trim_left, json_to_query_string, parse_login_cookie} from './utils.mjs'\n\nclass Fetcher {\n /**\n * @param {*} config {hostname, port, force_hostname, silent_fail: false}\n */\n constructor(config) {\n this.config= config\n this.auth = undefined\n this.cookie = undefined\n }\n\n set_auth(auth) {\n if (auth) {\n const {username, password}= auth\n this.auth= {username, password}\n }\n }\n\n get_headers() {\n let headers = {}\n\n if (this.auth) {\n let {username, password}= this.auth\n username= username || ''\n password= password || ''\n\n let sauth\n try {\n sauth= 'Basic ' + Buffer.from(username + \":\" + password).toString('base64')\n } catch(_) {\n sauth= 'Basic ' + btoa(username + \":\" + password)\n }\n\n headers['Authorization']= sauth\n }\n\n if (this.cookie) {\n headers['Cookie']= this.cookie\n }\n\n return headers\n }\n\n _prepare_url (url) {\n const endpoint = '/' + trim_left(url, '/')\n \n const {hostname, port, force_hostname} = this.config || {}\n if (hostname && force_hostname) {\n return `http://${hostname}:${port}${endpoint}`\n }\n \n return endpoint\n }\n\n async _fetch (method, url, params, auth= undefined) {\n this.set_auth(auth)\n\n let request = {\n method,\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'content-type': 'application/json',\n ...this.get_headers() || {}\n }\n }\n\n let wurl = this._prepare_url(url)\n \n if (method === 'POST') {\n request.body = JSON.stringify(params || {}, (k, v) => v === undefined ? null : v)\n } else if (method === 'GET') {\n if (params) {\n wurl+= json_to_query_string(params)\n }\n }\n \n const response = await fetch(wurl, request)\n \n if (response.redirected) {\n const isBrowser = typeof window == 'object'\n if (isBrowser) {\n // JSDOM does not support navigation, so lets skip it for tests\n const isTest = typeof navigator !== \"undefined\" &&\n navigator.userAgent.includes(\"Node.js\");\n if (!isTest) {\n window.location.replace(response.url)\n return Promise.resolve(response)\n } else {\n console.error(`Response for ${wurl} is a redirect to ${response.url}. But you are in a test environment, where redirects cannot be done. Unexpected results are coming...`)\n }\n }\n }\n \n if (response.headers.get('content-type').indexOf('json') >= 0) {\n const data= await response.json()\n \n return {\n data,\n status: response.status,\n response\n }\n }\n \n const data= await response.text()\n return {\n data,\n status: response.status,\n response\n }\n\n }\n \n async get(url, params, auth= undefined) {\n /* eslint no-unused-vars:0 */\n try {\n const resp = await this._fetch('GET', url, omit_nil(params), auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on GET ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1,\n }\n }\n }\n\n async post(url, data, auth= undefined) {\n try {\n const resp = await this._fetch('POST', url, data, auth)\n return resp\n } catch(e) {\n if (this.config?.silent_fail !== true) {\n console.error(`Error on POST ${url}`)\n console.error(e)\n }\n\n return {\n data: e,\n status: -1\n }\n }\n } \n\n async login(url, {username, password}) {\n const res= await this._fetch('POST', url || '/login', {username, password})\n this.cookie= parse_login_cookie(res.response)\n return res\n }\n\n async logout(url) {\n this.cookie= undefined\n const res= await this._fetch('POST', url || '/logout', {})\n return res \n }\n\n async read(url, params, auth= undefined) {\n const result = await this.get(`${url}/read`, params, auth)\n return result.data\n }\n\n async key_list(url, params, auth= undefined) {\n const result = await this.get(`${url}/key_list`, params, auth)\n return result.data\n } \n\n async name_list(url, params, auth= undefined) {\n const result = await this.key_list(url, params, auth)\n return Object.values(result)\n }\n\n async find(url, id, auth= undefined) {\n const result = await this.get(`${url}/find`, { id: id }, auth)\n return result.data\n }\n\n async distinct(url, field, params, auth= undefined) {\n const nparams= {\n ...params,\n distinct_field: field\n }\n const result = await this.get(`${url}/distinct`, nparams, auth)\n return result.data \n }\n\n async upsave(url, data, auth= undefined) {\n let result\n if (data.id == undefined) {\n delete data.id\n result= await this.post(`${url}/save`, data, auth)\n } else {\n result= await this.post(`${url}/update`, data, auth)\n }\n \n return result.data\n } \n\n async remove(url, id, auth= undefined) {\n const data = { id: id }\n const result = await this.post(`${url}/delete`, data, auth)\n return result.data\n }\n}\n\nFetcher.keyList= Fetcher.key_list\nFetcher.nameList= Fetcher.name_list\n\nexport { Fetcher }\n\n","import {Fetcher} from './fetcher.mjs'\n\n\nexport function init_fetcher(config) {\n const fetcher= new Fetcher(config)\n return fetcher\n}\n","import {init_catcher} from './catcher/index.mjs'\nimport {init_fetcher} from './fetcher/index.mjs'\n// import {init_socket} from './socket/index.mjs'\n\nfunction miolo_client(context) {\n\n const {config} = context\n\n const fetcher = init_fetcher(config)\n\n if (config?.catcher_url) {\n init_catcher(config?.catcher_url, fetcher) \n }\n\n// let socket\n// if (config?.socket?.enabled===true) {\n// const domain = config?.socket?.domain\n// const options = config?.socket?.options\n// socket = init_socket(domain, options) \n// }\n\n const miolo_obj= {\n fetcher,\n //socket\n }\n\n return miolo_obj\n}\n\nexport {miolo_client}"],"names":["init_catcher","catcher_url","fetcher","window","miolo_listeners","addEventListener","event","params","msg","message","file","filename","line","lineno","col","colno","error","location","pathname","navigator","userAgent","post","e","console","reason","undefined","json_to_query_string","obj","Object","keys","length","uparams","URLSearchParams","_loop","key","hasOwn","value","Array","isArray","forEach","item","append","toString","trim_left","str","what","replace","RegExp","omit_nil","reduce","acc","v","parse_login_cookie","response","raw","headers","map","entry","parts","split","cookiePart","join","log","Fetcher","config","auth","cookie","_proto","prototype","set_auth","username","password","get_headers","_this$auth","sauth","Buffer","from","_","btoa","_prepare_url","url","endpoint","_ref","hostname","port","force_hostname","_fetch","_fetch2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","method","request","wurl","isBrowser","isTest","_data","data","wrap","_callee$","_context","prev","next","mode","credentials","_extends","body","JSON","stringify","k","fetch","sent","redirected","includes","abrupt","Promise","resolve","get","indexOf","json","status","text","stop","_x","_x2","_x3","_x4","apply","arguments","_get","_callee2","resp","_this$config","_callee2$","_context2","t0","silent_fail","_x5","_x6","_x7","_post","_callee3","_this$config2","_callee3$","_context3","_x8","_x9","_x10","login","_login","_callee4","_ref2","res","_callee4$","_context4","_x11","_x12","logout","_logout","_callee5","_callee5$","_context5","_x13","read","_read","_callee6","result","_callee6$","_context6","_x14","_x15","_x16","key_list","_key_list","_callee7","_callee7$","_context7","_x17","_x18","_x19","name_list","_name_list","_callee8","_callee8$","_context8","values","_x20","_x21","_x22","find","_find","_callee9","id","_callee9$","_context9","_x23","_x24","_x25","distinct","_distinct","_callee10","field","nparams","_callee10$","_context10","distinct_field","_x26","_x27","_x28","_x29","upsave","_upsave","_callee11","_callee11$","_context11","_x30","_x31","_x32","remove","_remove","_callee12","_callee12$","_context12","_x33","_x34","_x35","keyList","nameList","init_fetcher","miolo_client","context","miolo_obj"],"mappings":";;;;;;;;;;;;;;;;;;;EAAA,SAASA,YAAYA,CAAEC,WAAW,EAAEC,OAAO,EAAE;EAC3C,EAAA,IAAI,OAAOC,MAAM,IAAI,WAAW,EAAE;EAChC,IAAA;EACF;EAEA,EAAA,IAAIA,MAAM,CAACC,eAAe,KAAG,IAAI,EAAE;EACjC,IAAA;EACF;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAGAD,EAAAA,MAAM,CAACE,gBAAgB,CAAC,OAAO,EAAE,UAACC,KAAK,EAAK;EAC1C;;MAEA,IAAI;EACF,MAAA,IAAMC,MAAM,GAAE;EACZ,QAAA,OAAO,EAAE;YACPC,GAAG,EAAE,CAAAF,KAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEG,OAAO,KAAI,cAAc;EACrCC,UAAAA,IAAI,EAAEJ,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEK,QAAQ;EACrBC,UAAAA,IAAI,EAAEN,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEO,MAAM;EACnBC,UAAAA,GAAG,EAAER,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAES,KAAK;EACjBC,UAAAA,KAAK,EAAEV,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEU;WACf;EACD,QAAA,MAAM,EAAGb,MAAM,CAACc,QAAQ,CAACC,QAAQ;EACjC,QAAA,OAAO,EAAE,WAAW,GAAGC,SAAS,CAACC;SAClC;EAEDlB,MAAAA,OAAO,CAACmB,IAAI,CAACpB,WAAW,EAAEM,MAAM,CAAC;OAClC,CAAC,OAAMe,CAAC,EAAE;EACTC,MAAAA,OAAO,CAACP,KAAK,CAACM,CAAC,CAAC;EAClB;EACF,GAAC,CAAC;EAEFnB,EAAAA,MAAM,CAACE,gBAAgB,CAAC,oBAAoB,EAAE,UAACC,KAAK,EAAK;EACvD;;MAEA,IAAI;EACF,MAAA,IAAMC,MAAM,GAAE;EACZ,QAAA,SAAS,EAAE;YACTC,GAAG,EAAE,CAAAF,KAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEkB,MAAM,KAAI,4BAA4B;EAClDd,UAAAA,IAAI,EAAEe,SAAS;EACfb,UAAAA,IAAI,EAAEa,SAAS;EACfX,UAAAA,GAAG,EAAEW,SAAS;EACdT,UAAAA,KAAK,EAAEV,KAAK,IAALA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEkB;WACf;EACD,QAAA,MAAM,EAAGrB,MAAM,CAACc,QAAQ,CAACC,QAAQ;EACjC,QAAA,OAAO,EAAE,WAAW,GAAGC,SAAS,CAACC;SAClC;EAEDlB,MAAAA,OAAO,CAACmB,IAAI,CAACpB,WAAW,EAAEM,MAAM,CAAC;OAClC,CAAC,OAAMe,CAAC,EAAE;EACTC,MAAAA,OAAO,CAACP,KAAK,CAACM,CAAC,CAAC;EAClB;EACF,GAAC,CAAC;IAEFnB,MAAM,CAACC,eAAe,GAAG,IAAI;EAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECxEA;EACA;EACA;EACO,SAASsB,oBAAoBA,CAACC,GAAG,EAAE;EACxC,EAAA,IAAIA,GAAG,IAAKC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACG,MAAM,GAAC,CAAE,EAAE;EACtC,IAAA,IAAMC,OAAO,GAAG,IAAIC,eAAe,EAAE;EAAA,IAAA,IAAAC,KAAA,GAAA,SAAAA,KAAAC,CAAAA,GAAA,EACd;QACrB,IAAIN,MAAM,CAACO,MAAM,CAACR,GAAG,EAAEO,GAAG,CAAC,EAAE;EAC3B,QAAA,IAAME,KAAK,GAAGT,GAAG,CAACO,GAAG,CAAC;EACtB,QAAA,IAAIG,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,EAAE;EACxBA,UAAAA,KAAK,CAACG,OAAO,CAAC,UAAAC,IAAI,EAAA;EAAA,YAAA,OAAIT,OAAO,CAACU,MAAM,CAACP,GAAG,EAAEM,IAAI,CAAC;aAAC,CAAA;WACjD,MAAM,IAAIJ,KAAK,KAAKX,SAAS,IAAIW,KAAK,KAAK,IAAI,EAAE;EAChDL,UAAAA,OAAO,CAACU,MAAM,CAACP,GAAG,EAAEE,KAAK,CAAC;EAC5B;EACF;OACD;MATD,KAAK,IAAMF,GAAG,IAAIP,GAAG,EAAA;EAAAM,MAAAA,KAAA,CAAAC,GAAA,CAAA;EAAA;EAUrB,IAAA,OAAA,GAAA,GAAWH,OAAO,CAACW,QAAQ,EAAE;EAC/B;EACA,EAAA,OAAO,EAAE;EACX;EAEO,SAASC,SAASA,CAACC,GAAG,EAAEC,IAAI,EAAE;EACnC,EAAA,OAAOD,GAAG,CAACE,OAAO,CAAC,IAAIC,MAAM,CAAA,GAAA,IAAKF,IAAa,CAAA,GAAA,GAAG,CAAC,EAAE,EAAE,CAAC;EAC1D;EAGO,SAASG,QAAQA,CAACrB,GAAG,EAAE;EAC5B,EAAA,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE,OAAOA,GAAG;EACvC,EAAA,OAAOC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACsB,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAK;EACzC,IAAA,IAAIxB,GAAG,CAACwB,CAAC,CAAC,KAAK1B,SAAS,EAAEyB,GAAG,CAACC,CAAC,CAAC,GAAGxB,GAAG,CAACwB,CAAC,CAAC;EACzC,IAAA,OAAOD,GAAG;KACX,EAAE,EAAE,CAAC;EACR;EAGO,SAASE,kBAAkBA,CAACC,QAAQ,EAAE;EAC3C,EAAA,IAAI,OAAOlD,MAAM,KAAK,QAAQ,EAAE;EAC9B,IAAA,OAAOsB,SAAS;EAClB;IACA,IAAI;MACF,IAAM6B,GAAG,GAAGD,QAAQ,CAACE,OAAO,CAACD,GAAG,EAAE,CAAC,YAAY,CAAC;EAChD,IAAA,OAAOA,GAAG,CAACE,GAAG,CAAC,UAACC,KAAK,EAAK;EACxB,MAAA,IAAMC,KAAK,GAAGD,KAAK,CAACE,KAAK,CAAC,GAAG,CAAC;EAC9B,MAAA,IAAMC,UAAU,GAAGF,KAAK,CAAC,CAAC,CAAC;EAC3B,MAAA,OAAOE,UAAU;EACnB,KAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;KACb,CAAC,OAAMvC,CAAC,EAAE;EACTC,IAAAA,OAAO,CAACuC,GAAG,CAAC,sDAAsD,CAAC;EACnE,IAAA,OAAOrC,SAAS;EAClB;EACF;;EClDyF,IAEnFsC,OAAO,gBAAA,YAAA;EACX;EACF;EACA;IACE,SAAAA,OAAAA,CAAYC,MAAM,EAAE;MAClB,IAAI,CAACA,MAAM,GAAEA,MAAM;MACnB,IAAI,CAACC,IAAI,GAAGxC,SAAS;MACrB,IAAI,CAACyC,MAAM,GAAGzC,SAAS;EACzB;EAAC,EAAA,IAAA0C,MAAA,GAAAJ,OAAA,CAAAK,SAAA;EAAAD,EAAAA,MAAA,CAEDE,QAAQ,GAAR,SAAAA,QAAQA,CAACJ,IAAI,EAAE;EACb,IAAA,IAAIA,IAAI,EAAE;EACR,MAAA,IAAOK,QAAQ,GAAaL,IAAI,CAAzBK,QAAQ;UAAEC,QAAQ,GAAGN,IAAI,CAAfM,QAAQ;QACzB,IAAI,CAACN,IAAI,GAAE;EAACK,QAAAA,QAAQ,EAARA,QAAQ;EAAEC,QAAAA,QAAQ,EAARA;SAAS;EACjC;KACD;EAAAJ,EAAAA,MAAA,CAEDK,WAAW,GAAX,SAAAA,WAAWA,GAAG;MACZ,IAAIjB,OAAO,GAAG,EAAE;MAEhB,IAAI,IAAI,CAACU,IAAI,EAAE;EACb,MAAA,IAAAQ,UAAA,GAA0B,IAAI,CAACR,IAAI;UAA9BK,QAAQ,GAAAG,UAAA,CAARH,QAAQ;UAAEC,QAAQ,GAAAE,UAAA,CAARF,QAAQ;QACvBD,QAAQ,GAAEA,QAAQ,IAAI,EAAE;QACxBC,QAAQ,GAAEA,QAAQ,IAAI,EAAE;EAExB,MAAA,IAAIG,KAAK;QACT,IAAI;EACFA,QAAAA,KAAK,GAAE,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACN,QAAQ,GAAG,GAAG,GAAGC,QAAQ,CAAC,CAAC7B,QAAQ,CAAC,QAAQ,CAAC;SAC5E,CAAC,OAAMmC,CAAC,EAAE;UACTH,KAAK,GAAE,QAAQ,GAAGI,IAAI,CAACR,QAAQ,GAAG,GAAG,GAAGC,QAAQ,CAAC;EACnD;EAEAhB,MAAAA,OAAO,CAAC,eAAe,CAAC,GAAEmB,KAAK;EACjC;MAEA,IAAI,IAAI,CAACR,MAAM,EAAE;EACfX,MAAAA,OAAO,CAAC,QAAQ,CAAC,GAAE,IAAI,CAACW,MAAM;EAChC;EAEA,IAAA,OAAOX,OAAO;KACf;EAAAY,EAAAA,MAAA,CAEDY,YAAY,GAAZ,SAAAA,YAAYA,CAAEC,GAAG,EAAE;MACjB,IAAMC,QAAQ,GAAG,GAAG,GAAGtC,SAAS,CAACqC,GAAG,EAAE,GAAG,CAAC;EAE1C,IAAA,IAAAE,IAAA,GAAyC,IAAI,CAAClB,MAAM,IAAI,EAAE;QAAnDmB,QAAQ,GAAAD,IAAA,CAARC,QAAQ;QAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;QAAEC,cAAc,GAAAH,IAAA,CAAdG,cAAc;MACrC,IAAIF,QAAQ,IAAIE,cAAc,EAAE;EAC9B,MAAA,OAAA,SAAA,GAAiBF,QAAQ,GAAA,GAAA,GAAIC,IAAI,GAAGH,QAAQ;EAC9C;EAEA,IAAA,OAAOA,QAAQ;KAChB;EAAAd,EAAAA,MAAA,CAEKmB,MAAM,gBAAA,YAAA;EAAA,IAAA,IAAAC,OAAA,GAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAZ,SAAAC,OAAAA,CAAcC,MAAM,EAAEZ,GAAG,EAAEzE,MAAM,EAAE0D,IAAI,EAAA;EAAA,MAAA,IAAA4B,OAAA,EAAAC,IAAA,EAAAzC,QAAA,EAAA0C,SAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,IAAA;EAAA,MAAA,OAAAT,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAChD,YAAA,IAAI,CAAC4C,QAAQ,CAACJ,IAAI,CAAC;EAEf4B,YAAAA,OAAO,GAAG;EACZD,cAAAA,MAAM,EAANA,MAAM;EACNY,cAAAA,IAAI,EAAE,MAAM;EACZC,cAAAA,WAAW,EAAE,SAAS;EACtBlD,cAAAA,OAAO,EAAAmD,QAAA,CAAA;EACL,gBAAA,cAAc,EAAE;EAAkB,eAAA,EAC/B,IAAI,CAAClC,WAAW,EAAE,IAAI,EAAE;eAE9B;EAEGsB,YAAAA,IAAI,GAAG,IAAI,CAACf,YAAY,CAACC,GAAG,CAAC;cAEjC,IAAIY,MAAM,KAAK,MAAM,EAAE;EACrBC,cAAAA,OAAO,CAACc,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACtG,MAAM,IAAI,EAAE,EAAE,UAACuG,CAAC,EAAE3D,CAAC,EAAA;EAAA,gBAAA,OAAKA,CAAC,KAAK1B,SAAS,GAAG,IAAI,GAAG0B,CAAC;iBAAC,CAAA;EACnF,aAAC,MAAM,IAAIyC,MAAM,KAAK,KAAK,EAAE;EAC3B,cAAA,IAAIrF,MAAM,EAAE;EACVuF,gBAAAA,IAAI,IAAGpE,oBAAoB,CAACnB,MAAM,CAAC;EACrC;EACF;EAAC8F,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;EAAA,YAAA,OAEsBQ,KAAK,CAACjB,IAAI,EAAED,OAAO,CAAC;EAAA,UAAA,KAAA,CAAA;cAArCxC,QAAQ,GAAAgD,QAAA,CAAAW,IAAA;cAAA,IAEV3D,CAAAA,QAAQ,CAAC4D,UAAU,EAAA;EAAAZ,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;EAAA,cAAA;EAAA;EACfR,YAAAA,SAAS,GAAG,OAAO5F,MAAM,IAAI,QAAQ;EAAA,YAAA,IAAA,CACvC4F,SAAS,EAAA;EAAAM,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;EAAA,cAAA;EAAA;EACX;EACMP,YAAAA,MAAM,GAAG,OAAO7E,SAAS,KAAK,WAAW,IAC/BA,SAAS,CAACC,SAAS,CAAC8F,QAAQ,CAAC,SAAS,CAAC;EAAA,YAAA,IAClDlB,MAAM,EAAA;EAAAK,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;EAAA,cAAA;EAAA;cACTpG,MAAM,CAACc,QAAQ,CAAC6B,OAAO,CAACO,QAAQ,CAAC2B,GAAG,CAAC;cAAA,OAAAqB,QAAA,CAAAc,MAAA,CAAA,QAAA,EAC9BC,OAAO,CAACC,OAAO,CAAChE,QAAQ,CAAC,CAAA;EAAA,UAAA,KAAA,EAAA;cAEhC9B,OAAO,CAACP,KAAK,CAAiB8E,eAAAA,GAAAA,IAAI,0BAAqBzC,QAAQ,CAAC2B,GAAG,GAAA,uGAAuG,CAAC;EAAA,UAAA,KAAA,EAAA;EAAA,YAAA,IAAA,EAK7K3B,QAAQ,CAACE,OAAO,CAAC+D,GAAG,CAAC,cAAc,CAAC,CAACC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAA;EAAAlB,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;EAAA,cAAA;EAAA;EAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;EAAA,YAAA,OACzClD,QAAQ,CAACmE,IAAI,EAAE;EAAA,UAAA,KAAA,EAAA;cAA3BtB,KAAI,GAAAG,QAAA,CAAAW,IAAA;cAAA,OAAAX,QAAA,CAAAc,MAAA,CAEH,QAAA,EAAA;EACLjB,cAAAA,IAAI,EAAJA,KAAI;gBACJuB,MAAM,EAAEpE,QAAQ,CAACoE,MAAM;EACvBpE,cAAAA,QAAQ,EAARA;eACD,CAAA;EAAA,UAAA,KAAA,EAAA;EAAAgD,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA;EAAA,YAAA,OAGelD,QAAQ,CAACqE,IAAI,EAAE;EAAA,UAAA,KAAA,EAAA;cAA3BxB,IAAI,GAAAG,QAAA,CAAAW,IAAA;cAAA,OAAAX,QAAA,CAAAc,MAAA,CACH,QAAA,EAAA;EACLjB,cAAAA,IAAI,EAAJA,IAAI;gBACJuB,MAAM,EAAEpE,QAAQ,CAACoE,MAAM;EACvBpE,cAAAA,QAAQ,EAARA;eACD,CAAA;EAAA,UAAA,KAAA,EAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAgD,QAAA,CAAAsB,IAAA,EAAA;EAAA;EAAA,OAAA,EAAAhC,OAAA,EAAA,IAAA,CAAA;OAEF,CAAA,CAAA;MAAA,SAzDKL,MAAMA,CAAAsC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;EAAA,MAAA,OAAAxC,OAAA,CAAAyC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAN3C,MAAM;EAAA,GAAA,EAAA;EAAAnB,EAAAA,MAAA,CA2DNmD,GAAG,gBAAA,YAAA;EAAA,IAAA,IAAAY,IAAA,GAAA1C,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAT,SAAAyC,QAAUnD,CAAAA,GAAG,EAAEzE,MAAM,EAAE0D,IAAI,EAAA;QAAA,IAAAmE,IAAA,EAAAC,YAAA;EAAA,MAAA,OAAA5C,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAAmC,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAjC,IAAA,GAAAiC,SAAA,CAAAhC,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAAA8G,YAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;EAAAiC,YAAAA,SAAA,CAAAhC,IAAA,GAAA,CAAA;EAAA,YAAA,OAGf,IAAI,CAACjB,MAAM,CAAC,KAAK,EAAEN,GAAG,EAAEhC,QAAQ,CAACzC,MAAM,CAAC,EAAE0D,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAA5DmE,IAAI,GAAAG,SAAA,CAAAvB,IAAA;EAAA,YAAA,OAAAuB,SAAA,CAAApB,MAAA,CAAA,QAAA,EACHiB,IAAI,CAAA;EAAA,UAAA,KAAA,CAAA;EAAAG,YAAAA,SAAA,CAAAjC,IAAA,GAAA,CAAA;cAAAiC,SAAA,CAAAC,EAAA,GAAAD,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;cAEX,IAAI,CAAA,CAAAF,YAAA,GAAA,IAAI,CAACrE,MAAM,KAAXqE,IAAAA,GAAAA,MAAAA,GAAAA,YAAA,CAAaI,WAAW,MAAK,IAAI,EAAE;EACrClH,cAAAA,OAAO,CAACP,KAAK,CAAiBgE,eAAAA,GAAAA,GAAK,CAAC;EACpCzD,cAAAA,OAAO,CAACP,KAAK,CAAAuH,SAAA,CAAAC,EAAE,CAAC;EAClB;cAAC,OAAAD,SAAA,CAAApB,MAAA,CAEM,QAAA,EAAA;gBACLjB,IAAI,EAAAqC,SAAA,CAAAC,EAAG;EACPf,cAAAA,MAAM,EAAE;eACT,CAAA;EAAA,UAAA,KAAA,EAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAc,SAAA,CAAAZ,IAAA,EAAA;EAAA;EAAA,OAAA,EAAAQ,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;OAEJ,CAAA,CAAA;EAAA,IAAA,SAhBKb,GAAGA,CAAAoB,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;EAAA,MAAA,OAAAV,IAAA,CAAAF,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAHX,GAAG;EAAA,GAAA,EAAA;EAAAnD,EAAAA,MAAA,CAkBH9C,IAAI,gBAAA,YAAA;EAAA,IAAA,IAAAwH,KAAA,GAAArD,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAV,SAAAoD,QAAW9D,CAAAA,GAAG,EAAEkB,IAAI,EAAEjC,IAAI,EAAA;QAAA,IAAAmE,IAAA,EAAAW,aAAA;EAAA,MAAA,OAAAtD,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAA6C,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3C,IAAA,GAAA2C,SAAA,CAAA1C,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAAAwH,YAAAA,SAAA,CAAA3C,IAAA,GAAA,CAAA;EAAA2C,YAAAA,SAAA,CAAA1C,IAAA,GAAA,CAAA;cAAA,OAEd,IAAI,CAACjB,MAAM,CAAC,MAAM,EAAEN,GAAG,EAAEkB,IAAI,EAAEjC,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAAjDmE,IAAI,GAAAa,SAAA,CAAAjC,IAAA;EAAA,YAAA,OAAAiC,SAAA,CAAA9B,MAAA,CAAA,QAAA,EACHiB,IAAI,CAAA;EAAA,UAAA,KAAA,CAAA;EAAAa,YAAAA,SAAA,CAAA3C,IAAA,GAAA,CAAA;cAAA2C,SAAA,CAAAT,EAAA,GAAAS,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;cAEX,IAAI,CAAA,CAAAF,aAAA,GAAA,IAAI,CAAC/E,MAAM,KAAX+E,IAAAA,GAAAA,MAAAA,GAAAA,aAAA,CAAaN,WAAW,MAAK,IAAI,EAAE;EACrClH,cAAAA,OAAO,CAACP,KAAK,CAAkBgE,gBAAAA,GAAAA,GAAK,CAAC;EACrCzD,cAAAA,OAAO,CAACP,KAAK,CAAAiI,SAAA,CAAAT,EAAE,CAAC;EAClB;cAAC,OAAAS,SAAA,CAAA9B,MAAA,CAEM,QAAA,EAAA;gBACLjB,IAAI,EAAA+C,SAAA,CAAAT,EAAG;EACPf,cAAAA,MAAM,EAAE;eACT,CAAA;EAAA,UAAA,KAAA,EAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAwB,SAAA,CAAAtB,IAAA,EAAA;EAAA;EAAA,OAAA,EAAAmB,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;OAEJ,CAAA,CAAA;EAAA,IAAA,SAfKzH,IAAIA,CAAA6H,GAAA,EAAAC,GAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAP,KAAA,CAAAb,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAJ5G,IAAI;EAAA,GAAA,EAAA;EAAA8C,EAAAA,MAAA,CAiBJkF,KAAK,gBAAA,YAAA;EAAA,IAAA,IAAAC,MAAA,GAAA9D,iBAAA,cAAAC,mBAAA,EAAA,CAAAC,IAAA,CAAX,SAAA6D,QAAAA,CAAYvE,GAAG,EAAAwE,KAAA,EAAA;EAAA,MAAA,IAAAlF,QAAA,EAAAC,QAAA,EAAAkF,GAAA;EAAA,MAAA,OAAAhE,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAAuD,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAArD,IAAA,GAAAqD,SAAA,CAAApD,IAAA;EAAA,UAAA,KAAA,CAAA;cAAGjC,QAAQ,GAAAkF,KAAA,CAARlF,QAAQ,EAAEC,QAAQ,GAAAiF,KAAA,CAARjF,QAAQ;EAAAoF,YAAAA,SAAA,CAAApD,IAAA,GAAA,CAAA;cAAA,OACjB,IAAI,CAACjB,MAAM,CAAC,MAAM,EAAEN,GAAG,IAAI,QAAQ,EAAE;EAACV,cAAAA,QAAQ,EAARA,QAAQ;EAAEC,cAAAA,QAAQ,EAARA;EAAQ,aAAC,CAAC;EAAA,UAAA,KAAA,CAAA;cAArEkF,GAAG,GAAAE,SAAA,CAAA3C,IAAA;cACT,IAAI,CAAC9C,MAAM,GAAEd,kBAAkB,CAACqG,GAAG,CAACpG,QAAQ,CAAC;EAAA,YAAA,OAAAsG,SAAA,CAAAxC,MAAA,CAAA,QAAA,EACtCsC,GAAG,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAE,SAAA,CAAAhC,IAAA,EAAA;EAAA;EAAA,OAAA,EAAA4B,QAAA,EAAA,IAAA,CAAA;OACX,CAAA,CAAA;EAAA,IAAA,SAJKF,KAAKA,CAAAO,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAP,MAAA,CAAAtB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAALoB,KAAK;EAAA,GAAA,EAAA;EAAAlF,EAAAA,MAAA,CAML2F,MAAM,gBAAA,YAAA;MAAA,IAAAC,OAAA,GAAAvE,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAZ,SAAAsE,QAAAA,CAAahF,GAAG,EAAA;EAAA,MAAA,IAAAyE,GAAA;EAAA,MAAA,OAAAhE,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAA8D,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5D,IAAA,GAAA4D,SAAA,CAAA3D,IAAA;EAAA,UAAA,KAAA,CAAA;cACd,IAAI,CAACrC,MAAM,GAAEzC,SAAS;EAAAyI,YAAAA,SAAA,CAAA3D,IAAA,GAAA,CAAA;EAAA,YAAA,OACL,IAAI,CAACjB,MAAM,CAAC,MAAM,EAAEN,GAAG,IAAI,SAAS,EAAE,EAAE,CAAC;EAAA,UAAA,KAAA,CAAA;cAApDyE,GAAG,GAAAS,SAAA,CAAAlD,IAAA;EAAA,YAAA,OAAAkD,SAAA,CAAA/C,MAAA,CAAA,QAAA,EACFsC,GAAG,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAS,SAAA,CAAAvC,IAAA,EAAA;EAAA;EAAA,OAAA,EAAAqC,QAAA,EAAA,IAAA,CAAA;OACX,CAAA,CAAA;MAAA,SAJKF,MAAMA,CAAAK,IAAA,EAAA;EAAA,MAAA,OAAAJ,OAAA,CAAA/B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAN6B,MAAM;EAAA,GAAA,EAAA;EAAA3F,EAAAA,MAAA,CAMNiG,IAAI,gBAAA,YAAA;EAAA,IAAA,IAAAC,KAAA,GAAA7E,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAV,SAAA4E,QAAWtF,CAAAA,GAAG,EAAEzE,MAAM,EAAE0D,IAAI,EAAA;EAAA,MAAA,IAAAsG,MAAA;EAAA,MAAA,OAAA9E,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAAqE,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnE,IAAA,GAAAmE,SAAA,CAAAlE,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAAAgJ,YAAAA,SAAA,CAAAlE,IAAA,GAAA,CAAA;cAAA,OAChB,IAAI,CAACe,GAAG,CAAItC,GAAG,GAASzE,OAAAA,EAAAA,MAAM,EAAE0D,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAApDsG,MAAM,GAAAE,SAAA,CAAAzD,IAAA;EAAA,YAAA,OAAAyD,SAAA,CAAAtD,MAAA,CACLoD,QAAAA,EAAAA,MAAM,CAACrE,IAAI,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAuE,SAAA,CAAA9C,IAAA,EAAA;EAAA;EAAA,OAAA,EAAA2C,QAAA,EAAA,IAAA,CAAA;OACnB,CAAA,CAAA;EAAA,IAAA,SAHKF,IAAIA,CAAAM,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAP,KAAA,CAAArC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAJmC,IAAI;EAAA,GAAA,EAAA;EAAAjG,EAAAA,MAAA,CAKJ0G,QAAQ,gBAAA,YAAA;EAAA,IAAA,IAAAC,SAAA,GAAAtF,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAd,SAAAqF,QAAe/F,CAAAA,GAAG,EAAEzE,MAAM,EAAE0D,IAAI,EAAA;EAAA,MAAA,IAAAsG,MAAA;EAAA,MAAA,OAAA9E,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAA6E,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA3E,IAAA,GAAA2E,SAAA,CAAA1E,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAAAwJ,YAAAA,SAAA,CAAA1E,IAAA,GAAA,CAAA;cAAA,OACpB,IAAI,CAACe,GAAG,CAAItC,GAAG,GAAazE,WAAAA,EAAAA,MAAM,EAAE0D,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAAxDsG,MAAM,GAAAU,SAAA,CAAAjE,IAAA;EAAA,YAAA,OAAAiE,SAAA,CAAA9D,MAAA,CACLoD,QAAAA,EAAAA,MAAM,CAACrE,IAAI,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAA+E,SAAA,CAAAtD,IAAA,EAAA;EAAA;EAAA,OAAA,EAAAoD,QAAA,EAAA,IAAA,CAAA;OACnB,CAAA,CAAA;EAAA,IAAA,SAHKF,QAAQA,CAAAK,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAN,SAAA,CAAA9C,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAR4C,QAAQ;EAAA,GAAA,EAAA;EAAA1G,EAAAA,MAAA,CAKRkH,SAAS,gBAAA,YAAA;EAAA,IAAA,IAAAC,UAAA,GAAA9F,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAf,SAAA6F,QAAgBvG,CAAAA,GAAG,EAAEzE,MAAM,EAAE0D,IAAI,EAAA;EAAA,MAAA,IAAAsG,MAAA;EAAA,MAAA,OAAA9E,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAAqF,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAnF,IAAA,GAAAmF,SAAA,CAAAlF,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAAAgK,YAAAA,SAAA,CAAAlF,IAAA,GAAA,CAAA;cAAA,OACrB,IAAI,CAACsE,QAAQ,CAAC7F,GAAG,EAAEzE,MAAM,EAAE0D,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAA/CsG,MAAM,GAAAkB,SAAA,CAAAzE,IAAA;cAAA,OAAAyE,SAAA,CAAAtE,MAAA,CAAA,QAAA,EACLvF,MAAM,CAAC8J,MAAM,CAACnB,MAAM,CAAC,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAkB,SAAA,CAAA9D,IAAA,EAAA;EAAA;EAAA,OAAA,EAAA4D,QAAA,EAAA,IAAA,CAAA;OAC7B,CAAA,CAAA;EAAA,IAAA,SAHKF,SAASA,CAAAM,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAP,UAAA,CAAAtD,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAToD,SAAS;EAAA,GAAA,EAAA;EAAAlH,EAAAA,MAAA,CAKT2H,IAAI,gBAAA,YAAA;EAAA,IAAA,IAAAC,KAAA,GAAAvG,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAV,SAAAsG,QAAWhH,CAAAA,GAAG,EAAEiH,EAAE,EAAEhI,IAAI,EAAA;EAAA,MAAA,IAAAsG,MAAA;EAAA,MAAA,OAAA9E,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAA+F,UAAAC,SAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA7F,IAAA,GAAA6F,SAAA,CAAA5F,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAAA0K,YAAAA,SAAA,CAAA5F,IAAA,GAAA,CAAA;EAAA,YAAA,OACZ,IAAI,CAACe,GAAG,CAAItC,GAAG,GAAS,OAAA,EAAA;EAAEiH,cAAAA,EAAE,EAAEA;eAAI,EAAEhI,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAAxDsG,MAAM,GAAA4B,SAAA,CAAAnF,IAAA;EAAA,YAAA,OAAAmF,SAAA,CAAAhF,MAAA,CACLoD,QAAAA,EAAAA,MAAM,CAACrE,IAAI,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAiG,SAAA,CAAAxE,IAAA,EAAA;EAAA;EAAA,OAAA,EAAAqE,QAAA,EAAA,IAAA,CAAA;OACnB,CAAA,CAAA;EAAA,IAAA,SAHKF,IAAIA,CAAAM,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAP,KAAA,CAAA/D,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAJ6D,IAAI;EAAA,GAAA,EAAA;EAAA3H,EAAAA,MAAA,CAKJoI,QAAQ,gBAAA,YAAA;EAAA,IAAA,IAAAC,SAAA,GAAAhH,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,CAAd,SAAA+G,SAAAA,CAAezH,GAAG,EAAE0H,KAAK,EAAEnM,MAAM,EAAE0D,IAAI,EAAA;QAAA,IAAA0I,OAAA,EAAApC,MAAA;EAAA,MAAA,OAAA9E,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAAyG,WAAAC,UAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,UAAA,CAAAvG,IAAA,GAAAuG,UAAA,CAAAtG,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;cAC1CkL,OAAO,GAAAjG,QAAA,CAAA,EAAA,EACRnG,MAAM,EAAA;EACTuM,cAAAA,cAAc,EAAEJ;EAAK,aAAA,CAAA;EAAAG,YAAAA,UAAA,CAAAtG,IAAA,GAAA,CAAA;cAAA,OAEF,IAAI,CAACe,GAAG,CAAItC,GAAG,GAAa2H,WAAAA,EAAAA,OAAO,EAAE1I,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAAzDsG,MAAM,GAAAsC,UAAA,CAAA7F,IAAA;EAAA,YAAA,OAAA6F,UAAA,CAAA1F,MAAA,CACLoD,QAAAA,EAAAA,MAAM,CAACrE,IAAI,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAA2G,UAAA,CAAAlF,IAAA,EAAA;EAAA;EAAA,OAAA,EAAA8E,SAAA,EAAA,IAAA,CAAA;OACnB,CAAA,CAAA;MAAA,SAPKF,QAAQA,CAAAQ,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAV,SAAA,CAAAxE,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAARsE,QAAQ;EAAA,GAAA,EAAA;EAAApI,EAAAA,MAAA,CASRgJ,MAAM,gBAAA,YAAA;EAAA,IAAA,IAAAC,OAAA,GAAA5H,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAZ,SAAA2H,SAAarI,CAAAA,GAAG,EAAEkB,IAAI,EAAEjC,IAAI,EAAA;EAAA,MAAA,IAAAsG,MAAA;EAAA,MAAA,OAAA9E,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAAmH,WAAAC,UAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,UAAA,CAAAjH,IAAA,GAAAiH,UAAA,CAAAhH,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAAA,YAAA,IAAA,EAEjCyE,IAAI,CAAC+F,EAAE,IAAIxK,SAAS,CAAA,EAAA;EAAA8L,cAAAA,UAAA,CAAAhH,IAAA,GAAA,CAAA;EAAA,cAAA;EAAA;cACtB,OAAOL,IAAI,CAAC+F,EAAE;EAAAsB,YAAAA,UAAA,CAAAhH,IAAA,GAAA,CAAA;cAAA,OACA,IAAI,CAAClF,IAAI,CAAI2D,GAAG,GAASkB,OAAAA,EAAAA,IAAI,EAAEjC,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAAlDsG,MAAM,GAAAgD,UAAA,CAAAvG,IAAA;EAAAuG,YAAAA,UAAA,CAAAhH,IAAA,GAAA,EAAA;EAAA,YAAA;EAAA,UAAA,KAAA,CAAA;EAAAgH,YAAAA,UAAA,CAAAhH,IAAA,GAAA,EAAA;cAAA,OAEQ,IAAI,CAAClF,IAAI,CAAI2D,GAAG,GAAWkB,SAAAA,EAAAA,IAAI,EAAEjC,IAAI,CAAC;EAAA,UAAA,KAAA,EAAA;cAApDsG,MAAM,GAAAgD,UAAA,CAAAvG,IAAA;EAAA,UAAA,KAAA,EAAA;EAAA,YAAA,OAAAuG,UAAA,CAAApG,MAAA,CAGDoD,QAAAA,EAAAA,MAAM,CAACrE,IAAI,CAAA;EAAA,UAAA,KAAA,EAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAAqH,UAAA,CAAA5F,IAAA,EAAA;EAAA;EAAA,OAAA,EAAA0F,SAAA,EAAA,IAAA,CAAA;OACnB,CAAA,CAAA;EAAA,IAAA,SAVKF,MAAMA,CAAAK,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAN,OAAA,CAAApF,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAANkF,MAAM;EAAA,GAAA,EAAA;EAAAhJ,EAAAA,MAAA,CAYNwJ,MAAM,gBAAA,YAAA;EAAA,IAAA,IAAAC,OAAA,GAAApI,iBAAA,cAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAZ,SAAAmI,SAAa7I,CAAAA,GAAG,EAAEiH,EAAE,EAAEhI,IAAI,EAAA;QAAA,IAAAiC,IAAA,EAAAqE,MAAA;EAAA,MAAA,OAAA9E,mBAAA,EAAA,CAAAU,IAAA,CAAA,SAAA2H,WAAAC,UAAA,EAAA;EAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,UAAA,CAAAzH,IAAA,GAAAyH,UAAA,CAAAxH,IAAA;EAAA,UAAA,KAAA,CAAA;EAAA,YAAA,IAAJtC,IAAI,KAAA,MAAA,EAAA;EAAJA,cAAAA,IAAI,GAAExC,SAAS;EAAA;EAC7ByE,YAAAA,IAAI,GAAG;EAAE+F,cAAAA,EAAE,EAAEA;eAAI;EAAA8B,YAAAA,UAAA,CAAAxH,IAAA,GAAA,CAAA;cAAA,OACF,IAAI,CAAClF,IAAI,CAAI2D,GAAG,GAAWkB,SAAAA,EAAAA,IAAI,EAAEjC,IAAI,CAAC;EAAA,UAAA,KAAA,CAAA;cAArDsG,MAAM,GAAAwD,UAAA,CAAA/G,IAAA;EAAA,YAAA,OAAA+G,UAAA,CAAA5G,MAAA,CACLoD,QAAAA,EAAAA,MAAM,CAACrE,IAAI,CAAA;EAAA,UAAA,KAAA,CAAA;EAAA,UAAA,KAAA,KAAA;cAAA,OAAA6H,UAAA,CAAApG,IAAA,EAAA;EAAA;EAAA,OAAA,EAAAkG,SAAA,EAAA,IAAA,CAAA;OACnB,CAAA,CAAA;EAAA,IAAA,SAJKF,MAAMA,CAAAK,IAAA,EAAAC,IAAA,EAAAC,IAAA,EAAA;EAAA,MAAA,OAAAN,OAAA,CAAA5F,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;EAAA;EAAA,IAAA,OAAN0F,MAAM;EAAA,GAAA,EAAA;EAAA,EAAA,OAAA5J,OAAA;EAAA,CAAA,EAAA;EAOdA,OAAO,CAACoK,OAAO,GAAEpK,OAAO,CAAC8G,QAAQ;EACjC9G,OAAO,CAACqK,QAAQ,GAAErK,OAAO,CAACsH,SAAS;;EC/M5B,SAASgD,YAAYA,CAACrK,MAAM,EAAE;EACnC,EAAA,IAAM9D,OAAO,GAAE,IAAI6D,OAAO,CAACC,MAAM,CAAC;EAClC,EAAA,OAAO9D,OAAO;EAChB;;ECJA;;EAEA,SAASoO,YAAYA,CAACC,OAAO,EAAE;EAE7B,EAAA,IAAOvK,MAAM,GAAIuK,OAAO,CAAjBvK,MAAM;EAEb,EAAA,IAAM9D,OAAO,GAAGmO,YAAY,CAACrK,MAAM,CAAC;EAEpC,EAAA,IAAIA,MAAM,IAAA,IAAA,IAANA,MAAM,CAAE/D,WAAW,EAAE;MACvBD,YAAY,CAACgE,MAAM,IAANA,IAAAA,GAAAA,MAAAA,GAAAA,MAAM,CAAE/D,WAAW,EAAEC,OAAO,CAAC;EAC5C;;EAEF;EACA;EACA;EACA;EACA;EACA;;EAEE,EAAA,IAAMsO,SAAS,GAAE;EACftO,IAAAA,OAAO,EAAPA;EACA;KACD;EAED,EAAA,OAAOsO,SAAS;EAClB;;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * miolo v2.0.0-beta.2
2
+ * miolo v2.0.0-beta.21
3
3
  *
4
4
  * https://www.afialapis.com/os/miolo
5
5
  *
@@ -455,7 +455,7 @@
455
455
  for (var key in obj) {
456
456
  _loop(key);
457
457
  }
458
- return uparams.toString();
458
+ return "?" + uparams.toString();
459
459
  }
460
460
  return '';
461
461
  }