@sap/cds 6.6.1 → 6.7.0
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/CHANGELOG.md +67 -3
- package/README.md +1 -1
- package/apis/connect.d.ts +11 -4
- package/apis/core.d.ts +1 -1
- package/apis/csn.d.ts +1 -0
- package/apis/internal/inference.d.ts +15 -2
- package/apis/log.d.ts +10 -0
- package/apis/serve.d.ts +4 -9
- package/apis/services.d.ts +86 -19
- package/bin/build/buildTaskEngine.js +16 -42
- package/bin/build/constants.js +4 -2
- package/bin/build/provider/buildTaskProviderInternal.js +117 -85
- package/bin/build/provider/hana/index.js +6 -1
- package/bin/build/provider/mtx-extension/index.js +74 -34
- package/bin/build/provider/mtx-sidecar/index.js +3 -3
- package/bin/build/provider/nodejs/index.js +2 -2
- package/bin/build/util.js +63 -14
- package/bin/cds-serve.js +6 -0
- package/bin/cds.js +20 -4
- package/bin/deploy/to-hana/cfUtil.js +15 -1
- package/bin/deploy/to-hana/hana.js +1 -1
- package/bin/deploy/to-hana/hdiDeployUtil.js +1 -1
- package/bin/mtx/in-cds.js +2 -9
- package/bin/plugins.js +31 -0
- package/bin/serve.js +12 -12
- package/lib/compile/etc/_localized.js +1 -1
- package/lib/compile/for/lean_drafts.js +22 -6
- package/lib/compile/for/nodejs.js +4 -1
- package/lib/compile/load.js +4 -2
- package/lib/core/index.js +35 -15
- package/lib/dbs/cds-deploy.js +129 -133
- package/lib/env/cds-env.js +25 -17
- package/lib/env/cds-requires.js +10 -40
- package/lib/env/compat.js +12 -0
- package/lib/env/defaults.js +17 -9
- package/lib/env/plugins.js +29 -0
- package/lib/env/schemas/cds-rc.json +14 -0
- package/lib/index.js +3 -0
- package/lib/log/cds-log.js +7 -4
- package/lib/ql/CREATE.js +1 -1
- package/lib/ql/DELETE.js +1 -1
- package/lib/ql/DROP.js +3 -3
- package/lib/ql/INSERT.js +1 -1
- package/lib/ql/Query.js +14 -6
- package/lib/ql/SELECT.js +8 -2
- package/lib/ql/UPDATE.js +1 -1
- package/lib/ql/Whereable.js +1 -1
- package/lib/ql/cds-ql.js +1 -9
- package/lib/req/cds-context.js +1 -4
- package/lib/req/request.js +63 -2
- package/lib/req/response.js +3 -2
- package/lib/srv/bindings.js +69 -71
- package/lib/srv/cds-connect.js +4 -1
- package/lib/srv/cds-serve.js +4 -0
- package/lib/srv/middlewares/index.js +37 -6
- package/lib/srv/protocols/_legacy.js +1 -1
- package/lib/srv/protocols/index.js +1 -1
- package/lib/srv/srv-api.js +4 -6
- package/lib/srv/srv-dispatch.js +4 -3
- package/lib/srv/srv-handlers.js +1 -1
- package/lib/srv/srv-methods.js +8 -2
- package/lib/utils/cds-test.js +4 -1
- package/libx/_runtime/audit/Service.js +8 -9
- package/libx/_runtime/audit/generic/personal/index.js +1 -1
- package/libx/_runtime/audit/generic/personal/utils.js +1 -1
- package/libx/_runtime/audit/utils/v2.js +17 -20
- package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +2 -0
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +11 -4
- package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +0 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +3 -3
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +1 -1
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +4 -4
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/oDataConfiguration.js +2 -2
- package/libx/_runtime/cds-services/adapter/odata-v4/utils/result.js +1 -1
- package/libx/_runtime/cds-services/services/Service.js +1 -1
- package/libx/_runtime/cds-services/util/assert.js +41 -65
- package/libx/_runtime/common/code-ext/WorkerPool.js +90 -0
- package/libx/_runtime/common/code-ext/WorkerReq.js +0 -4
- package/libx/_runtime/common/code-ext/execute.js +28 -18
- package/libx/_runtime/common/code-ext/handlers.js +5 -4
- package/libx/_runtime/common/code-ext/worker.js +45 -3
- package/libx/_runtime/common/code-ext/workerQueryExecutor.js +8 -7
- package/libx/_runtime/common/composition/delete.js +1 -1
- package/libx/_runtime/common/composition/update.js +3 -5
- package/libx/_runtime/common/generic/auth/expand.js +1 -1
- package/libx/_runtime/common/generic/auth/readOnly.js +5 -4
- package/libx/_runtime/common/generic/auth/restrict.js +7 -2
- package/libx/_runtime/common/generic/crud.js +12 -1
- package/libx/_runtime/common/generic/etag.js +11 -3
- package/libx/_runtime/common/generic/input.js +8 -6
- package/libx/_runtime/common/generic/paging.js +25 -8
- package/libx/_runtime/common/generic/put.js +1 -1
- package/libx/_runtime/common/generic/sorting.js +0 -1
- package/libx/_runtime/common/i18n/messages.properties +1 -0
- package/libx/_runtime/common/utils/cqn.js +5 -1
- package/libx/_runtime/common/utils/cqn2cqn4sql.js +2 -2
- package/libx/_runtime/common/utils/resolveView.js +14 -10
- package/libx/_runtime/common/utils/rewriteAsterisks.js +2 -3
- package/libx/_runtime/common/utils/templateProcessor.js +15 -17
- package/libx/_runtime/common/utils/templateProcessorPathSerializer.js +18 -6
- package/libx/_runtime/db/Service.js +1 -0
- package/libx/_runtime/db/data-conversion/post-processing.js +0 -18
- package/libx/_runtime/db/expand/expand-v2.js +2 -2
- package/libx/_runtime/db/expand/rawToExpanded.js +6 -6
- package/libx/_runtime/db/generic/integrity.js +1 -1
- package/libx/_runtime/db/utils/columns.js +5 -5
- package/libx/_runtime/fiori/generic/activate.js +3 -3
- package/libx/_runtime/fiori/generic/edit.js +1 -1
- package/libx/_runtime/fiori/generic/new.js +4 -0
- package/libx/_runtime/fiori/lean-draft.js +138 -46
- package/libx/_runtime/hana/execute.js +3 -1
- package/libx/_runtime/hana/pool.js +10 -2
- package/libx/_runtime/messaging/common-utils/AMQPClient.js +6 -1
- package/libx/_runtime/messaging/enterprise-messaging.js +1 -0
- package/libx/_runtime/remote/Service.js +16 -13
- package/libx/_runtime/remote/utils/client.js +6 -1
- package/libx/_runtime/sqlite/Service.js +5 -59
- package/libx/_runtime/sqlite/convertDraftAdminPathExpression.js +1 -0
- package/libx/_runtime/sqlite/customBuilder/CustomUpsertBuilder.js +2 -2
- package/libx/_runtime/sqlite/execute.js +3 -1
- package/libx/_runtime/types/api.js +12 -3
- package/libx/odata/afterburner.js +36 -0
- package/libx/odata/cqn2odata.js +1 -1
- package/libx/odata/grammar.pegjs +5 -3
- package/libx/odata/parser.js +1 -1
- package/libx/odata/utils.js +1 -1
- package/libx/rest/RestAdapter.js +1 -1
- package/libx/rest/RestRequest.js +1 -0
- package/package.json +5 -2
- package/libx/_runtime/common/code-ext/workerQuery.js +0 -45
- package/libx/_runtime/common/constants/limit.js +0 -12
- package/libx/_runtime/common/utils/page.js +0 -39
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @typedef {object} ColumnRef
|
|
5
|
-
* @property {
|
|
5
|
+
* @property {string[]} ref
|
|
6
6
|
* @property {function} func
|
|
7
7
|
*/
|
|
8
8
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @property {*} value
|
|
19
19
|
* @property {Array} errors
|
|
20
20
|
* @property {string} [key]
|
|
21
|
-
* @property {
|
|
21
|
+
* @property {pathSegmentInfo[]} [pathSegmentsInfo]
|
|
22
22
|
* @property {string} event
|
|
23
23
|
*/
|
|
24
24
|
|
|
@@ -64,6 +64,15 @@
|
|
|
64
64
|
* @property {TemplateProcessorPathOptions} [pathOptions=null]
|
|
65
65
|
*/
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* @typedef {object} pathSegmentInfo
|
|
69
|
+
* @property {string} key
|
|
70
|
+
* @property {string[]} keyNames
|
|
71
|
+
* @property {object} row
|
|
72
|
+
* @property {object} elements
|
|
73
|
+
* @property {string[]} draftKeys
|
|
74
|
+
*/
|
|
75
|
+
|
|
67
76
|
/**
|
|
68
77
|
* @typedef {object} templateElementInfo
|
|
69
78
|
* @property {object} row
|
|
@@ -72,7 +81,7 @@
|
|
|
72
81
|
* @property {boolean} plain
|
|
73
82
|
* @property {entity} target
|
|
74
83
|
* @property {boolean} isRoot
|
|
75
|
-
* @property {Array<
|
|
84
|
+
* @property {string[] | Array<pathSegmentInfo>} [pathSegmentsInfo]
|
|
76
85
|
*/
|
|
77
86
|
|
|
78
87
|
// Search
|
|
@@ -371,11 +371,46 @@ function _processSegments(from, model, namespace, cqn) {
|
|
|
371
371
|
|
|
372
372
|
const AGGREGATION_DEFAULT = '@Aggregation.default'
|
|
373
373
|
|
|
374
|
+
function _addKeys(columns, target) {
|
|
375
|
+
let hasAggregatedColumn = false, hasStarColumn = false
|
|
376
|
+
for (let k = 0; k < columns.length; k++) {
|
|
377
|
+
if (columns[k] === '*') hasStarColumn = true
|
|
378
|
+
else if (columns[k].func || columns[k].func === null) hasAggregatedColumn = true
|
|
379
|
+
|
|
380
|
+
// Add keys to (sub-)expands
|
|
381
|
+
else if (columns[k].expand && columns[k].expand[0] !== '*')
|
|
382
|
+
_addKeys(columns[k].expand, target.elements[columns[k].ref]._target)
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
// Don't add keys to queries with calculated properties, especially aggregations
|
|
386
|
+
// REVISIT Clarify if keys should be added for queries containing non-aggregating func columns
|
|
387
|
+
if (hasAggregatedColumn) return
|
|
388
|
+
|
|
389
|
+
if (hasStarColumn) return
|
|
390
|
+
|
|
391
|
+
const keys = _keysOf(target)
|
|
392
|
+
|
|
393
|
+
for (const key of keys) {
|
|
394
|
+
if (!columns.some(c => (typeof c === 'string' ? c === key : c.ref?.[0] === key))) columns.push({ ref: [key] })
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
374
398
|
function _processColumns(cqn, target) {
|
|
375
399
|
if (cqn.SELECT.from.SELECT) _processColumns(cqn.SELECT.from, target)
|
|
376
400
|
|
|
377
401
|
const columns = cqn.SELECT.columns
|
|
378
402
|
|
|
403
|
+
// REVISIT Keys should be added only in case of odata, not e.g. rest.
|
|
404
|
+
// Currently odata is detected via odata_new_parser flag -> find a better indicator.
|
|
405
|
+
if (columns && !cqn.SELECT.groupBy && cds.env.features.odata_new_parser) {
|
|
406
|
+
let entity
|
|
407
|
+
if (target.kind === 'entity') entity = target
|
|
408
|
+
else if (target.kind === 'action' && target.returns?.kind === 'entity') entity = target.returns
|
|
409
|
+
if (!entity) return
|
|
410
|
+
|
|
411
|
+
_addKeys(columns, entity)
|
|
412
|
+
}
|
|
413
|
+
|
|
379
414
|
if (!Array.isArray(columns)) return
|
|
380
415
|
|
|
381
416
|
let aggrProp, aggrElem
|
|
@@ -441,6 +476,7 @@ const _checkAllKeysProvided = (params, entity) => {
|
|
|
441
476
|
|
|
442
477
|
function _4service(service) {
|
|
443
478
|
const { namespace, model } = service
|
|
479
|
+
if (!model) return cqn => cqn
|
|
444
480
|
|
|
445
481
|
return cqn => {
|
|
446
482
|
const from = resolveFromSelect(cqn)
|
package/libx/odata/cqn2odata.js
CHANGED
|
@@ -345,7 +345,7 @@ const _parseColumns = columns => {
|
|
|
345
345
|
} else {
|
|
346
346
|
select.push(refName)
|
|
347
347
|
}
|
|
348
|
-
} else if (hasValidProps(column, 'expand') && column.expand === '*') {
|
|
348
|
+
} else if (hasValidProps(column, 'expand') && column.expand[0] === '*') {
|
|
349
349
|
expand.push('*')
|
|
350
350
|
}
|
|
351
351
|
if (column === '*') {
|
package/libx/odata/grammar.pegjs
CHANGED
|
@@ -408,7 +408,6 @@
|
|
|
408
408
|
throw err;
|
|
409
409
|
}
|
|
410
410
|
if (SELECT.columns) {
|
|
411
|
-
if (SELECT.expand === '*') SELECT.expand = []
|
|
412
411
|
for (const col of SELECT.columns) {
|
|
413
412
|
if (!SELECT.expand.find(_compareRefs(col))) SELECT.expand.push(col)
|
|
414
413
|
}
|
|
@@ -423,10 +422,13 @@
|
|
|
423
422
|
= (OPEN {
|
|
424
423
|
stack.push (SELECT)
|
|
425
424
|
SELECT = SELECT.expand[SELECT.expand.length-1]
|
|
426
|
-
SELECT.expand =
|
|
425
|
+
SELECT.expand = []
|
|
427
426
|
})
|
|
428
427
|
expandQueryOptions?
|
|
429
428
|
(CLOSE {
|
|
429
|
+
if (!SELECT.expand.length) {
|
|
430
|
+
SELECT.expand.push('*') // by default expand everything
|
|
431
|
+
}
|
|
430
432
|
SELECT = stack.pop()
|
|
431
433
|
})
|
|
432
434
|
|
|
@@ -436,7 +438,7 @@
|
|
|
436
438
|
= (
|
|
437
439
|
c:('*' / ref) {
|
|
438
440
|
const col = c === '*' ? {} : c
|
|
439
|
-
col.expand = '*'
|
|
441
|
+
col.expand = ['*']
|
|
440
442
|
if (!Array.isArray(SELECT.expand)) SELECT.expand = []
|
|
441
443
|
if (!SELECT.expand.find(_compareRefs(col))) SELECT.expand.push(col)
|
|
442
444
|
return col
|
package/libx/odata/parser.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function peg$subclass(r,t){function e(){this.constructor=r}e.prototype=t.prototype,r.prototype=new e}function peg$SyntaxError(r,t,e,n){this.message=r,this.expected=t,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(r,t){t=void 0!==t?t:{};var e,n={},u={ODataRelativeURI:Qs},s=Qs,o="/",a=Us("/",!1),c=function(r){ta=r},i="?",f=Us("?",!1),l="&",h=Us("&",!1),p=function(){if(ea)return ta.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete ta.expand,delete ta.limit,delete ta.orderBy,ta.apply?la(ta,ta.apply):{SELECT:ta};let r;if(ta.expand){ta.columns||(ta.columns=["*"],r=!0);for(const r of ta.expand){const t=ta.columns.findIndex(aa(r));t>-1&&ta.columns.splice(t,1),ta.columns.push(r)}delete ta.expand}return ta.count&&ta.apply&&(ta.__countAggregated=!0),ta.apply?la(ta,ta.apply,r):{SELECT:ta}},A="$count",d=Us("$count",!1),g=function(){ea=!0},m="$ref",v=Us("$ref",!1),b="$value",y=Us("$value",!1),C=function(r){return!na.includes(r)&&{from:{ref:[r]}}},w=function(r){return[r]},$=function(r,t){return t},x=function(r,t){if(t=t&&t[1],!r&&!t)return{from:{ref:[""]}};if(!r&&t&&t.from)return t.from.ref.unshift(""),t;const[e,n]=r,u=[];if(n?n.length>2?u.push({id:e,where:n[1].map((r=>r.val&&r.val.match&&r.val.match(/^"(.*)"$/)?{val:r.val.match(/^"(.*)"$/)[1]}:r))}):u.push({id:e,where:[]}):Yo?u.push(`${"object"==typeof e&&"val"in e?e.val:e}`):"object"==typeof e&&"string"==typeof e.val&&e.val.match(/^[1-9]\d*$|^0$/)?u.push({val:ua(e.val)}):u.push(e),t&&t.from){const r=t.from.ref;Object.prototype.hasOwnProperty.call(r[0],"val")&&(u[u.length-1]={id:u[u.length-1],where:[r.shift()]}),u.push(...r)}const s={from:{ref:u}};return t&&t.columns&&(s.columns=t.columns),s},E="=",L=Us("=",!1),B=function(r,t,e){const n=[r,"=",t];return e&&n.push("and",...e[1]),n},S=function(r){r&&r.apply&&(ta.apply=r.apply)},T="$skiptoken=",j=Us("$skiptoken=",!1),k="$select=",O=Us("$select=",!1),Z="$expand=",z=Us("$expand=",!1),_="$filter=",F=Us("$filter=",!1),R=function(r){ta.where=r},q="$orderby=",I=Us("$orderby=",!1),N=function(r,t){ga(t)},D=function(r){ga(r,!0)},U="$top=",M=Us("$top=",!1),P=function(r){(ta.limit||(ta.limit={})).rows={val:r}},G="$skip=",H=Us("$skip=",!1),J=function(r){da(r)},K="$search=",Q=Us("$search=",!1),V=function(r){r&&(ta.search=r)},W="$count=",X=Us("$count=",!1),Y="$apply=",rr=Us("$apply=",!1),tr=function(r){return r},er="$at",nr=Us("$at",!1),ur="$from",sr=Us("$from",!1),or="$toInclusive",ar=Us("$toInclusive",!1),cr="$to",ir=Us("$to",!1),fr="*",lr=Us("*",!1),hr=function(r){return ta.columns=Array.isArray(ta.columns)?ta.columns:[],ta.columns.find(aa(r))||ta.columns.push(r),r},pr="/$count",Ar=Us("/$count",!1),dr=function(){const r=new Error('"/$count" is not supported for expand operation');throw r.statusCode=501,r},gr=";",mr=Us(";",!1),vr=function(r){return r},br=function(r){if(r.find((r=>r&&void 0!==r.apply))){const r=new Error('"$apply" is not supported for expand operation');throw r.statusCode=501,r}if(ta.columns){"*"===ta.expand&&(ta.expand=[]);for(const r of ta.columns)ta.expand.find(aa(r))||ta.expand.push(r);delete ta.columns}else Array.isArray(ta.expand)&&-1===ta.expand.indexOf("*")&&ta.expand.unshift("*")},yr=function(){ra.push(ta),ta=ta.expand[ta.expand.length-1],ta.expand="*"},Cr=function(){ta=ra.pop()},wr=function(r){const t="*"===r?{}:r;return t.expand="*",Array.isArray(ta.expand)||(ta.expand=[]),ta.expand.find(aa(t))||ta.expand.push(t),t},$r=function(r){return r},xr=function(r){sa(r,{SELECT:ta})},Er=function(r){return r},Lr=function(r){return r?[r]:[]},Br=function(r,t){r.push({xpr:t})},Sr=function(r,t){r.push({val:t})},Tr=function(r,t,e){r.push(t,...e)},jr=function(r){return r},kr=function(r,t){r.push(...t)},Or=function(r,t){"not"===r[r.length-1]&&"not"===t[0]?r.push("(",...t,")"):r.push(...t)},Zr=function(r,t){r.push(t)},zr=function(r,t){r.push(...t)},_r=function(r){return[r]},Fr=function(r,t){r.push(t)},Rr=function(r,t){let e=r.pop();if(!t)return["exists",{ref:[...r,{id:e}]}];let n=[];for(let r=0,u=0;r<t.length;++r){let s=t[r];s.ref&&0===s.ref.length&&"="===t[r+1]?n[u++]={func:"contains",args:[{ref:[e]},t[r+=2]]}:n[u++]=s}return n.length<t.length?r.length?(e=r.pop(),["exists",{ref:[...r,{id:e,where:n}]}]):n:["exists",{ref:[...r,{id:e,where:t}]}]},qr=function(r,t){let e=r.pop();return["not","exists",{ref:[...r,{id:e,where:["not",{xpr:[...t]}]}]}]},Ir=function(r,t){return t},Nr=function(r){return r?[r]:[]},Dr=function(r,t){r.push("(",...t,")")},Ur=function(r,t){r.push(...t)},Mr=function(r,t){r.push(t)},Pr=function(r,t){r.push(...t)},Gr=function(r,t){r.push(...t)},Hr=function(r,t,e){r.push(t,...e)},Jr=":",Kr=Us(":",!1),Qr=function(r,t){return ma(r,t)},Vr="any",Wr=Us("any",!1),Xr="all",Yr=Us("all",!1),rt=function(){const r=new Error('"$orderby" does not support lambda');throw r.statusCode=501,r},tt="asc",et=Us("asc",!1),nt="desc",ut=Us("desc",!1),st=function(r,t){return t},ot=function(r,t){return Wo(r,t&&{sort:t})},at=function(r){r&&(ta.count=!0)},ct=function(r,t){return t},it=function(r,t){if(void 0!==r){t=Array.isArray(t)?t:[t];for(let e of t)for(const t in e)if("limit"===t&&e.limit&&r.limit&&r.limit.offset&&e.limit.rows)r.limit.rows=e.limit.rows;else if(r[t]||"groupBy"===t&&(r.where||r.search)||"aggregate"===t&&"groupBy"in r&&!("groupBy"in e)){let n=r;r={apply:n},"limit"===t&&e[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(e[t].offset+=n.limit.offset.val),n=r,n[t]=e[t]}else r[t]=e[t];return{apply:r}}},ft="[",lt=Us("[",!1),ht="]",pt=Us("]",!1),At=function(r){return{list:r}},dt=/^[a-zA-Z0-9\-_.~]/,gt=Ms([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),mt=/^[^&]/,vt=Ms(["&"],!0,!1),bt=Ps("an aliased parameter (@param)"),yt="@",Ct=Us("@",!1),wt=function(r){return"@"+r},$t=function(r,t){ba(ta,r,t)},xt="$format=",Et=Us("$format=",!1),Lt=function(r){if("json"!==r.toLowerCase()){const r=new Error('Only query parameter "json" is allowed in "$format".');throw r.statusCode=501,r}},Bt="eq",St=Us("eq",!1),Tt="ne",jt=Us("ne",!1),kt="lt",Ot=Us("lt",!1),Zt="gt",zt=Us("gt",!1),_t="le",Ft=Us("le",!1),Rt="ge",qt=Us("ge",!1),It=function(r,t,e){return[r,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[t]||t,e]},Nt=function(r){return{list:r}},Dt="in",Ut=Us("in",!1),Mt=function(r,t){return[r,"in",t]},Pt=(Us("add",!1),Us("sub",!1),Us("mul",!1),Us("div",!1),Us("mod",!1),Ps("navigation with $count")),Gt=function(r,t){return t},Ht=function(r,t){return t?{id:r,where:t}:r},Jt=function(r,t){return{func:"count",as:"$count",args:[{ref:r}]}},Kt=Ps("a reference"),Qt=function(r,t){return t},Vt=function(r,t){return"null"===r?{val:null}:{ref:[r,...t]}},Wt=function(r){return{val:r}},Xt=function(r){return"number"==typeof r?{val:r}:{val:r,literal:"number"}},Yt=Ps("null"),re="null",te=Us("null",!1),ee=function(){return{val:null}},ne=Ps("a json object"),ue="{",se=Us("{",!1),oe=/^[^}]/,ae=Ms(["}"],!0,!1),ce="}",ie=Us("}",!1),fe=Ps("a json array"),le=/^[^\]]/,he=Ms(["]"],!0,!1),pe=Ps("a list"),Ae=function(r){return{list:r.replace(/"/g,"").split(",").map((r=>({val:r})))}},de=",",ge=Us(",",!1),me=function(r,t){return t},ve=function(r,t){return[r,...t]},be=function(r){return{list:r}},ye=Ps("a function name"),Ce=/^[a-zA-Z]/,we=Ms([["a","z"],["A","Z"]],!1,!1),$e=function(r,t){if(Xo&&!(r.toLowerCase()in Xo.functions))throw Object.assign(new Error(`"${r}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:r.toLowerCase(),args:t}},xe=function(r,t){return t},Ee=function(r,t){return[r,...t]},Le=function(r){return r.length?r[0]:r},Be="contains",Se=Us("contains",!0),Te="endswith",je=Us("endswith",!0),ke="startswith",Oe=Us("startswith",!0),Ze=function(r,t,e){return{func:r.toLowerCase(),args:[t,e]}},ze="not",_e=Us("NOT",!0),Fe=function(){return"not"},Re="and",qe=Us("AND",!0),Ie=function(){return"and"},Ne="or",De=Us("OR",!0),Ue=function(){return"or"},Me="aggregate",Pe=Us("aggregate",!1),Ge=function(r){return r},He="groupby",Je=Us("groupby",!1),Ke=function(r){return r},Qe="filter",Ve=Us("filter",!1),We=function(r){return r},Xe="search",Ye=Us("search",!1),rn=function(r){return r},tn="concat",en=Us("concat",!1),nn=function(r){return r},un="compute",sn=Us("compute",!1),on=function(r){return r},an="top",cn=Us("top",!1),fn=function(r){return r},ln="skip",hn=Us("skip",!1),pn=function(r){return r},An="orderby",dn=Us("orderby",!1),gn=function(r){return r},mn="topcount",vn=Us("topcount",!0),bn="bottomcount",yn=Us("bottomcount",!0),Cn="topsum",wn=Us("topsum",!0),$n="bottomsum",xn=Us("bottomsum",!0),En="toppercent",Ln=Us("toppercent",!0),Bn="bottompercent",Sn=Us("bottompercent",!0),Tn=function(r,t){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[r=r.toLowerCase()])throw Object.assign(new Error(`Transformation "${r}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:r,args:t}]}},jn=function(r){return r},kn=function(r,t){return t},On=function(r,t){return{aggregate:[r,...t]}},Zn=function(r){return{func:"count",args:[{val:1}],as:r}},zn=function(r){return r},_n=function(r,t,e){return{func:t,args:[r],as:e}},Fn="with",Rn=Us("with",!1),qn=function(r){return r.toLowerCase()},In="from",Nn=Us("from",!1),Dn="as",Un=Us("as",!1),Mn=function(r){return r},Pn=function(r,t){return{groupBy:[r,...t]}},Gn=function(r,t,e){return e},Hn=function(r,t,e){let n={};return n=e?{groupBy:[r,...t],...e.apply}:{groupBy:[r,...t]},n},Jn=function(r){return r},Kn="rollup",Qn=Us("rollup",!1),Vn="$all",Wn=Us("$all",!1),Xn=function(r){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Yn=function(r){return r},ru=function(r){return{where:r}},tu=function(r){if(r)return r},eu=function(r){return{search:r}},nu=function(r,t){return t},uu=function(r,t){return{concat:[r,...t]}},su=function(r,t){return[r,t]},ou="identity",au=Us("identity",!1),cu=function(){return{identity:!0}},iu=function(r){return{limit:{rows:{val:r}}}},fu=function(r){return{limit:{offset:{val:r}}}},lu=function(r,t){return t},hu=function(r,t){return{orderBy:[r,...t]}},pu=Ps("a boolean"),Au="true",du=Us("true",!1),gu="false",mu=Us("false",!1),vu=function(r){return"true"===r},bu=Ps("a single quoted string"),yu="'",Cu=Us("'",!1),wu="''",$u=Us("''",!1),xu=/^[^']/,Eu=Ms(["'"],!0,!1),Lu=function(r){return r.replace(/''/g,"'")},Bu=Ps("a doubled quoted string"),Su='"',Tu=Us('"',!1),ju='\\"',ku=Us('\\"',!1),Ou=/^[^"]/,Zu=Ms(['"'],!0,!1),zu=function(r){return r.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},_u=Ps("a string"),Fu=/^[^ \t\n()"&;]/,Ru=Ms([" ","\t","\n","(",")",'"',"&",";"],!0,!1),qu=Ps("a date"),Iu=/^[0-9]/,Nu=Ms([["0","9"]],!1,!1),Du="-",Uu=Us("-",!1),Mu="T",Pu=Us("T",!1),Gu=".",Hu=Us(".",!1),Ju="Z",Ku=Us("Z",!1),Qu="+",Vu=Us("+",!1),Wu=function(r){if(r.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${r}'`),{statusCode:400});return r},Xu=Ps("a number"),Yu=/^[+\-]/,rs=Ms(["+","-"],!1,!1),ts="e",es=Us("e",!1),ns=function(r){return ua(r)},us=Ps("an integer"),ss=function(r){return parseInt(r)},os=Ps("an identifier"),as=/^[_a-zA-Z]/,cs=Ms(["_",["a","z"],["A","Z"]],!1,!1),is=/^[_a-zA-Z0-9"."]/,fs=Ms(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),ls=function(r){return r},hs=Ps("a guid"),ps=Ps("a hex value"),As=/^[0-9a-fA-F]/,ds=Ms([["0","9"],["a","f"],["A","F"]],!1,!1),gs=/^[^\/?]/,ms=Ms(["/","?"],!0,!1),vs=function(r){return{val:r}},bs=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,ys=Ms([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),Cs=Ps("a binary"),ws="binary'",$s=Us("binary'",!1),xs=/^[a-zA-Z0-9\-_]/,Es=Ms([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),Ls="==",Bs=Us("==",!1),Ss=function(r){return oa(r)},Ts="(",js=Us("(",!1),ks=")",Os=Us(")",!1),Zs=Ps("an optional whitespace"),zs=/^[ \t\n]/,_s=Ms([" ","\t","\n"],!1,!1),Fs=Ps("a whitespace"),Rs=0,qs=[{line:1,column:1}],Is=0,Ns=[],Ds=0;if("startRule"in t){if(!(t.startRule in u))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=u[t.startRule]}function Us(r,t){return{type:"literal",text:r,ignoreCase:t}}function Ms(r,t,e){return{type:"class",parts:r,inverted:t,ignoreCase:e}}function Ps(r){return{type:"other",description:r}}function Gs(t){var e,n=qs[t];if(n)return n;for(e=t-1;!qs[e];)e--;for(n={line:(n=qs[e]).line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return qs[t]=n,n}function Hs(r,t){var e=Gs(r),n=Gs(t);return{start:{offset:r,line:e.line,column:e.column},end:{offset:t,line:n.line,column:n.column}}}function Js(r){Rs<Is||(Rs>Is&&(Is=Rs,Ns=[]),Ns.push(r))}function Ks(r,t,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(r,t),r,t,e)}function Qs(){var t,e,u,s,A,d,g,m,v,b,y,C,w,$,x;if(t=Rs,47===r.charCodeAt(Rs)?(e=o,Rs++):(e=n,0===Ds&&Js(a)),e===n&&(e=null),e!==n)if(u=Rs,(s=Vs())!==n&&(u,s=c(s)),(u=s)!==n){if(s=Rs,(A=Qo())!==n)if(63===r.charCodeAt(Rs)?(d=i,Rs++):(d=n,0===Ds&&Js(f)),d!==n)if((g=Qo())!==n){if(m=Rs,(v=Xs())!==n){for(b=[],y=Rs,(C=Qo())!==n?(38===r.charCodeAt(Rs)?(w=l,Rs++):(w=n,0===Ds&&Js(h)),w!==n&&($=Qo())!==n&&(x=Xs())!==n?y=C=[C,w,$,x]:(Rs=y,y=n)):(Rs=y,y=n);y!==n;)b.push(y),y=Rs,(C=Qo())!==n?(38===r.charCodeAt(Rs)?(w=l,Rs++):(w=n,0===Ds&&Js(h)),w!==n&&($=Qo())!==n&&(x=Xs())!==n?y=C=[C,w,$,x]:(Rs=y,y=n)):(Rs=y,y=n);b!==n?m=v=[v,b]:(Rs=m,m=n)}else Rs=m,m=n;m===n&&(m=null),m!==n?s=A=[A,d,g,m]:(Rs=s,s=n)}else Rs=s,s=n;else Rs=s,s=n;else Rs=s,s=n;s===n&&(s=null),s!==n&&(A=Qo())!==n?(t,t=e=p()):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;return t}function Vs(){var t,e,u,s,c,i,f;return t=Rs,r.substr(Rs,6)===A?(e=A,Rs+=6):(e=n,0===Ds&&Js(d)),e!==n&&(t,e=g()),(t=e)===n&&(t=Rs,e=Rs,r.substr(Rs,4)===m?(u=m,Rs+=4):(u=n,0===Ds&&Js(v)),u===n&&(r.substr(Rs,6)===b?(u=b,Rs+=6):(u=n,0===Ds&&Js(y))),(e=u!==n?r.substring(e,Rs):u)!==n&&(t,e=C(e)),(t=e)===n&&(t=Rs,e=Rs,(u=Uo())!==n?(s=Rs,(c=Jo())!==n&&(i=Ko())!==n?s=c=[c,i]:(Rs=s,s=n),s===n&&(s=Rs,(c=Jo())!==n&&(i=Ws())!==n&&(f=Ko())!==n?s=c=[c,i,f]:(Rs=s,s=n)),s===n&&(s=null),s!==n?(c=Rs,Ds++,i=Go(),Ds--,i===n?c=void 0:(Rs=c,c=n),c!==n?e=u=[u,s,c]:(Rs=e,e=n)):(Rs=e,e=n)):(Rs=e,e=n),e===n&&(e=Rs,(u=Go())!==n&&(e,u=w(u)),e=u),e===n&&(e=null),e!==n?(u=Rs,s=Rs,47===r.charCodeAt(Rs)?(c=o,Rs++):(c=n,0===Ds&&Js(a)),c!==n&&(s,c=$(e,c)),(s=c)!==n?((c=Vs())===n&&(c=null),c!==n?u=s=[s,c]:(Rs=u,u=n)):(Rs=u,u=n),u===n&&(u=null),u!==n?(t,t=e=x(e,u)):(Rs=t,t=n)):(Rs=t,t=n))),t}function Ws(){var t,e,u,s,o,a,c;return t=Rs,(e=Co())!==n&&(t,e=w(e)),(t=e)===n&&(t=Rs,(e=yo())!==n&&Qo()!==n?(61===r.charCodeAt(Rs)?(u=E,Rs++):(u=n,0===Ds&&Js(L)),u!==n&&Qo()!==n&&(s=Co())!==n?(o=Rs,(a=Ho())!==n&&(c=Ws())!==n?o=a=[a,c]:(Rs=o,o=n),o===n&&(o=null),o!==n?(t,t=e=B(e,s,o)):(Rs=t,t=n)):(Rs=t,t=n)):(Rs=t,t=n)),t}function Xs(){var t,e,u,s;return t=Rs,(e=Ys())!==n&&(t,e=S(e)),(t=e)===n&&(t=Rs,r.substr(Rs,11)===T?(e=T,Rs+=11):(e=n,0===Ds&&Js(j)),e!==n&&(u=Qo())!==n?(s=function(){var t,e;t=Rs,e=function(){var t,e,u;t=Rs,e=[],bs.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(ys));if(u!==n)for(;u!==n;)e.push(u),bs.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(ys));else e=n;t=e!==n?r.substring(t,Rs):e;return t}(),e===n&&(e=null);e!==n&&(t,e=xr(e));return t=e,t}(),s!==n?t=e=[e,u,s]:(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=function(){var t,e,u,s;t=Rs,r.substr(Rs,3)===er?(e=er,Rs+=3):(e=n,0===Ds&&Js(nr));e===n&&(r.substr(Rs,5)===ur?(e=ur,Rs+=5):(e=n,0===Ds&&Js(sr)),e===n&&(r.substr(Rs,12)===or?(e=or,Rs+=12):(e=n,0===Ds&&Js(ar)),e===n&&(r.substr(Rs,3)===cr?(e=cr,Rs+=3):(e=n,0===Ds&&Js(ir)))));e!==n?(61===r.charCodeAt(Rs)?(u=E,Rs++):(u=n,0===Ds&&Js(L)),u!==n&&(s=No())!==n?t=e=[e,u,s]:(Rs=t,t=n)):(Rs=t,t=n);return t}(),t===n&&(t=function(){var t,e,u,s,o;t=Rs,r.substr(Rs,8)===xt?(e=xt,Rs+=8):(e=n,0===Ds&&Js(Et));if(e!==n){for(u=Rs,s=[],mt.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(vt));o!==n;)s.push(o),mt.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(vt));(u=s!==n?r.substring(u,Rs):s)!==n?(t,t=e=Lt(u)):(Rs=t,t=n)}else Rs=t,t=n;return t}(),t===n&&(t=function(){var t,e,u,s,o;t=Rs,e=[],dt.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(gt));if(u!==n)for(;u!==n;)e.push(u),dt.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(gt));else e=n;if(e!==n)if(61===r.charCodeAt(Rs)?(u=E,Rs++):(u=n,0===Ds&&Js(L)),u!==n){for(s=[],mt.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(vt));o!==n;)s.push(o),mt.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(vt));s!==n?t=e=[e,u,s]:(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;return t}(),t===n&&(t=function(){var t,e,u,s,o;t=Rs,e=Ao(),e!==n?(61===r.charCodeAt(Rs)?(u=E,Rs++):(u=n,0===Ds&&Js(L)),u!==n?(s=Rs,Ds++,o=Ao(),Ds--,o===n?s=void 0:(Rs=s,s=n),s!==n?(o=function(){var t,e,u,s;t=Co(),t===n&&(t=wo())===n&&(t=$o())===n&&(t=Rs,91===r.charCodeAt(Rs)?(e=ft,Rs++):(e=n,0===Ds&&Js(lt)),e!==n&&(u=xo())!==n?(93===r.charCodeAt(Rs)?(s=ht,Rs++):(s=n,0===Ds&&Js(pt)),s!==n?(t,t=e=At(u)):(Rs=t,t=n)):(Rs=t,t=n));return t}(),o!==n?(t,t=e=$t(e,o)):(Rs=t,t=n)):(Rs=t,t=n)):(Rs=t,t=n)):(Rs=t,t=n);return t}()))))),t}function Ys(){var t,e,u,s,o,a,c,i;if(t=Rs,r.substr(Rs,8)===k?(e=k,Rs+=8):(e=n,0===Ds&&Js(O)),e!==n)if((u=Qo())!==n)if((s=ro())!==n){for(o=[],a=Rs,(c=Ho())!==n&&(i=ro())!==n?a=c=[c,i]:(Rs=a,a=n);a!==n;)o.push(a),a=Rs,(c=Ho())!==n&&(i=ro())!==n?a=c=[c,i]:(Rs=a,a=n);o!==n?t=e=[e,u,s,o]:(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;else Rs=t,t=n;if(t===n){if(t=Rs,r.substr(Rs,8)===Z?(e=Z,Rs+=8):(e=n,0===Ds&&Js(z)),e!==n)if((u=Qo())!==n)if((s=eo())!==n){for(o=[],a=Rs,(c=Ho())!==n&&(i=eo())!==n?a=c=[c,i]:(Rs=a,a=n);a!==n;)o.push(a),a=Rs,(c=Ho())!==n&&(i=eo())!==n?a=c=[c,i]:(Rs=a,a=n);o!==n?(a=function(){var t,e;t=Rs,r.substr(Rs,7)===pr?(e=pr,Rs+=7):(e=n,0===Ds&&Js(Ar));e!==n&&(t,e=dr());return t=e,t}(),a===n&&(a=null),a!==n?t=e=[e,u,s,o,a]:(Rs=t,t=n)):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;else Rs=t,t=n;if(t===n&&(t=Rs,r.substr(Rs,8)===_?(e=_,Rs+=8):(e=n,0===Ds&&Js(F)),e!==n&&(u=Qo())!==n&&(s=ao())!==n?(t,t=e=R(s)):(Rs=t,t=n),t===n)){if(t=Rs,r.substr(Rs,9)===q?(e=q,Rs+=9):(e=n,0===Ds&&Js(I)),e!==n)if((u=Qo())!==n)if((s=ho())!==n){for(o=[],a=Rs,(c=Ho())!==n&&(i=ho())!==n?(a,a=c=N(s,i)):(Rs=a,a=n);a!==n;)o.push(a),a=Rs,(c=Ho())!==n&&(i=ho())!==n?(a,a=c=N(s,i)):(Rs=a,a=n);o!==n?(t,t=e=D(s)):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;else Rs=t,t=n;t===n&&(t=Rs,r.substr(Rs,5)===U?(e=U,Rs+=5):(e=n,0===Ds&&Js(M)),e!==n&&(u=Qo())!==n&&(s=no())!==n?(t,t=e=P(s)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,6)===G?(e=G,Rs+=6):(e=n,0===Ds&&Js(H)),e!==n&&(u=Qo())!==n&&(s=uo())!==n?(t,t=e=J(s)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,8)===K?(e=K,Rs+=8):(e=n,0===Ds&&Js(Q)),e!==n&&(u=Qo())!==n&&(s=so())!==n?(t,t=e=V(s)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,7)===W?(e=W,Rs+=7):(e=n,0===Ds&&Js(X)),e!==n&&(u=Qo())!==n?(s=function(){var r,t;r=Rs,t=qo(),t!==n&&(r,t=at(t));return r=t,r}(),s!==n?t=e=[e,u,s]:(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,7)===Y?(e=Y,Rs+=7):(e=n,0===Ds&&Js(rr)),e!==n&&(u=Qo())!==n&&(s=po())!==n?(t,t=e=tr(s)):(Rs=t,t=n))))))}}return t}function ro(){var t,e;return t=Rs,42===r.charCodeAt(Rs)?(e=fr,Rs++):(e=n,0===Ds&&Js(lr)),e===n&&(e=yo()),e!==n&&(t,e=hr(e)),t=e}function to(){var t,e,u,s,o;return t=Rs,e=Rs,(u=Jo())!==n&&(e,u=yr()),(e=u)!==n?(u=function(){var t,e,u,s,o;for(t=Rs,e=[],u=Rs,(s=Ys())!==n&&Qo()!==n?(59===r.charCodeAt(Rs)?(o=gr,Rs++):(o=n,0===Ds&&Js(mr)),o===n&&(o=null),o!==n?(u,u=s=vr(s)):(Rs=u,u=n)):(Rs=u,u=n);u!==n;)e.push(u),u=Rs,(s=Ys())!==n&&Qo()!==n?(59===r.charCodeAt(Rs)?(o=gr,Rs++):(o=n,0===Ds&&Js(mr)),o===n&&(o=null),o!==n?(u,u=s=vr(s)):(Rs=u,u=n)):(Rs=u,u=n);return e!==n&&(t,e=br(e)),e}(),u===n&&(u=null),u!==n?(s=Rs,(o=Ko())!==n&&(s,o=Cr()),(s=o)!==n?t=e=[e,u,s]:(Rs=t,t=n)):(Rs=t,t=n)):(Rs=t,t=n),t}function eo(){var t,e,u;return t=Rs,e=Rs,42===r.charCodeAt(Rs)?(u=fr,Rs++):(u=n,0===Ds&&Js(lr)),u===n&&(u=yo()),u!==n&&(e,u=wr(u)),(e=u)!==n?((u=to())===n&&(u=null),u!==n?t=e=[e,u]:(Rs=t,t=n)):(Rs=t,t=n),t}function no(){var r,t;return r=Rs,(t=Do())!==n&&(r,t=$r(t)),r=t}function uo(){var r,t;return r=Rs,(t=Do())!==n&&(r,t=$r(t)),r=t}function so(){var r,t;return r=Rs,(t=oo())!==n&&(r,t=Er(t)),(r=t)===n&&(r=Qo()),r}function oo(){var t,e,u,s,o,a,c;if(t=Rs,e=Rs,(u=Lo())===n&&(u=null),u!==n&&(e,u=Lr(u)),(e=u)!==n)if(u=Rs,(s=Jo())!==n&&(o=oo())!==n&&(a=Ko())!==n?(u,u=s=Br(e,o)):(Rs=u,u=n),u===n&&(u=Rs,s=function(){var t,e,u,s,o;Ds++,t=Rs,34===r.charCodeAt(Rs)?(e=Su,Rs++):(e=n,0===Ds&&Js(Tu));if(e!==n){for(u=Rs,s=[],r.substr(Rs,2)===ju?(o=ju,Rs+=2):(o=n,0===Ds&&Js(ku)),o===n&&(Ou.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(Zu)));o!==n;)s.push(o),r.substr(Rs,2)===ju?(o=ju,Rs+=2):(o=n,0===Ds&&Js(ku)),o===n&&(Ou.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(Zu)));(u=s!==n?r.substring(u,Rs):s)!==n?(34===r.charCodeAt(Rs)?(s=Su,Rs++):(s=n,0===Ds&&Js(Tu)),s!==n?(t,t=e=zu(u)):(Rs=t,t=n)):(Rs=t,t=n)}else Rs=t,t=n;Ds--,t===n&&(e=n,0===Ds&&Js(Bu));return t}(),s!==n&&(u,s=Sr(e,s)),(u=s)===n&&(u=Rs,(s=Io())!==n&&(u,s=Sr(e,s)),(u=s)===n&&(u=Rs,s=function(){var t,e,u;Ds++,t=Rs,e=[],Fu.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(Ru));if(u!==n)for(;u!==n;)e.push(u),Fu.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(Ru));else e=n;t=e!==n?r.substring(t,Rs):e;Ds--,t===n&&(e=n,0===Ds&&Js(_u));return t}(),s!==n&&(u,s=Sr(e,s)),u=s))),u!==n){for(s=[],o=Rs,(a=Bo())===n&&(a=To())===n&&(a=So()),a!==n&&(c=oo())!==n?(o,o=a=Tr(e,a,c)):(Rs=o,o=n);o!==n;)s.push(o),o=Rs,(a=Bo())===n&&(a=To())===n&&(a=So()),a!==n&&(c=oo())!==n?(o,o=a=Tr(e,a,c)):(Rs=o,o=n);s!==n?(t,t=e=jr(e)):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;return t}function ao(){var r,t;return r=Rs,(t=co())!==n&&(r,t=jr(t)),r=t}function co(){var t,e,u,s,o,a,c;if(t=Rs,e=Rs,(u=Lo())===n&&(u=null),u!==n&&(e,u=Lr(u)),(e=u)!==n)if(u=Rs,(s=Jo())!==n&&(o=co())!==n&&(a=Ko())!==n?(u,u=s=Br(e,o)):(Rs=u,u=n),u===n&&(u=Rs,(s=go())!==n&&(u,s=kr(e,s)),(u=s)===n&&(u=Rs,(s=io())!==n&&(u,s=Or(e,s)),(u=s)===n&&(u=Rs,s=function(){var t,e,u,s;t=Rs,r.substr(Rs,8).toLowerCase()===Be?(e=r.substr(Rs,8),Rs+=8):(e=n,0===Ds&&Js(Se));e===n&&(r.substr(Rs,8).toLowerCase()===Te?(e=r.substr(Rs,8),Rs+=8):(e=n,0===Ds&&Js(je)),e===n&&(r.substr(Rs,10).toLowerCase()===ke?(e=r.substr(Rs,10),Rs+=10):(e=n,0===Ds&&Js(Oe))));e!==n&&Jo()!==n&&(u=bo())!==n&&Ho()!==n&&(s=bo())!==n&&Ko()!==n?(t,t=e=Ze(e,u,s)):(Rs=t,t=n);return t}(),s!==n&&(u,s=Zr(e,s)),(u=s)===n&&(u=Rs,(s=qo())!==n&&(u,s=Sr(e,s)),(u=s)===n&&(u=Rs,(s=vo())!==n&&(u,s=zr(e,s)),u=s))))),u!==n){for(s=[],o=Rs,(a=Bo())===n&&(a=To()),a!==n&&(c=co())!==n?(o,o=a=Tr(e,a,c)):(Rs=o,o=n);o!==n;)s.push(o),o=Rs,(a=Bo())===n&&(a=To()),a!==n&&(c=co())!==n?(o,o=a=Tr(e,a,c)):(Rs=o,o=n);s!==n?(t,t=e=jr(e)):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;return t}function io(){var t,e,u,s,c,i,f;if(t=Rs,e=Rs,(u=Uo())!==n&&(e,u=_r(u)),(e=u)!==n)if(47===r.charCodeAt(Rs)?(u=o,Rs++):(u=n,0===Ds&&Js(a)),u!==n){for(s=[],c=Rs,(i=Uo())!==n?(47===r.charCodeAt(Rs)?(f=o,Rs++):(f=n,0===Ds&&Js(a)),f!==n?(c,c=i=Fr(e,i)):(Rs=c,c=n)):(Rs=c,c=n);c!==n;)s.push(c),c=Rs,(i=Uo())!==n?(47===r.charCodeAt(Rs)?(f=o,Rs++):(f=n,0===Ds&&Js(a)),f!==n?(c,c=i=Fr(e,i)):(Rs=c,c=n)):(Rs=c,c=n);s!==n?(c=Rs,i=function(){var t,e,u;t=Rs,r.substr(Rs,3)===Vr?(e=Vr,Rs+=3):(e=n,0===Ds&&Js(Wr));e!==n&&Jo()!==n?((u=lo())===n&&(u=null),u!==n&&Ko()!==n?(t,t=e=jr(u)):(Rs=t,t=n)):(Rs=t,t=n);return t}(),i!==n&&(c,i=Rr(e,i)),(c=i)===n&&(c=Rs,i=function(){var t,e,u;t=Rs,r.substr(Rs,3)===Xr?(e=Xr,Rs+=3):(e=n,0===Ds&&Js(Yr));e!==n&&Jo()!==n&&(u=lo())!==n&&Ko()!==n?(t,t=e=jr(u)):(Rs=t,t=n);return t}(),i!==n&&(c,i=qr(e,i)),c=i),c!==n?(t,t=e=Ir(e,c)):(Rs=t,t=n)):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;return t}function fo(){var r,t,e,u,s,o,a;if(r=Rs,t=Rs,(e=Lo())===n&&(e=null),e!==n&&(t,e=Nr(e)),(t=e)!==n)if(e=Rs,(u=Jo())!==n&&(s=fo())!==n&&(o=Ko())!==n?(e,e=u=Dr(t,s)):(Rs=e,e=n),e===n&&(e=Rs,(u=go())!==n&&(e,u=Ur(t,u)),(e=u)===n&&(e=Rs,(u=Eo())!==n&&(e,u=Mr(t,u)),(e=u)===n&&(e=Rs,(u=io())!==n&&(e,u=Pr(t,u)),(e=u)===n&&(e=Rs,(u=vo())!==n&&(e,u=Gr(t,u)),e=u)))),e!==n){for(u=[],s=Rs,(o=Bo())===n&&(o=To()),o!==n&&(a=fo())!==n?(s,s=o=Hr(t,o,a)):(Rs=s,s=n);s!==n;)u.push(s),s=Rs,(o=Bo())===n&&(o=To()),o!==n&&(a=fo())!==n?(s,s=o=Hr(t,o,a)):(Rs=s,s=n);u!==n?(r,r=t=jr(t)):(Rs=r,r=n)}else Rs=r,r=n;else Rs=r,r=n;return r}function lo(){var t,e,u,s;return t=Rs,(e=Uo())!==n?(58===r.charCodeAt(Rs)?(u=Jr,Rs++):(u=n,0===Ds&&Js(Kr)),u!==n&&(s=fo())!==n?(t,t=e=Qr(e,s)):(Rs=t,t=n)):(Rs=t,t=n),t}function ho(){var t,e,u,s,o;return t=Rs,e=Rs,(u=io())!==n&&(e,u=rt()),(e=u)===n&&(e=Eo())===n&&(e=yo()),e!==n?(u=Rs,Vo()!==n?(s=Rs,r.substr(Rs,3)===tt?(o=tt,Rs+=3):(o=n,0===Ds&&Js(et)),o===n&&(r.substr(Rs,4)===nt?(o=nt,Rs+=4):(o=n,0===Ds&&Js(ut))),(s=o!==n?r.substring(s,Rs):o)!==n?(u,u=st(e,s)):(Rs=u,u=n)):(Rs=u,u=n),u===n&&(u=null),u!==n?(t,t=e=ot(e,u)):(Rs=t,t=n)):(Rs=t,t=n),t}function po(){var t,e,u,s,c,i;if(t=Rs,(e=jo())!==n){for(u=[],s=Rs,47===r.charCodeAt(Rs)?(c=o,Rs++):(c=n,0===Ds&&Js(a)),c!==n&&(i=jo())!==n?(s,s=c=ct(e,i)):(Rs=s,s=n);s!==n;)u.push(s),s=Rs,47===r.charCodeAt(Rs)?(c=o,Rs++):(c=n,0===Ds&&Js(a)),c!==n&&(i=jo())!==n?(s,s=c=ct(e,i)):(Rs=s,s=n);u!==n?(t,t=e=it(e,u)):(Rs=t,t=n)}else Rs=t,t=n;return t}function Ao(){var t,e,u;return Ds++,t=Rs,64===r.charCodeAt(Rs)?(e=yt,Rs++):(e=n,0===Ds&&Js(Ct)),e!==n&&(u=Uo())!==n?(t,t=e=wt(u)):(Rs=t,t=n),Ds--,t===n&&(e=n,0===Ds&&Js(bt)),t}function go(){var t,e,u,s,o;return t=Rs,(e=bo())!==n&&Vo()!==n?(u=Rs,r.substr(Rs,2)===Bt?(s=Bt,Rs+=2):(s=n,0===Ds&&Js(St)),s===n&&(r.substr(Rs,2)===Tt?(s=Tt,Rs+=2):(s=n,0===Ds&&Js(jt)),s===n&&(r.substr(Rs,2)===kt?(s=kt,Rs+=2):(s=n,0===Ds&&Js(Ot)),s===n&&(r.substr(Rs,2)===Zt?(s=Zt,Rs+=2):(s=n,0===Ds&&Js(zt)),s===n&&(r.substr(Rs,2)===_t?(s=_t,Rs+=2):(s=n,0===Ds&&Js(Ft)),s===n&&(r.substr(Rs,2)===Rt?(s=Rt,Rs+=2):(s=n,0===Ds&&Js(qt))))))),(u=s!==n?r.substring(u,Rs):s)!==n&&(s=Vo())!==n&&(o=bo())!==n?(t,t=e=It(e,u,o)):(Rs=t,t=n)):(Rs=t,t=n),t}function mo(){var r,t;return r=Rs,(t=Ao())!==n&&(r,t=Nt(t)),(r=t)===n&&(r=function(){var r,t,e;Ds++,r=Rs,t=Jo(),t!==n&&(e=xo())!==n&&Ko()!==n?(r,r=t=be(e)):(Rs=r,r=n);Ds--,r===n&&(t=n,0===Ds&&Js(pe));return r}()),r}function vo(){var t,e,u,s;return t=Rs,(e=bo())!==n&&Vo()!==n?(r.substr(Rs,2)===Dt?(u=Dt,Rs+=2):(u=n,0===Ds&&Js(Ut)),u!==n&&Vo()!==n&&(s=mo())!==n?(t,t=e=Mt(e,s)):(Rs=t,t=n)):(Rs=t,t=n),t}function bo(){var t;return(t=function(){var t,e,u,s,c,i,f;Ds++,t=Rs,e=[],u=Rs,(s=Uo())!==n?(c=Rs,(i=Jo())!==n&&(f=Ws())!==n&&Ko()!==n?(c,c=i=Gt(s,f)):(Rs=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Rs)?(i=o,Rs++):(i=n,0===Ds&&Js(a)),i!==n?(u,u=s=Ht(s,c)):(Rs=u,u=n)):(Rs=u,u=n)):(Rs=u,u=n);if(u!==n)for(;u!==n;)e.push(u),u=Rs,(s=Uo())!==n?(c=Rs,(i=Jo())!==n&&(f=Ws())!==n&&Ko()!==n?(c,c=i=Gt(s,f)):(Rs=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(Rs)?(i=o,Rs++):(i=n,0===Ds&&Js(a)),i!==n?(u,u=s=Ht(s,c)):(Rs=u,u=n)):(Rs=u,u=n)):(Rs=u,u=n);else e=n;e!==n?(r.substr(Rs,6)===A?(u=A,Rs+=6):(u=n,0===Ds&&Js(d)),u!==n?(t,t=e=Jt(e,u)):(Rs=t,t=n)):(Rs=t,t=n);Ds--,t===n&&(e=n,0===Ds&&Js(Pt));return t}())===n&&(t=Eo())===n&&(t=Co())===n&&(t=yo())===n&&(t=wo())===n&&(t=$o())===n&&(t=function(){var t,e,u,s,o;Ds++,t=Rs,91===r.charCodeAt(Rs)?(e=ft,Rs++):(e=n,0===Ds&&Js(lt));if(e!==n){for(u=Rs,s=[],le.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(he));o!==n;)s.push(o),le.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(he));(u=s!==n?r.substring(u,Rs):s)!==n?(93===r.charCodeAt(Rs)?(s=ht,Rs++):(s=n,0===Ds&&Js(pt)),s!==n?(t,t=e=Ae(u)):(Rs=t,t=n)):(Rs=t,t=n)}else Rs=t,t=n;Ds--,t===n&&(e=n,0===Ds&&Js(pe));return t}()),t}function yo(){var t,e,u,s,c,i;if(Ds++,t=Rs,(e=Uo())!==n){for(u=[],s=Rs,47===r.charCodeAt(Rs)?(c=o,Rs++):(c=n,0===Ds&&Js(a)),c!==n&&(i=Uo())!==n?(s,s=c=Qt(e,i)):(Rs=s,s=n);s!==n;)u.push(s),s=Rs,47===r.charCodeAt(Rs)?(c=o,Rs++):(c=n,0===Ds&&Js(a)),c!==n&&(i=Uo())!==n?(s,s=c=Qt(e,i)):(Rs=s,s=n);u!==n?(t,t=e=Vt(e,u)):(Rs=t,t=n)}else Rs=t,t=n;return Ds--,t===n&&(e=n,0===Ds&&Js(Kt)),t}function Co(){var t,e;return t=Rs,(e=qo())===n&&(e=No()),e!==n&&(t,e=Wt(e)),(t=e)===n&&(t=Rs,(e=Mo())!==n&&(t,e=Wt(e)),(t=e)===n&&(t=Rs,e=function(){var t,e,u,s,o,a,c,i,f,l,h;Ds++,t=Rs,e=Rs,Ds++,u=function(){var t,e,u;t=Rs,e=[],Iu.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(Nu));if(u!==n)for(;u!==n;)e.push(u),Iu.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(Nu));else e=n;e!==n?(45===r.charCodeAt(Rs)?(u=Du,Rs++):(u=n,0===Ds&&Js(Uu)),u!==n?t=e=[e,u]:(Rs=t,t=n)):(Rs=t,t=n);return t}(),Ds--,u===n?e=void 0:(Rs=e,e=n);if(e!==n){if(u=Rs,s=Rs,Yu.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(rs)),o===n&&(o=null),o!==n){if(a=[],Iu.test(r.charAt(Rs))?(c=r.charAt(Rs),Rs++):(c=n,0===Ds&&Js(Nu)),c!==n)for(;c!==n;)a.push(c),Iu.test(r.charAt(Rs))?(c=r.charAt(Rs),Rs++):(c=n,0===Ds&&Js(Nu));else a=n;if(a!==n){if(c=Rs,46===r.charCodeAt(Rs)?(i=Gu,Rs++):(i=n,0===Ds&&Js(Hu)),i!==n){if(f=[],Iu.test(r.charAt(Rs))?(l=r.charAt(Rs),Rs++):(l=n,0===Ds&&Js(Nu)),l!==n)for(;l!==n;)f.push(l),Iu.test(r.charAt(Rs))?(l=r.charAt(Rs),Rs++):(l=n,0===Ds&&Js(Nu));else f=n;f!==n?c=i=[i,f]:(Rs=c,c=n)}else Rs=c,c=n;if(c===n&&(c=null),c!==n){if(i=Rs,101===r.charCodeAt(Rs)?(f=ts,Rs++):(f=n,0===Ds&&Js(es)),f!==n){if(l=[],Iu.test(r.charAt(Rs))?(h=r.charAt(Rs),Rs++):(h=n,0===Ds&&Js(Nu)),h!==n)for(;h!==n;)l.push(h),Iu.test(r.charAt(Rs))?(h=r.charAt(Rs),Rs++):(h=n,0===Ds&&Js(Nu));else l=n;l!==n?i=f=[f,l]:(Rs=i,i=n)}else Rs=i,i=n;i===n&&(i=null),i!==n?s=o=[o,a,c,i]:(Rs=s,s=n)}else Rs=s,s=n}else Rs=s,s=n}else Rs=s,s=n;(u=s!==n?r.substring(u,Rs):s)!==n?(t,t=e=ns(u)):(Rs=t,t=n)}else Rs=t,t=n;Ds--,t===n&&(e=n,0===Ds&&Js(Xu));return t}(),e!==n&&(t,e=Xt(e)),(t=e)===n&&(t=Rs,(e=Io())!==n&&(t,e=Wt(e)),(t=e)===n&&(t=Rs,e=function(){var t,e,u,s,o,a;Ds++,t=Rs,r.substr(Rs,7)===ws?(e=ws,Rs+=7):(e=n,0===Ds&&Js($s));if(e!==n){if(u=Rs,s=Rs,o=[],xs.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(Es)),a!==n)for(;a!==n;)o.push(a),xs.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(Es));else o=n;o!==n?(r.substr(Rs,2)===Ls?(a=Ls,Rs+=2):(a=n,0===Ds&&Js(Bs)),a===n&&(61===r.charCodeAt(Rs)?(a=E,Rs++):(a=n,0===Ds&&Js(L))),a===n&&(a=null),a!==n?s=o=[o,a]:(Rs=s,s=n)):(Rs=s,s=n),(u=s!==n?r.substring(u,Rs):s)!==n?(39===r.charCodeAt(Rs)?(s=yu,Rs++):(s=n,0===Ds&&Js(Cu)),s!==n?(t,t=e=Ss(u)):(Rs=t,t=n)):(Rs=t,t=n)}else Rs=t,t=n;Ds--,t===n&&(e=n,0===Ds&&Js(Cs));return t}(),e!==n&&(t,e=Wt(e)),(t=e)===n&&(t=Rs,(e=Ao())!==n&&(t,e=Wt(e)),(t=e)===n&&(t=function(){var t,e;Ds++,t=Rs,r.substr(Rs,4)===re?(e=re,Rs+=4):(e=n,0===Ds&&Js(te));e!==n&&(t,e=ee());t=e,Ds--,t===n&&(e=n,0===Ds&&Js(Yt));return t}())))))),t}function wo(){var t,e,u,s,o,a;if(Ds++,t=Rs,e=Rs,u=Rs,123===r.charCodeAt(Rs)?(s=ue,Rs++):(s=n,0===Ds&&Js(se)),s!==n){for(o=[],(a=wo())===n&&(oe.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(ae)));a!==n;)o.push(a),(a=wo())===n&&(oe.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(ae)));o!==n?(125===r.charCodeAt(Rs)?(a=ce,Rs++):(a=n,0===Ds&&Js(ie)),a!==n?u=s=[s,o,a]:(Rs=u,u=n)):(Rs=u,u=n)}else Rs=u,u=n;return(e=u!==n?r.substring(e,Rs):u)!==n&&(t,e=Wt(e)),Ds--,(t=e)===n&&(e=n,0===Ds&&Js(ne)),t}function $o(){var t,e,u,s,o,a,c,i;if(Ds++,t=Rs,e=Rs,u=Rs,91===r.charCodeAt(Rs)?(s=ft,Rs++):(s=n,0===Ds&&Js(lt)),s!==n&&(o=Qo())!==n?(93===r.charCodeAt(Rs)?(a=ht,Rs++):(a=n,0===Ds&&Js(pt)),a!==n?u=s=[s,o,a]:(Rs=u,u=n)):(Rs=u,u=n),u===n)if(u=Rs,91===r.charCodeAt(Rs)?(s=ft,Rs++):(s=n,0===Ds&&Js(lt)),s!==n)if((o=Qo())!==n)if(123===r.charCodeAt(Rs)?(a=ue,Rs++):(a=n,0===Ds&&Js(se)),a!==n){for(c=[],(i=$o())===n&&(le.test(r.charAt(Rs))?(i=r.charAt(Rs),Rs++):(i=n,0===Ds&&Js(he)));i!==n;)c.push(i),(i=$o())===n&&(le.test(r.charAt(Rs))?(i=r.charAt(Rs),Rs++):(i=n,0===Ds&&Js(he)));c!==n?(93===r.charCodeAt(Rs)?(i=ht,Rs++):(i=n,0===Ds&&Js(pt)),i!==n?u=s=[s,o,a,c,i]:(Rs=u,u=n)):(Rs=u,u=n)}else Rs=u,u=n;else Rs=u,u=n;else Rs=u,u=n;return(e=u!==n?r.substring(e,Rs):u)!==n&&(t,e=Wt(e)),Ds--,(t=e)===n&&(e=n,0===Ds&&Js(fe)),t}function xo(){var t,e,u,s,o,a;if(t=Rs,(e=Co())!==n){for(u=[],s=Rs,44===r.charCodeAt(Rs)?(o=de,Rs++):(o=n,0===Ds&&Js(ge)),o!==n&&(a=Co())!==n?(s,s=o=me(e,a)):(Rs=s,s=n);s!==n;)u.push(s),s=Rs,44===r.charCodeAt(Rs)?(o=de,Rs++):(o=n,0===Ds&&Js(ge)),o!==n&&(a=Co())!==n?(s,s=o=me(e,a)):(Rs=s,s=n);u!==n?(t,t=e=ve(e,u)):(Rs=t,t=n)}else Rs=t,t=n;return t}function Eo(){var t,e,u;return t=Rs,e=function(){var t,e,u;if(Ds++,t=Rs,e=[],Ce.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(we)),u!==n)for(;u!==n;)e.push(u),Ce.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(we));else e=n;return t=e!==n?r.substring(t,Rs):e,Ds--,t===n&&(e=n,0===Ds&&Js(ye)),t}(),e!==n&&Jo()!==n?(u=function(){var r,t,e,u,s,o,a;if(r=Rs,t=[],e=Rs,u=bo(),u!==n){for(s=[],o=Rs,Ho()!==n&&(a=bo())!==n?(o,o=xe(u,a)):(Rs=o,o=n);o!==n;)s.push(o),o=Rs,Ho()!==n&&(a=bo())!==n?(o,o=xe(u,a)):(Rs=o,o=n);s!==n?(e,e=u=Ee(u,s)):(Rs=e,e=n)}else Rs=e,e=n;for(;e!==n;)if(t.push(e),e=Rs,(u=bo())!==n){for(s=[],o=Rs,Ho()!==n&&(a=bo())!==n?(o,o=xe(u,a)):(Rs=o,o=n);o!==n;)s.push(o),o=Rs,Ho()!==n&&(a=bo())!==n?(o,o=xe(u,a)):(Rs=o,o=n);s!==n?(e,e=u=Ee(u,s)):(Rs=e,e=n)}else Rs=e,e=n;t!==n&&(r,t=Le(t));return r=t,r}(),u!==n&&Ko()!==n?(t,t=e=$e(e,u)):(Rs=t,t=n)):(Rs=t,t=n),t}function Lo(){var t,e;return t=Rs,Qo()!==n?(r.substr(Rs,3).toLowerCase()===ze?(e=r.substr(Rs,3),Rs+=3):(e=n,0===Ds&&Js(_e)),e!==n&&Vo()!==n?(t,t=Fe()):(Rs=t,t=n)):(Rs=t,t=n),t}function Bo(){var t,e;return t=Rs,Vo()!==n?(r.substr(Rs,3).toLowerCase()===Re?(e=r.substr(Rs,3),Rs+=3):(e=n,0===Ds&&Js(qe)),e!==n&&Vo()!==n?(t,t=Ie()):(Rs=t,t=n)):(Rs=t,t=n),t}function So(){var r,t;return r=Rs,(t=Vo())!==n&&(r,t=Ie()),r=t}function To(){var t,e;return t=Rs,Vo()!==n?(r.substr(Rs,2).toLowerCase()===Ne?(e=r.substr(Rs,2),Rs+=2):(e=n,0===Ds&&Js(De)),e!==n&&Vo()!==n?(t,t=Ue()):(Rs=t,t=n)):(Rs=t,t=n),t}function jo(){var t,e,u;return t=Rs,r.substr(Rs,9)===Me?(e=Me,Rs+=9):(e=n,0===Ds&&Js(Pe)),e!==n?(u=function(){var r,t,e,u,s,o;if(r=Rs,t=Jo(),t!==n)if(Qo()!==n)if((e=ko())!==n){for(u=[],s=Rs,Qo()!==n&&Ho()!==n&&Qo()!==n&&(o=ko())!==n?(s,s=kn(e,o)):(Rs=s,s=n);s!==n;)u.push(s),s=Rs,Qo()!==n&&Ho()!==n&&Qo()!==n&&(o=ko())!==n?(s,s=kn(e,o)):(Rs=s,s=n);u!==n&&(s=Qo())!==n&&Ko()!==n?(r,r=t=On(e,u)):(Rs=r,r=n)}else Rs=r,r=n;else Rs=r,r=n;else Rs=r,r=n;return r}(),u!==n?(t,t=e=Ge(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,7)===He?(e=He,Rs+=7):(e=n,0===Ds&&Js(Je)),e!==n?(u=function(){var r,t,e,u,s,o,a,c;if(r=Rs,t=Jo(),t!==n)if(Jo()!==n)if((e=Fo())!==n){for(u=[],s=Rs,(o=Ho())!==n&&(a=Fo())!==n?(s,s=o=kn(e,a)):(Rs=s,s=n);s!==n;)u.push(s),s=Rs,(o=Ho())!==n&&(a=Fo())!==n?(s,s=o=kn(e,a)):(Rs=s,s=n);u!==n?(s=Rs,(o=Ko())!==n&&(s,o=Pn(e,u)),(s=o)!==n?(o=Rs,(a=Ho())!==n&&(c=po())!==n?(o,o=a=Gn(e,u,c)):(Rs=o,o=n),o===n&&(o=null),o!==n&&(a=Ko())!==n?(r,r=t=Hn(e,u,o)):(Rs=r,r=n)):(Rs=r,r=n)):(Rs=r,r=n)}else Rs=r,r=n;else Rs=r,r=n;else Rs=r,r=n;return r}(),u!==n?(t,t=e=Ke(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,6)===Qe?(e=Qe,Rs+=6):(e=n,0===Ds&&Js(Ve)),e!==n?(u=function(){var r,t,e,u;r=Rs,t=Jo(),t!==n&&Qo()!==n?(e=Rs,(u=ao())!==n&&(e,u=Yn(u)),(e=u)!==n&&(u=Qo())!==n&&Ko()!==n?(r,r=t=ru(e)):(Rs=r,r=n)):(Rs=r,r=n);return r}(),u!==n?(t,t=e=We(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,6)===Xe?(e=Xe,Rs+=6):(e=n,0===Ds&&Js(Ye)),e!==n?(u=function(){var r,t,e,u;r=Rs,t=Jo(),t!==n&&Qo()!==n?(e=Rs,(u=so())!==n&&(e,u=tu(u)),(e=u)!==n&&(u=Qo())!==n&&Ko()!==n?(r,r=t=eu(e)):(Rs=r,r=n)):(Rs=r,r=n);return r}(),u!==n?(t,t=e=rn(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,6)===tn?(e=tn,Rs+=6):(e=n,0===Ds&&Js(en)),e!==n?(u=function(){var r,t,e,u,s,o;if(r=Rs,t=Jo(),t!==n)if(Qo()!==n)if((e=po())!==n){if(u=[],s=Rs,Qo()!==n&&Ho()!==n&&Qo()!==n&&(o=po())!==n?(s,s=nu(e,o)):(Rs=s,s=n),s!==n)for(;s!==n;)u.push(s),s=Rs,Qo()!==n&&Ho()!==n&&Qo()!==n&&(o=po())!==n?(s,s=nu(e,o)):(Rs=s,s=n);else u=n;u!==n&&(s=Qo())!==n&&Ko()!==n?(r,r=t=uu(e,u)):(Rs=r,r=n)}else Rs=r,r=n;else Rs=r,r=n;else Rs=r,r=n;return r}(),u!==n?(t,t=e=nn(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,7)===un?(e=un,Rs+=7):(e=n,0===Ds&&Js(sn)),e!==n?(u=function(){var r,t,e,u,s,o,a,c,i,f;if(r=Rs,t=Jo(),t!==n)if((e=Qo())!==n)if((u=Ro())!==n){for(s=[],o=Rs,(a=Qo())!==n&&(c=Ho())!==n&&(i=Qo())!==n&&(f=Ro())!==n?o=a=[a,c,i,f]:(Rs=o,o=n);o!==n;)s.push(o),o=Rs,(a=Qo())!==n&&(c=Ho())!==n&&(i=Qo())!==n&&(f=Ro())!==n?o=a=[a,c,i,f]:(Rs=o,o=n);s!==n&&(o=Qo())!==n&&(a=Ko())!==n?r=t=[t,e,u,s,o,a]:(Rs=r,r=n)}else Rs=r,r=n;else Rs=r,r=n;else Rs=r,r=n;return r}(),u!==n?(t,t=e=on(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,3)===an?(e=an,Rs+=3):(e=n,0===Ds&&Js(cn)),e!==n?(u=function(){var r,t,e;r=Rs,t=Jo(),t!==n&&Qo()!==n&&(e=no())!==n&&Qo()!==n&&Ko()!==n?(r,r=t=iu(e)):(Rs=r,r=n);return r}(),u!==n?(t,t=e=fn(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,4)===ln?(e=ln,Rs+=4):(e=n,0===Ds&&Js(hn)),e!==n?(u=function(){var r,t,e;r=Rs,t=Jo(),t!==n&&Qo()!==n&&(e=uo())!==n&&Qo()!==n&&Ko()!==n?(r,r=t=fu(e)):(Rs=r,r=n);return r}(),u!==n?(t,t=e=pn(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,7)===An?(e=An,Rs+=7):(e=n,0===Ds&&Js(dn)),e!==n?(u=function(){var r,t,e,u,s,o;if(r=Rs,t=Jo(),t!==n)if(Qo()!==n)if((e=ho())!==n){for(u=[],s=Rs,Ho()!==n&&(o=ho())!==n?(s,s=lu(e,o)):(Rs=s,s=n);s!==n;)u.push(s),s=Rs,Ho()!==n&&(o=ho())!==n?(s,s=lu(e,o)):(Rs=s,s=n);u!==n&&(s=Qo())!==n&&Ko()!==n?(r,r=t=hu(e,u)):(Rs=r,r=n)}else Rs=r,r=n;else Rs=r,r=n;else Rs=r,r=n;return r}(),u!==n?(t,t=e=gn(u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,r.substr(Rs,8).toLowerCase()===mn?(e=r.substr(Rs,8),Rs+=8):(e=n,0===Ds&&Js(vn)),e===n&&(r.substr(Rs,11).toLowerCase()===bn?(e=r.substr(Rs,11),Rs+=11):(e=n,0===Ds&&Js(yn)),e===n&&(r.substr(Rs,6).toLowerCase()===Cn?(e=r.substr(Rs,6),Rs+=6):(e=n,0===Ds&&Js(wn)),e===n&&(r.substr(Rs,9).toLowerCase()===$n?(e=r.substr(Rs,9),Rs+=9):(e=n,0===Ds&&Js(xn)),e===n&&(r.substr(Rs,10).toLowerCase()===En?(e=r.substr(Rs,10),Rs+=10):(e=n,0===Ds&&Js(Ln)),e===n&&(r.substr(Rs,13).toLowerCase()===Bn?(e=r.substr(Rs,13),Rs+=13):(e=n,0===Ds&&Js(Sn))))))),e!==n?(u=function(){var r,t,e,u;r=Rs,t=Jo(),t!==n&&Qo()!==n&&(e=bo())!==n&&Qo()!==n&&Ho()!==n&&Qo()!==n&&(u=bo())!==n&&Qo()!==n&&Ko()!==n?(r,r=t=su(e,u)):(Rs=r,r=n);return r}(),u!==n?(t,t=e=Tn(e,u)):(Rs=t,t=n)):(Rs=t,t=n),t===n&&(t=Rs,e=function(){var t,e;t=Rs,r.substr(Rs,8)===ou?(e=ou,Rs+=8):(e=n,0===Ds&&Js(au));e!==n&&(t,e=cu());return t=e,t}(),e!==n&&(t,e=jn(e)),t=e)))))))))),t}function ko(){var t,e,u,s;return t=Rs,e=Rs,r.substr(Rs,6)===A?(u=A,Rs+=6):(u=n,0===Ds&&Js(d)),u!==n&&(s=_o())!==n?(e,e=u=Zn(s)):(Rs=e,e=n),e===n&&(e=Oo()),e!==n&&(t,e=zn(e)),t=e}function Oo(){var r,t,e,u,s;return r=Rs,(t=yo())!==n?((e=Zo())===n&&(e=null),e!==n?((u=zo())===n&&(u=null),u!==n?((s=_o())===n&&(s=null),s!==n?(r,r=t=_n(t,e,s)):(Rs=r,r=n)):(Rs=r,r=n)):(Rs=r,r=n)):(Rs=r,r=n),r===n&&(r=Rs,(t=Uo())!==n&&(e=Jo())!==n&&(u=Oo())!==n&&(s=Ko())!==n?r=t=[t,e,u,s]:(Rs=r,r=n)),r}function Zo(){var t,e,u,s,o;if(t=Rs,Vo()!==n)if(r.substr(Rs,4)===Fn?(e=Fn,Rs+=4):(e=n,0===Ds&&Js(Rn)),e!==n)if(Vo()!==n){if(u=Rs,s=[],Ce.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(we)),o!==n)for(;o!==n;)s.push(o),Ce.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(we));else s=n;(u=s!==n?r.substring(u,Rs):s)!==n?(t,t=qn(u)):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;else Rs=t,t=n;return t}function zo(){var t,e,u,s,o,a,c;return t=Rs,(e=Vo())!==n?(r.substr(Rs,4)===In?(u=In,Rs+=4):(u=n,0===Ds&&Js(Nn)),u!==n&&(s=Vo())!==n&&(o=yo())!==n&&(a=Zo())!==n?((c=zo())===n&&(c=null),c!==n?t=e=[e,u,s,o,a,c]:(Rs=t,t=n)):(Rs=t,t=n)):(Rs=t,t=n),t}function _o(){var t,e,u;return t=Rs,Vo()!==n?(r.substr(Rs,2)===Dn?(e=Dn,Rs+=2):(e=n,0===Ds&&Js(Un)),e!==n&&Vo()!==n&&(u=Uo())!==n?(t,t=Mn(u)):(Rs=t,t=n)):(Rs=t,t=n),t}function Fo(){var t,e;return t=Rs,e=function(){var t,e,u,s,o,a,c,i,f,l,h;t=Rs,e=Rs,r.substr(Rs,6)===Kn?(u=Kn,Rs+=6):(u=n,0===Ds&&Js(Qn));if(u!==n)if((s=Jo())!==n)if((o=Qo())!==n)if(r.substr(Rs,4)===Vn?(a=Vn,Rs+=4):(a=n,0===Ds&&Js(Wn)),a===n&&(a=yo()),a!==n){if(c=[],i=Rs,(f=Qo())!==n&&(l=Ho())!==n&&(h=yo())!==n?i=f=[f,l,h]:(Rs=i,i=n),i!==n)for(;i!==n;)c.push(i),i=Rs,(f=Qo())!==n&&(l=Ho())!==n&&(h=yo())!==n?i=f=[f,l,h]:(Rs=i,i=n);else c=n;c!==n&&(i=Qo())!==n&&(f=Ko())!==n?e=u=[u,s,o,a,c,i,f]:(Rs=e,e=n)}else Rs=e,e=n;else Rs=e,e=n;else Rs=e,e=n;else Rs=e,e=n;e!==n&&(t,e=Xn(e));return t=e,t}(),e===n&&(e=yo()),e!==n&&(t,e=Jn(e)),t=e}function Ro(){var r,t,e;return r=Rs,(t=co())!==n&&(e=_o())!==n?r=t=[t,e]:(Rs=r,r=n),r}function qo(){var t,e;return Ds++,t=Rs,r.substr(Rs,4)===Au?(e=Au,Rs+=4):(e=n,0===Ds&&Js(du)),e===n&&(r.substr(Rs,5)===gu?(e=gu,Rs+=5):(e=n,0===Ds&&Js(mu))),e!==n&&(t,e=vu(e)),Ds--,(t=e)===n&&(e=n,0===Ds&&Js(pu)),t}function Io(){var t,e,u,s,o;if(Ds++,t=Rs,39===r.charCodeAt(Rs)?(e=yu,Rs++):(e=n,0===Ds&&Js(Cu)),e!==n){for(u=Rs,s=[],r.substr(Rs,2)===wu?(o=wu,Rs+=2):(o=n,0===Ds&&Js($u)),o===n&&(xu.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(Eu)));o!==n;)s.push(o),r.substr(Rs,2)===wu?(o=wu,Rs+=2):(o=n,0===Ds&&Js($u)),o===n&&(xu.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(Eu)));(u=s!==n?r.substring(u,Rs):s)!==n?(39===r.charCodeAt(Rs)?(s=yu,Rs++):(s=n,0===Ds&&Js(Cu)),s!==n?(t,t=e=Lu(u)):(Rs=t,t=n)):(Rs=t,t=n)}else Rs=t,t=n;return Ds--,t===n&&(e=n,0===Ds&&Js(bu)),t}function No(){var t,e,u,s,o,a,c,i,f,l,h,p,A,d,g,m,v,b,y,C,w,$,x,E,L;if(Ds++,t=Rs,e=Rs,u=Rs,s=[],Iu.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(Nu)),o!==n)for(;o!==n;)s.push(o),Iu.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(Nu));else s=n;if(s!==n)if(45===r.charCodeAt(Rs)?(o=Du,Rs++):(o=n,0===Ds&&Js(Uu)),o!==n)if(Iu.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(Nu)),a!==n)if(Iu.test(r.charAt(Rs))?(c=r.charAt(Rs),Rs++):(c=n,0===Ds&&Js(Nu)),c!==n)if(45===r.charCodeAt(Rs)?(i=Du,Rs++):(i=n,0===Ds&&Js(Uu)),i!==n)if(Iu.test(r.charAt(Rs))?(f=r.charAt(Rs),Rs++):(f=n,0===Ds&&Js(Nu)),f!==n)if(Iu.test(r.charAt(Rs))?(l=r.charAt(Rs),Rs++):(l=n,0===Ds&&Js(Nu)),l!==n){if(h=Rs,84===r.charCodeAt(Rs)?(p=Mu,Rs++):(p=n,0===Ds&&Js(Pu)),p!==n)if(Iu.test(r.charAt(Rs))?(A=r.charAt(Rs),Rs++):(A=n,0===Ds&&Js(Nu)),A!==n)if(Iu.test(r.charAt(Rs))?(d=r.charAt(Rs),Rs++):(d=n,0===Ds&&Js(Nu)),d!==n)if(58===r.charCodeAt(Rs)?(g=Jr,Rs++):(g=n,0===Ds&&Js(Kr)),g!==n)if(Iu.test(r.charAt(Rs))?(m=r.charAt(Rs),Rs++):(m=n,0===Ds&&Js(Nu)),m!==n)if(Iu.test(r.charAt(Rs))?(v=r.charAt(Rs),Rs++):(v=n,0===Ds&&Js(Nu)),v!==n){if(b=Rs,58===r.charCodeAt(Rs)?(y=Jr,Rs++):(y=n,0===Ds&&Js(Kr)),y!==n)if(Iu.test(r.charAt(Rs))?(C=r.charAt(Rs),Rs++):(C=n,0===Ds&&Js(Nu)),C!==n)if(Iu.test(r.charAt(Rs))?(w=r.charAt(Rs),Rs++):(w=n,0===Ds&&Js(Nu)),w!==n){if($=Rs,46===r.charCodeAt(Rs)?(x=Gu,Rs++):(x=n,0===Ds&&Js(Hu)),x!==n){if(E=[],Iu.test(r.charAt(Rs))?(L=r.charAt(Rs),Rs++):(L=n,0===Ds&&Js(Nu)),L!==n)for(;L!==n;)E.push(L),Iu.test(r.charAt(Rs))?(L=r.charAt(Rs),Rs++):(L=n,0===Ds&&Js(Nu));else E=n;E!==n?$=x=[x,E]:(Rs=$,$=n)}else Rs=$,$=n;$===n&&($=null),$!==n?b=y=[y,C,w,$]:(Rs=b,b=n)}else Rs=b,b=n;else Rs=b,b=n;else Rs=b,b=n;b===n&&(b=null),b!==n?(90===r.charCodeAt(Rs)?(y=Ju,Rs++):(y=n,0===Ds&&Js(Ku)),y===n&&(y=Rs,43===r.charCodeAt(Rs)?(C=Qu,Rs++):(C=n,0===Ds&&Js(Vu)),C===n&&(45===r.charCodeAt(Rs)?(C=Du,Rs++):(C=n,0===Ds&&Js(Uu))),C!==n?(Iu.test(r.charAt(Rs))?(w=r.charAt(Rs),Rs++):(w=n,0===Ds&&Js(Nu)),w!==n?(Iu.test(r.charAt(Rs))?($=r.charAt(Rs),Rs++):($=n,0===Ds&&Js(Nu)),$!==n?(58===r.charCodeAt(Rs)?(x=Jr,Rs++):(x=n,0===Ds&&Js(Kr)),x!==n?(Iu.test(r.charAt(Rs))?(E=r.charAt(Rs),Rs++):(E=n,0===Ds&&Js(Nu)),E!==n?(Iu.test(r.charAt(Rs))?(L=r.charAt(Rs),Rs++):(L=n,0===Ds&&Js(Nu)),L!==n?y=C=[C,w,$,x,E,L]:(Rs=y,y=n)):(Rs=y,y=n)):(Rs=y,y=n)):(Rs=y,y=n)):(Rs=y,y=n)):(Rs=y,y=n)),y===n&&(y=null),y!==n?h=p=[p,A,d,g,m,v,b,y]:(Rs=h,h=n)):(Rs=h,h=n)}else Rs=h,h=n;else Rs=h,h=n;else Rs=h,h=n;else Rs=h,h=n;else Rs=h,h=n;else Rs=h,h=n;h===n&&(h=null),h!==n?u=s=[s,o,a,c,i,f,l,h]:(Rs=u,u=n)}else Rs=u,u=n;else Rs=u,u=n;else Rs=u,u=n;else Rs=u,u=n;else Rs=u,u=n;else Rs=u,u=n;else Rs=u,u=n;return(e=u!==n?r.substring(e,Rs):u)!==n&&(t,e=Wu(e)),Ds--,(t=e)===n&&(e=n,0===Ds&&Js(qu)),t}function Do(){var t,e,u,s,o,a;if(Ds++,t=Rs,e=Rs,u=Rs,Yu.test(r.charAt(Rs))?(s=r.charAt(Rs),Rs++):(s=n,0===Ds&&Js(rs)),s===n&&(s=null),s!==n){if(o=[],Iu.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(Nu)),a!==n)for(;a!==n;)o.push(a),Iu.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(Nu));else o=n;o!==n?u=s=[s,o]:(Rs=u,u=n)}else Rs=u,u=n;return(e=u!==n?r.substring(e,Rs):u)!==n&&(t,e=ss(e)),Ds--,(t=e)===n&&(e=n,0===Ds&&Js(us)),t}function Uo(){var t,e,u,s,o,a,c,i;if(Ds++,t=Rs,e=Rs,Ds++,u=qo(),Ds--,u===n?e=void 0:(Rs=e,e=n),e!==n)if(u=Rs,Ds++,s=Mo(),Ds--,s===n?u=void 0:(Rs=u,u=n),u!==n){if(s=Rs,o=Rs,as.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(cs)),a!==n){for(c=[],is.test(r.charAt(Rs))?(i=r.charAt(Rs),Rs++):(i=n,0===Ds&&Js(fs));i!==n;)c.push(i),is.test(r.charAt(Rs))?(i=r.charAt(Rs),Rs++):(i=n,0===Ds&&Js(fs));c!==n?o=a=[a,c]:(Rs=o,o=n)}else Rs=o,o=n;(s=o!==n?r.substring(s,Rs):o)!==n?(t,t=e=ls(s)):(Rs=t,t=n)}else Rs=t,t=n;else Rs=t,t=n;return Ds--,t===n&&(e=n,0===Ds&&Js(os)),t}function Mo(){var t,e,u,s,o,a,c,i,f,l,h,p,A,d;return Ds++,t=Rs,e=Rs,(u=Po())!==n&&(s=Po())!==n?(45===r.charCodeAt(Rs)?(o=Du,Rs++):(o=n,0===Ds&&Js(Uu)),o===n&&(o=null),o!==n&&(a=Po())!==n?(45===r.charCodeAt(Rs)?(c=Du,Rs++):(c=n,0===Ds&&Js(Uu)),c===n&&(c=null),c!==n&&(i=Po())!==n?(45===r.charCodeAt(Rs)?(f=Du,Rs++):(f=n,0===Ds&&Js(Uu)),f===n&&(f=null),f!==n&&(l=Po())!==n?(45===r.charCodeAt(Rs)?(h=Du,Rs++):(h=n,0===Ds&&Js(Uu)),h===n&&(h=null),h!==n&&(p=Po())!==n&&(A=Po())!==n&&(d=Po())!==n?e=u=[u,s,o,a,c,i,f,l,h,p,A,d]:(Rs=e,e=n)):(Rs=e,e=n)):(Rs=e,e=n)):(Rs=e,e=n)):(Rs=e,e=n),t=e!==n?r.substring(t,Rs):e,Ds--,t===n&&(e=n,0===Ds&&Js(hs)),t}function Po(){var t,e,u,s,o,a;return Ds++,t=Rs,e=Rs,As.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(ds)),u!==n?(As.test(r.charAt(Rs))?(s=r.charAt(Rs),Rs++):(s=n,0===Ds&&Js(ds)),s!==n?(As.test(r.charAt(Rs))?(o=r.charAt(Rs),Rs++):(o=n,0===Ds&&Js(ds)),o!==n?(As.test(r.charAt(Rs))?(a=r.charAt(Rs),Rs++):(a=n,0===Ds&&Js(ds)),a!==n?e=u=[u,s,o,a]:(Rs=e,e=n)):(Rs=e,e=n)):(Rs=e,e=n)):(Rs=e,e=n),t=e!==n?r.substring(t,Rs):e,Ds--,t===n&&(e=n,0===Ds&&Js(ps)),t}function Go(){var t,e,u,s;if(t=Rs,e=Rs,u=[],gs.test(r.charAt(Rs))?(s=r.charAt(Rs),Rs++):(s=n,0===Ds&&Js(ms)),s!==n)for(;s!==n;)u.push(s),gs.test(r.charAt(Rs))?(s=r.charAt(Rs),Rs++):(s=n,0===Ds&&Js(ms));else u=n;return(e=u!==n?r.substring(e,Rs):u)!==n&&(t,e=vs(e)),t=e}function Ho(){var t,e,u,s;return t=Rs,(e=Qo())!==n?(44===r.charCodeAt(Rs)?(u=de,Rs++):(u=n,0===Ds&&Js(ge)),u!==n&&(s=Qo())!==n?t=e=[e,u,s]:(Rs=t,t=n)):(Rs=t,t=n),t}function Jo(){var t,e,u,s;return t=Rs,(e=Qo())!==n?(40===r.charCodeAt(Rs)?(u=Ts,Rs++):(u=n,0===Ds&&Js(js)),u!==n&&(s=Qo())!==n?t=e=[e,u,s]:(Rs=t,t=n)):(Rs=t,t=n),t}function Ko(){var t,e,u;return t=Rs,(e=Qo())!==n?(41===r.charCodeAt(Rs)?(u=ks,Rs++):(u=n,0===Ds&&Js(Os)),u!==n?t=e=[e,u]:(Rs=t,t=n)):(Rs=t,t=n),t}function Qo(){var t,e,u;for(Ds++,t=Rs,e=[],zs.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(_s));u!==n;)e.push(u),zs.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(_s));return t=e!==n?r.substring(t,Rs):e,Ds--,t===n&&(e=n,0===Ds&&Js(Zs)),t}function Vo(){var t,e,u;if(Ds++,t=Rs,e=[],zs.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(_s)),u!==n)for(;u!==n;)e.push(u),zs.test(r.charAt(Rs))?(u=r.charAt(Rs),Rs++):(u=n,0===Ds&&Js(_s));else e=n;return t=e!==n?r.substring(t,Rs):e,Ds--,t===n&&(e=n,0===Ds&&Js(Fs)),t}const Wo=Object.assign,{strict:Xo,minimal:Yo}=t,ra=[];let ta,ea;const na=["$value"],ua=t.safeNumber||function(r){const t=Number(r);return Number.isSafeInteger(t)?t:r},sa=t.skipToken,oa=t.standardBase64||function(r){return Buffer.from(r,"base64").toString("base64")},aa=r=>t=>r===t||r.as&&t.as&&r.as===t.as||t.as&&r.ref&&t.as===r.ref[r.ref.length-1]||r.ref&&t.ref&&r.ref.join("")===t.ref.join(""),ca=r=>t=>{if(Array.isArray(t))return t.map(ca(r));const e=t.ref&&r.find((r=>r.as&&r.func&&r.as===t.ref[0]));return e||t},ia=r=>t=>Array.isArray(t)?t.map(ia(r)):t.ref&&!r.find(aa(t))?{val:null}:t,fa=(r,t)=>{if(1===t.ref.length)r.find(aa(t))||r.push(t);else{const e=t.ref.shift(),n=r.find((r=>r.ref&&r.ref[0]===e));if(n)fa(n.expand,t);else{const n={ref:[e],expand:[]};fa(n.expand,t),r.push(n)}}},la=(r,t,e=!1)=>{let n=Aa({from:r.from},t,e);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=ha(n[t],r,e);else n=ha(n,r,e);return n},ha=(r,t,e)=>{if(!t)return r;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||r.SELECT.where&&t.where||r.SELECT.limit&&t.limit||r.SELECT.orderBy&&t.orderBy||r.SELECT.search&&t.search?n.from=r:n=r.SELECT;for(const r in t)"columns"===r?(t.columns=t.columns.map((r=>n.columns&&n.columns.find((t=>r.ref&&r.ref[0]===t.as||t.ref&&r.ref&&r.ref[0]===t.ref[0]&&!r.expand))||r)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((r=>e&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===r.as||t.ref&&r.ref&&t.ref[0]===r.ref[0]||t.as&&t.as===r.as))))||[]),n.columns=t.columns):"from"!==r&&(n[r]=t[r]);const u=[...n.columns&&n.columns.filter((r=>n.groupBy&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((r=>r&&"object"==typeof r&&"func"in r))||[]];return pa(n,u,e),{SELECT:n}},pa=(r,t,e)=>{t.length&&(r.columns=r.columns&&!e?r.columns.reduce(((r,e)=>{const n=t.find(aa(e));return n&&r.push(n),r}),[]):t,r.where&&(r.where=r.where.map(ca(r.columns)),r.groupBy&&(r.having=r.where.map(ia(r.groupBy)),delete r.where)),r.columns=r.columns.reduce(((r,e)=>(e.ref&&e.ref.length>1&&t.find(aa(e))?fa(r,{ref:[...e.ref]}):r.push(e),r)),[]))},Aa=(r,t,e)=>{if(!t)return;if(r.apply&&delete r.apply,t.identity&&r.from.SELECT&&(r=r.from.SELECT),(t.apply||t.where&&r.where||t.search&&r.search||t.limit&&r.limit||t.orderBy&&r.orderBy)&&(r.from={SELECT:{...r}}),t.where&&(r.where=t.where),t.search&&(r.search=t.search),t.groupBy){r.groupBy=[];for(const e of t.groupBy)r.groupBy.find(aa(e))||r.groupBy.push(e)}t.limit&&(r.limit=t.limit),t.orderBy&&(r.orderBy=t.orderBy);const n=[...r.groupBy||[],...t.aggregate||[]];if(pa(r,n,e),t.apply&&r.from&&Aa(r.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const e=[];for(let n of t.concat){n.from=1===Object.keys(r).length?r.from:{SELECT:r};const t=Aa(n,n.apply);Array.isArray(t)?e.push(...t):e.push(t)}r=e}return Array.isArray(r)?r:{SELECT:r}},da=r=>{ta.limit&&ta.limit.offset&&ta.limit.offset.val&&(r+=ta.limit.offset.val),(ta.limit||(ta.limit={})).offset={val:r}},ga=(r,t=!1)=>{ta.orderBy=ta.orderBy?t?[r,...ta.orderBy]:[...ta.orderBy,r]:[r]},ma=(r,t)=>{for(const e of t)e.ref&&e.ref[0]===r&&e.ref.shift(),e.func&&ma(r,e.args);return t},va=(r,t,e,n=!1)=>{r?.forEach((r=>{r.val===t?r.val=e.val:r.list===t?r.list=e.list:r.func?r.args.forEach(((r,u)=>{r.val===t?r.val=e.val:r.func&&va(r.args,t,e,n)})):r.SELECT&&ba(r.SELECT,t,e,n)}))},ba=(r,t,e,n=!1)=>{const{where:u,from:s}=r;va(u,t,e),s?.ref?.forEach((r=>{va(r.where,t,e,!0)}))};if((e=s())!==n&&Rs===r.length)return e;throw e!==n&&Rs<r.length&&Js({type:"end"}),Ks(Ns,Is<r.length?r.charAt(Is):null,Is<r.length?Hs(Is,Is+1):Hs(Is,Is))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(r,t){var e={literal:function(r){return'"'+u(r.text)+'"'},class:function(r){var t,e="";for(t=0;t<r.parts.length;t++)e+=r.parts[t]instanceof Array?s(r.parts[t][0])+"-"+s(r.parts[t][1]):s(r.parts[t]);return"["+(r.inverted?"^":"")+e+"]"},any:function(r){return"any character"},end:function(r){return"end of input"},other:function(r){return r.description}};function n(r){return r.charCodeAt(0).toString(16).toUpperCase()}function u(r){return r.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}function s(r){return r.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}return"Expected "+function(r){var t,n,u,s=new Array(r.length);for(t=0;t<r.length;t++)s[t]=(u=r[t],e[u.type](u));if(s.sort(),s.length>0){for(t=1,n=1;t<s.length;t++)s[t-1]!==s[t]&&(s[n]=s[t],n++);s.length=n}switch(s.length){case 1:return s[0];case 2:return s[0]+" or "+s[1];default:return s.slice(0,-1).join(", ")+", or "+s[s.length-1]}}(r)+" but "+function(r){return r?'"'+u(r)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
|
|
1
|
+
"use strict";function peg$subclass(r,t){function e(){this.constructor=r}e.prototype=t.prototype,r.prototype=new e}function peg$SyntaxError(r,t,e,n){this.message=r,this.expected=t,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(r,t){t=void 0!==t?t:{};var e,n={},s={ODataRelativeURI:gn},u=gn,o="/",a=fn("/",!1),c=fn("?",!1),i=fn("&",!1),f="$count",l=fn("$count",!1),h="$ref",p=fn("$ref",!1),A="$value",d=fn("$value",!1),v=function(r){return[r]},g="=",m=fn("=",!1),b="$skiptoken=",y=fn("$skiptoken=",!1),C="$select=",w=fn("$select=",!1),$="$expand=",x=fn("$expand=",!1),E="$filter=",L=fn("$filter=",!1),B="$orderby=",S=fn("$orderby=",!1),T=function(r,t){qs(t)},j="$top=",k=fn("$top=",!1),O="$skip=",Z=fn("$skip=",!1),z="$search=",_=fn("$search=",!1),F="$count=",R=fn("$count=",!1),q="$apply=",I=fn("$apply=",!1),N="$at",D=fn("$at",!1),U="$from",M=fn("$from",!1),P="$toInclusive",G=fn("$toInclusive",!1),H="$to",J=fn("$to",!1),K=fn("*",!1),Q="/$count",V=fn("/$count",!1),W=fn(";",!1),X=function(r){return r?[r]:[]},Y=function(r,t){r.push({xpr:t})},rr=function(r,t){r.push({val:t})},tr=function(r,t,e){r.push(t,...e)},er=function(r,t){r.push(t)},nr=function(r,t,e){r.push(t,...e)},sr=":",ur=fn(":",!1),or="any",ar=fn("any",!1),cr="all",ir=fn("all",!1),fr=fn("asc",!1),lr="desc",hr=fn("desc",!1),pr=function(r,t){return t},Ar="[",dr=fn("[",!1),vr="]",gr=fn("]",!1),mr=/^[a-zA-Z0-9\-_.~]/,br=ln([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),yr=/^[^&]/,Cr=ln(["&"],!0,!1),wr=hn("an aliased parameter (@param)"),$r=fn("@",!1),xr="$format=",Er=fn("$format=",!1),Lr=fn("eq",!1),Br=fn("ne",!1),Sr=fn("lt",!1),Tr=fn("gt",!1),jr=fn("le",!1),kr=fn("ge",!1),Or=fn("in",!1),Zr=(fn("add",!1),fn("sub",!1),fn("mul",!1),fn("div",!1),fn("mod",!1),hn("navigation with $count")),zr=function(r,t){return t},_r=function(r,t){return t?{id:r,where:t}:r},Fr=hn("a reference"),Rr=function(r,t){return t},qr=function(r){return{val:r}},Ir=hn("null"),Nr="null",Dr=fn("null",!1),Ur=hn("a json object"),Mr=fn("{",!1),Pr=/^[^}]/,Gr=ln(["}"],!0,!1),Hr=fn("}",!1),Jr=hn("a json array"),Kr=/^[^\]]/,Qr=ln(["]"],!0,!1),Vr=hn("a list"),Wr=fn(",",!1),Xr=function(r,t){return t},Yr=hn("a function name"),rt=/^[a-zA-Z]/,tt=ln([["a","z"],["A","Z"]],!1,!1),et=function(r,t){return t},nt=function(r,t){return[r,...t]},st="contains",ut=fn("contains",!0),ot="endswith",at=fn("endswith",!0),ct="startswith",it=fn("startswith",!0),ft=fn("NOT",!0),lt=fn("AND",!0),ht=fn("OR",!0),pt="aggregate",At=fn("aggregate",!1),dt="groupby",vt=fn("groupby",!1),gt="filter",mt=fn("filter",!1),bt="search",yt=fn("search",!1),Ct="concat",wt=fn("concat",!1),$t="compute",xt=fn("compute",!1),Et=fn("top",!1),Lt="skip",Bt=fn("skip",!1),St="orderby",Tt=fn("orderby",!1),jt=fn("topcount",!0),kt=fn("bottomcount",!0),Ot=fn("topsum",!0),Zt=fn("bottomsum",!0),zt=fn("toppercent",!0),_t=fn("bottompercent",!0),Ft=function(r,t){return t},Rt="with",qt=fn("with",!1),It="from",Nt=fn("from",!1),Dt=fn("as",!1),Ut="rollup",Mt=fn("rollup",!1),Pt="$all",Gt=fn("$all",!1),Ht=function(r,t){return t},Jt="identity",Kt=fn("identity",!1),Qt=function(r,t){return t},Vt=hn("a boolean"),Wt="true",Xt=fn("true",!1),Yt="false",re=fn("false",!1),te=hn("a single quoted string"),ee="'",ne=fn("'",!1),se="''",ue=fn("''",!1),oe=/^[^']/,ae=ln(["'"],!0,!1),ce=hn("a doubled quoted string"),ie='"',fe=fn('"',!1),le='\\"',he=fn('\\"',!1),pe=/^[^"]/,Ae=ln(['"'],!0,!1),de=hn("a string"),ve=/^[^ \t\n()"&;]/,ge=ln([" ","\t","\n","(",")",'"',"&",";"],!0,!1),me=hn("a date"),be=/^[0-9]/,ye=ln([["0","9"]],!1,!1),Ce="-",we=fn("-",!1),$e=fn("T",!1),xe=fn(".",!1),Ee=fn("Z",!1),Le=fn("+",!1),Be=hn("a number"),Se=/^[+\-]/,Te=ln(["+","-"],!1,!1),je=fn("e",!1),ke=hn("an integer"),Oe=hn("an identifier"),Ze=/^[_a-zA-Z]/,ze=ln(["_",["a","z"],["A","Z"]],!1,!1),_e=/^[_a-zA-Z0-9"."]/,Fe=ln(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"'],!1,!1),Re=hn("a guid"),qe=hn("a hex value"),Ie=/^[0-9a-fA-F]/,Ne=ln([["0","9"],["a","f"],["A","F"]],!1,!1),De=/^[^\/?]/,Ue=ln(["/","?"],!0,!1),Me=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,Pe=ln([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),Ge=hn("a binary"),He="binary'",Je=fn("binary'",!1),Ke=/^[a-zA-Z0-9\-_]/,Qe=ln([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),Ve="==",We=fn("==",!1),Xe=fn("(",!1),Ye=fn(")",!1),rn=hn("an optional whitespace"),tn=/^[ \t\n]/,en=ln([" ","\t","\n"],!1,!1),nn=hn("a whitespace"),sn=0,un=[{line:1,column:1}],on=0,an=[],cn=0;if("startRule"in t){if(!(t.startRule in s))throw new Error("Can't start parsing from rule \""+t.startRule+'".');u=s[t.startRule]}function fn(r,t){return{type:"literal",text:r,ignoreCase:t}}function ln(r,t,e){return{type:"class",parts:r,inverted:t,ignoreCase:e}}function hn(r){return{type:"other",description:r}}function pn(t){var e,n=un[t];if(n)return n;for(e=t-1;!un[e];)e--;for(n={line:(n=un[e]).line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return un[t]=n,n}function An(r,t){var e=pn(r),n=pn(t);return{start:{offset:r,line:e.line,column:e.column},end:{offset:t,line:n.line,column:n.column}}}function dn(r){sn<on||(sn>on&&(on=sn,an=[]),an.push(r))}function vn(r,t,e){return new peg$SyntaxError(peg$SyntaxError.buildMessage(r,t),r,t,e)}function gn(){var t,e,s,u,f,l,h,p,A,d,v,g,m,b,y;if(t=sn,47===r.charCodeAt(sn)?(e=o,sn++):(e=n,0===cn&&dn(a)),e===n&&(e=null),e!==n)if(s=sn,(u=mn())!==n&&(s,u=void($s=u)),(s=u)!==n){if(u=sn,(f=gs())!==n)if(63===r.charCodeAt(sn)?(l="?",sn++):(l=n,0===cn&&dn(c)),l!==n)if((h=gs())!==n){if(p=sn,(A=yn())!==n){for(d=[],v=sn,(g=gs())!==n?(38===r.charCodeAt(sn)?(m="&",sn++):(m=n,0===cn&&dn(i)),m!==n&&(b=gs())!==n&&(y=yn())!==n?v=g=[g,m,b,y]:(sn=v,v=n)):(sn=v,v=n);v!==n;)d.push(v),v=sn,(g=gs())!==n?(38===r.charCodeAt(sn)?(m="&",sn++):(m=n,0===cn&&dn(i)),m!==n&&(b=gs())!==n&&(y=yn())!==n?v=g=[g,m,b,y]:(sn=v,v=n)):(sn=v,v=n);d!==n?p=A=[A,d]:(sn=p,p=n)}else sn=p,p=n;p===n&&(p=null),p!==n?u=f=[f,l,h,p]:(sn=u,u=n)}else sn=u,u=n;else sn=u,u=n;else sn=u,u=n;u===n&&(u=null),u!==n&&(f=gs())!==n?(t,t=e=function(){if(xs)return $s.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete $s.expand,delete $s.limit,delete $s.orderBy,$s.apply?Zs($s,$s.apply):{SELECT:$s};let r;if($s.expand){$s.columns||($s.columns=["*"],r=!0);for(const r of $s.expand){const t=$s.columns.findIndex(Ts(r));t>-1&&$s.columns.splice(t,1),$s.columns.push(r)}delete $s.expand}return $s.count&&$s.apply&&($s.__countAggregated=!0),$s.apply?Zs($s,$s.apply,r):{SELECT:$s}}()):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;return t}function mn(){var t,e,s,u,c,i,g,m;return t=sn,r.substr(sn,6)===f?(e=f,sn+=6):(e=n,0===cn&&dn(l)),e!==n&&(t,e=void(xs=!0)),(t=e)===n&&(t=sn,e=sn,r.substr(sn,4)===h?(s=h,sn+=4):(s=n,0===cn&&dn(p)),s===n&&(r.substr(sn,6)===A?(s=A,sn+=6):(s=n,0===cn&&dn(d))),(e=s!==n?r.substring(e,sn):s)!==n&&(t,m=e,e=!Es.includes(m)&&{from:{ref:[m]}}),(t=e)===n&&(t=sn,e=sn,(s=fs())!==n?(u=sn,(c=ds())!==n&&(i=vs())!==n?u=c=[c,i]:(sn=u,u=n),u===n&&(u=sn,(c=ds())!==n&&(i=bn())!==n&&(g=vs())!==n?u=c=[c,i,g]:(sn=u,u=n)),u===n&&(u=null),u!==n?(c=sn,cn++,i=ps(),cn--,i===n?c=void 0:(sn=c,c=n),c!==n?e=s=[s,u,c]:(sn=e,e=n)):(sn=e,e=n)):(sn=e,e=n),e===n&&(e=sn,(s=ps())!==n&&(e,s=v(s)),e=s),e===n&&(e=null),e!==n?(s=sn,u=sn,47===r.charCodeAt(sn)?(c=o,sn++):(c=n,0===cn&&dn(a)),c!==n&&(u,c=c),(u=c)!==n?((c=mn())===n&&(c=null),c!==n?s=u=[u,c]:(sn=s,s=n)):(sn=s,s=n),s===n&&(s=null),s!==n?(t,t=e=function(r,t){if(t=t&&t[1],!r&&!t)return{from:{ref:[""]}};if(!r&&t&&t.from)return t.from.ref.unshift(""),t;const[e,n]=r,s=[];if(n?n.length>2?s.push({id:e,where:n[1].map((r=>r.val&&r.val.match&&r.val.match(/^"(.*)"$/)?{val:r.val.match(/^"(.*)"$/)[1]}:r))}):s.push({id:e,where:[]}):Cs?s.push(`${"object"==typeof e&&"val"in e?e.val:e}`):"object"==typeof e&&"string"==typeof e.val&&e.val.match(/^[1-9]\d*$|^0$/)?s.push({val:Ls(e.val)}):s.push(e),t&&t.from){const r=t.from.ref;Object.prototype.hasOwnProperty.call(r[0],"val")&&(s[s.length-1]={id:s[s.length-1],where:[r.shift()]}),s.push(...r)}const u={from:{ref:s}};return t&&t.columns&&(u.columns=t.columns),u}(e,s)):(sn=t,t=n)):(sn=t,t=n))),t}function bn(){var t,e,s,u,o,a,c;return t=sn,(e=Mn())!==n&&(t,e=v(e)),(t=e)===n&&(t=sn,(e=Un())!==n&&gs()!==n?(61===r.charCodeAt(sn)?(s=g,sn++):(s=n,0===cn&&dn(m)),s!==n&&gs()!==n&&(u=Mn())!==n?(o=sn,(a=As())!==n&&(c=bn())!==n?o=a=[a,c]:(sn=o,o=n),o===n&&(o=null),o!==n?(t,t=e=function(r,t,e){const n=[r,"=",t];return e&&n.push("and",...e[1]),n}(e,u,o)):(sn=t,t=n)):(sn=t,t=n)):(sn=t,t=n)),t}function yn(){var t,e,s,u,o;return t=sn,(e=Cn())!==n&&(t,e=void((o=e)&&o.apply&&($s.apply=o.apply))),(t=e)===n&&(t=sn,r.substr(sn,11)===b?(e=b,sn+=11):(e=n,0===cn&&dn(y)),e!==n&&(s=gs())!==n?(u=function(){var t,e;t=sn,e=function(){var t,e,s;t=sn,e=[],Me.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(Pe));if(s!==n)for(;s!==n;)e.push(s),Me.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(Pe));else e=n;t=e!==n?r.substring(t,sn):e;return t}(),e===n&&(e=null);e!==n&&(t,e=void Bs(e,{SELECT:$s}));return t=e,t}(),u!==n?t=e=[e,s,u]:(sn=t,t=n)):(sn=t,t=n),t===n&&(t=function(){var t,e,s,u;t=sn,r.substr(sn,3)===N?(e=N,sn+=3):(e=n,0===cn&&dn(D));e===n&&(r.substr(sn,5)===U?(e=U,sn+=5):(e=n,0===cn&&dn(M)),e===n&&(r.substr(sn,12)===P?(e=P,sn+=12):(e=n,0===cn&&dn(G)),e===n&&(r.substr(sn,3)===H?(e=H,sn+=3):(e=n,0===cn&&dn(J)))));e!==n?(61===r.charCodeAt(sn)?(s=g,sn++):(s=n,0===cn&&dn(m)),s!==n&&(u=cs())!==n?t=e=[e,s,u]:(sn=t,t=n)):(sn=t,t=n);return t}(),t===n&&(t=function(){var t,e,s,u,o;t=sn,r.substr(sn,8)===xr?(e=xr,sn+=8):(e=n,0===cn&&dn(Er));if(e!==n){for(s=sn,u=[],yr.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Cr));o!==n;)u.push(o),yr.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Cr));(s=u!==n?r.substring(s,sn):u)!==n?(t,t=e=function(r){if("json"!==r.toLowerCase()){const r=new Error('Only query parameter "json" is allowed in "$format".');throw r.statusCode=501,r}}(s)):(sn=t,t=n)}else sn=t,t=n;return t}(),t===n&&(t=function(){var t,e,s,u,o;t=sn,e=[],mr.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(br));if(s!==n)for(;s!==n;)e.push(s),mr.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(br));else e=n;if(e!==n)if(61===r.charCodeAt(sn)?(s=g,sn++):(s=n,0===cn&&dn(m)),s!==n){for(u=[],yr.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Cr));o!==n;)u.push(o),yr.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Cr));u!==n?t=e=[e,s,u]:(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;return t}(),t===n&&(t=function(){var t,e,s,u,o;t=sn,e=Rn(),e!==n?(61===r.charCodeAt(sn)?(s=g,sn++):(s=n,0===cn&&dn(m)),s!==n?(u=sn,cn++,o=Rn(),cn--,o===n?u=void 0:(sn=u,u=n),u!==n?(o=function(){var t,e,s,u;t=Mn(),t===n&&(t=Pn())===n&&(t=Gn())===n&&(t=sn,91===r.charCodeAt(sn)?(e=Ar,sn++):(e=n,0===cn&&dn(dr)),e!==n&&(s=Hn())!==n?(93===r.charCodeAt(sn)?(u=vr,sn++):(u=n,0===cn&&dn(gr)),u!==n?(t,t=e={list:s}):(sn=t,t=n)):(sn=t,t=n));return t}(),o!==n?(t,t=e=void Ds($s,e,o)):(sn=t,t=n)):(sn=t,t=n)):(sn=t,t=n)):(sn=t,t=n);return t}()))))),t}function Cn(){var t,e,s,u,o,a,c,i,f,l,h;if(t=sn,r.substr(sn,8)===C?(e=C,sn+=8):(e=n,0===cn&&dn(w)),e!==n)if((s=gs())!==n)if((u=wn())!==n){for(o=[],a=sn,(c=As())!==n&&(i=wn())!==n?a=c=[c,i]:(sn=a,a=n);a!==n;)o.push(a),a=sn,(c=As())!==n&&(i=wn())!==n?a=c=[c,i]:(sn=a,a=n);o!==n?t=e=[e,s,u,o]:(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;else sn=t,t=n;if(t===n){if(t=sn,r.substr(sn,8)===$?(e=$,sn+=8):(e=n,0===cn&&dn(x)),e!==n)if((s=gs())!==n)if((u=En())!==n){for(o=[],a=sn,(c=As())!==n&&(i=En())!==n?a=c=[c,i]:(sn=a,a=n);a!==n;)o.push(a),a=sn,(c=As())!==n&&(i=En())!==n?a=c=[c,i]:(sn=a,a=n);o!==n?(a=function(){var t,e;t=sn,r.substr(sn,7)===Q?(e=Q,sn+=7):(e=n,0===cn&&dn(V));e!==n&&(t,e=function(){const r=new Error('"/$count" is not supported for expand operation');throw r.statusCode=501,r}());return t=e,t}(),a===n&&(a=null),a!==n?t=e=[e,s,u,o,a]:(sn=t,t=n)):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;else sn=t,t=n;if(t===n&&(t=sn,r.substr(sn,8)===E?(e=E,sn+=8):(e=n,0===cn&&dn(L)),e!==n&&(s=gs())!==n&&(u=jn())!==n?(t,h=u,t=e=void($s.where=h)):(sn=t,t=n),t===n)){if(t=sn,r.substr(sn,9)===B?(e=B,sn+=9):(e=n,0===cn&&dn(S)),e!==n)if((s=gs())!==n)if((u=_n())!==n){for(o=[],a=sn,(c=As())!==n&&(i=_n())!==n?(a,a=c=T(0,i)):(sn=a,a=n);a!==n;)o.push(a),a=sn,(c=As())!==n&&(i=_n())!==n?(a,a=c=T(0,i)):(sn=a,a=n);o!==n?(t,t=e=void qs(u,!0)):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;else sn=t,t=n;t===n&&(t=sn,r.substr(sn,5)===j?(e=j,sn+=5):(e=n,0===cn&&dn(k)),e!==n&&(s=gs())!==n&&(u=Ln())!==n?(t,l=u,t=e=void(($s.limit||($s.limit={})).rows={val:l})):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,6)===O?(e=O,sn+=6):(e=n,0===cn&&dn(Z)),e!==n&&(s=gs())!==n&&(u=Bn())!==n?(t,e=function(r){Rs(r)}(u),t=e):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,8)===z?(e=z,sn+=8):(e=n,0===cn&&dn(_)),e!==n&&(s=gs())!==n&&(u=Sn())!==n?(t,t=e=void((f=u)&&($s.search=f))):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,7)===F?(e=F,sn+=7):(e=n,0===cn&&dn(R)),e!==n&&(s=gs())!==n?(u=function(){var r,t;r=sn,t=os(),t!==n&&(r,t=function(r){r&&($s.count=!0)}(t));return r=t,r}(),u!==n?t=e=[e,s,u]:(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,7)===q?(e=q,sn+=7):(e=n,0===cn&&dn(I)),e!==n&&(s=gs())!==n&&(u=Fn())!==n?(t,t=e=u):(sn=t,t=n))))))}}return t}function wn(){var t,e,s;return t=sn,42===r.charCodeAt(sn)?(e="*",sn++):(e=n,0===cn&&dn(K)),e===n&&(e=Un()),e!==n&&(t,s=e,$s.columns=Array.isArray($s.columns)?$s.columns:[],$s.columns.find(Ts(s))||$s.columns.push(s),e=s),t=e}function $n(){var t,e,s,u,o;for(t=sn,e=[],s=sn,(u=Cn())!==n&&gs()!==n?(59===r.charCodeAt(sn)?(o=";",sn++):(o=n,0===cn&&dn(W)),o===n&&(o=null),o!==n?(s,s=u):(sn=s,s=n)):(sn=s,s=n);s!==n;)e.push(s),s=sn,(u=Cn())!==n&&gs()!==n?(59===r.charCodeAt(sn)?(o=";",sn++):(o=n,0===cn&&dn(W)),o===n&&(o=null),o!==n?(s,s=u):(sn=s,s=n)):(sn=s,s=n);return e!==n&&(t,e=function(r){if(r.find((r=>r&&void 0!==r.apply))){const r=new Error('"$apply" is not supported for expand operation');throw r.statusCode=501,r}if($s.columns){for(const r of $s.columns)$s.expand.find(Ts(r))||$s.expand.push(r);delete $s.columns}else Array.isArray($s.expand)&&-1===$s.expand.indexOf("*")&&$s.expand.unshift("*")}(e)),t=e}function xn(){var r,t,e,s,u;return r=sn,t=sn,(e=ds())!==n&&(t,ws.push($s),$s=$s.expand[$s.expand.length-1],e=void($s.expand=[])),(t=e)!==n?((e=$n())===n&&(e=null),e!==n?(s=sn,(u=vs())!==n&&(s,$s.expand.length||$s.expand.push("*"),u=void($s=ws.pop())),(s=u)!==n?r=t=[t,e,s]:(sn=r,r=n)):(sn=r,r=n)):(sn=r,r=n),r}function En(){var t,e,s;return t=sn,e=sn,42===r.charCodeAt(sn)?(s="*",sn++):(s=n,0===cn&&dn(K)),s===n&&(s=Un()),s!==n&&(e,s=function(r){const t="*"===r?{}:r;return t.expand=["*"],Array.isArray($s.expand)||($s.expand=[]),$s.expand.find(Ts(t))||$s.expand.push(t),t}(s)),(e=s)!==n?((s=xn())===n&&(s=null),s!==n?t=e=[e,s]:(sn=t,t=n)):(sn=t,t=n),t}function Ln(){var r,t;return r=sn,(t=is())!==n&&r,r=t}function Bn(){var r,t;return r=sn,(t=is())!==n&&r,r=t}function Sn(){var r,t;return r=sn,(t=Tn())!==n&&r,(r=t)===n&&(r=gs()),r}function Tn(){var t,e,s,u,o,a,c;if(t=sn,e=sn,(s=Kn())===n&&(s=null),s!==n&&(e,s=X(s)),(e=s)!==n)if(s=sn,(u=ds())!==n&&(o=Tn())!==n&&(a=vs())!==n?(s,s=u=Y(e,o)):(sn=s,s=n),s===n&&(s=sn,u=function(){var t,e,s,u,o;cn++,t=sn,34===r.charCodeAt(sn)?(e=ie,sn++):(e=n,0===cn&&dn(fe));if(e!==n){for(s=sn,u=[],r.substr(sn,2)===le?(o=le,sn+=2):(o=n,0===cn&&dn(he)),o===n&&(pe.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Ae)));o!==n;)u.push(o),r.substr(sn,2)===le?(o=le,sn+=2):(o=n,0===cn&&dn(he)),o===n&&(pe.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Ae)));(s=u!==n?r.substring(s,sn):u)!==n?(34===r.charCodeAt(sn)?(u=ie,sn++):(u=n,0===cn&&dn(fe)),u!==n?(t,t=e=s.replace(/\\\\/g,"\\").replace(/\\"/g,'"')):(sn=t,t=n)):(sn=t,t=n)}else sn=t,t=n;cn--,t===n&&(e=n,0===cn&&dn(ce));return t}(),u!==n&&(s,u=rr(e,u)),(s=u)===n&&(s=sn,(u=as())!==n&&(s,u=rr(e,u)),(s=u)===n&&(s=sn,u=function(){var t,e,s;cn++,t=sn,e=[],ve.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(ge));if(s!==n)for(;s!==n;)e.push(s),ve.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(ge));else e=n;t=e!==n?r.substring(t,sn):e;cn--,t===n&&(e=n,0===cn&&dn(de));return t}(),u!==n&&(s,u=rr(e,u)),s=u))),s!==n){for(u=[],o=sn,(a=Qn())===n&&(a=Wn())===n&&(a=Vn()),a!==n&&(c=Tn())!==n?(o,o=a=tr(e,a,c)):(sn=o,o=n);o!==n;)u.push(o),o=sn,(a=Qn())===n&&(a=Wn())===n&&(a=Vn()),a!==n&&(c=Tn())!==n?(o,o=a=tr(e,a,c)):(sn=o,o=n);u!==n?(t,t=e):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;return t}function jn(){var r,t;return r=sn,(t=kn())!==n&&r,r=t}function kn(){var t,e,s,u,o,a,c,i;if(t=sn,e=sn,(s=Kn())===n&&(s=null),s!==n&&(e,s=X(s)),(e=s)!==n)if(s=sn,(u=ds())!==n&&(o=kn())!==n&&(a=vs())!==n?(s,s=u=Y(e,o)):(sn=s,s=n),s===n&&(s=sn,(u=qn())!==n&&(s,i=u,u=void e.push(...i)),(s=u)===n&&(s=sn,(u=On())!==n&&(s,u=function(r,t){"not"===r[r.length-1]&&"not"===t[0]?r.push("(",...t,")"):r.push(...t)}(e,u)),(s=u)===n&&(s=sn,u=function(){var t,e,s,u;t=sn,r.substr(sn,8).toLowerCase()===st?(e=r.substr(sn,8),sn+=8):(e=n,0===cn&&dn(ut));e===n&&(r.substr(sn,8).toLowerCase()===ot?(e=r.substr(sn,8),sn+=8):(e=n,0===cn&&dn(at)),e===n&&(r.substr(sn,10).toLowerCase()===ct?(e=r.substr(sn,10),sn+=10):(e=n,0===cn&&dn(it))));e!==n&&ds()!==n&&(s=Dn())!==n&&As()!==n&&(u=Dn())!==n&&vs()!==n?(t,o=s,a=u,t=e={func:e.toLowerCase(),args:[o,a]}):(sn=t,t=n);var o,a;return t}(),u!==n&&(s,u=function(r,t){r.push(t)}(e,u)),(s=u)===n&&(s=sn,(u=os())!==n&&(s,u=rr(e,u)),(s=u)===n&&(s=sn,(u=Nn())!==n&&(s,u=function(r,t){r.push(...t)}(e,u)),s=u))))),s!==n){for(u=[],o=sn,(a=Qn())===n&&(a=Wn()),a!==n&&(c=kn())!==n?(o,o=a=tr(e,a,c)):(sn=o,o=n);o!==n;)u.push(o),o=sn,(a=Qn())===n&&(a=Wn()),a!==n&&(c=kn())!==n?(o,o=a=tr(e,a,c)):(sn=o,o=n);u!==n?(t,t=e):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;return t}function On(){var t,e,s,u,c,i,f;if(t=sn,e=sn,(s=fs())!==n&&(e,s=[s]),(e=s)!==n)if(47===r.charCodeAt(sn)?(s=o,sn++):(s=n,0===cn&&dn(a)),s!==n){for(u=[],c=sn,(i=fs())!==n?(47===r.charCodeAt(sn)?(f=o,sn++):(f=n,0===cn&&dn(a)),f!==n?(c,c=i=er(e,i)):(sn=c,c=n)):(sn=c,c=n);c!==n;)u.push(c),c=sn,(i=fs())!==n?(47===r.charCodeAt(sn)?(f=o,sn++):(f=n,0===cn&&dn(a)),f!==n?(c,c=i=er(e,i)):(sn=c,c=n)):(sn=c,c=n);u!==n?(c=sn,i=function(){var t,e,s;t=sn,r.substr(sn,3)===or?(e=or,sn+=3):(e=n,0===cn&&dn(ar));e!==n&&ds()!==n?((s=zn())===n&&(s=null),s!==n&&vs()!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();if(!t)return["exists",{ref:[...r,{id:e}]}];let n=[];for(let r=0,s=0;r<t.length;++r){let u=t[r];u.ref&&0===u.ref.length&&"="===t[r+1]?n[s++]={func:"contains",args:[{ref:[e]},t[r+=2]]}:n[s++]=u}return n.length<t.length?r.length?(e=r.pop(),["exists",{ref:[...r,{id:e,where:n}]}]):n:["exists",{ref:[...r,{id:e,where:t}]}]}(e,i)),(c=i)===n&&(c=sn,i=function(){var t,e,s;t=sn,r.substr(sn,3)===cr?(e=cr,sn+=3):(e=n,0===cn&&dn(ir));e!==n&&ds()!==n&&(s=zn())!==n&&vs()!==n?(t,t=e=s):(sn=t,t=n);return t}(),i!==n&&(c,i=function(r,t){let e=r.pop();return["not","exists",{ref:[...r,{id:e,where:["not",{xpr:[...t]}]}]}]}(e,i)),c=i),c!==n?(t,t=e=c):(sn=t,t=n)):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;return t}function Zn(){var r,t,e,s,u,o,a,c,i;if(r=sn,t=sn,(e=Kn())===n&&(e=null),e!==n&&(t,e=(c=e)?[c]:[]),(t=e)!==n)if(e=sn,(s=ds())!==n&&(u=Zn())!==n&&(o=vs())!==n?(e,i=u,e=s=void t.push("(",...i,")")):(sn=e,e=n),e===n&&(e=sn,(s=qn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),(e=s)===n&&(e=sn,(s=Jn())!==n&&(e,s=function(r,t){r.push(t)}(t,s)),(e=s)===n&&(e=sn,(s=On())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),(e=s)===n&&(e=sn,(s=Nn())!==n&&(e,s=function(r,t){r.push(...t)}(t,s)),e=s)))),e!==n){for(s=[],u=sn,(o=Qn())===n&&(o=Wn()),o!==n&&(a=Zn())!==n?(u,u=o=nr(t,o,a)):(sn=u,u=n);u!==n;)s.push(u),u=sn,(o=Qn())===n&&(o=Wn()),o!==n&&(a=Zn())!==n?(u,u=o=nr(t,o,a)):(sn=u,u=n);s!==n?(r,r=t):(sn=r,r=n)}else sn=r,r=n;else sn=r,r=n;return r}function zn(){var t,e,s,u;return t=sn,(e=fs())!==n?(58===r.charCodeAt(sn)?(s=sr,sn++):(s=n,0===cn&&dn(ur)),s!==n&&(u=Zn())!==n?(t,t=e=Is(e,u)):(sn=t,t=n)):(sn=t,t=n),t}function _n(){var t,e,s,u,o,a;return t=sn,e=sn,(s=On())!==n&&(e,s=function(){const r=new Error('"$orderby" does not support lambda');throw r.statusCode=501,r}()),(e=s)===n&&(e=Jn())===n&&(e=Un()),e!==n?(s=sn,ms()!==n?(u=sn,"asc"===r.substr(sn,3)?(o="asc",sn+=3):(o=n,0===cn&&dn(fr)),o===n&&(r.substr(sn,4)===lr?(o=lr,sn+=4):(o=n,0===cn&&dn(hr))),(u=o!==n?r.substring(u,sn):o)!==n?(s,s=u):(sn=s,s=n)):(sn=s,s=n),s===n&&(s=null),s!==n?(t,t=e=bs(e,(a=s)&&{sort:a})):(sn=t,t=n)):(sn=t,t=n),t}function Fn(){var t,e,s,u,c,i;if(t=sn,(e=Xn())!==n){for(s=[],u=sn,47===r.charCodeAt(sn)?(c=o,sn++):(c=n,0===cn&&dn(a)),c!==n&&(i=Xn())!==n?(u,u=c=pr(0,i)):(sn=u,u=n);u!==n;)s.push(u),u=sn,47===r.charCodeAt(sn)?(c=o,sn++):(c=n,0===cn&&dn(a)),c!==n&&(i=Xn())!==n?(u,u=c=pr(0,i)):(sn=u,u=n);s!==n?(t,t=e=function(r,t){if(void 0!==r){t=Array.isArray(t)?t:[t];for(let e of t)for(const t in e)if("limit"===t&&e.limit&&r.limit&&r.limit.offset&&e.limit.rows)r.limit.rows=e.limit.rows;else if(r[t]||"groupBy"===t&&(r.where||r.search)||"aggregate"===t&&"groupBy"in r&&!("groupBy"in e)){let n=r;r={apply:n},"limit"===t&&e[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(e[t].offset+=n.limit.offset.val),n=r,n[t]=e[t]}else r[t]=e[t];return{apply:r}}}(e,s)):(sn=t,t=n)}else sn=t,t=n;return t}function Rn(){var t,e,s;return cn++,t=sn,64===r.charCodeAt(sn)?(e="@",sn++):(e=n,0===cn&&dn($r)),e!==n&&(s=fs())!==n?(t,t=e="@"+s):(sn=t,t=n),cn--,t===n&&(e=n,0===cn&&dn(wr)),t}function qn(){var t,e,s,u,o,a;return t=sn,(e=Dn())!==n&&ms()!==n?(s=sn,"eq"===r.substr(sn,2)?(u="eq",sn+=2):(u=n,0===cn&&dn(Lr)),u===n&&("ne"===r.substr(sn,2)?(u="ne",sn+=2):(u=n,0===cn&&dn(Br)),u===n&&("lt"===r.substr(sn,2)?(u="lt",sn+=2):(u=n,0===cn&&dn(Sr)),u===n&&("gt"===r.substr(sn,2)?(u="gt",sn+=2):(u=n,0===cn&&dn(Tr)),u===n&&("le"===r.substr(sn,2)?(u="le",sn+=2):(u=n,0===cn&&dn(jr)),u===n&&("ge"===r.substr(sn,2)?(u="ge",sn+=2):(u=n,0===cn&&dn(kr))))))),(s=u!==n?r.substring(s,sn):u)!==n&&(u=ms())!==n&&(o=Dn())!==n?(t,t=e=[e,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[a=s]||a,o]):(sn=t,t=n)):(sn=t,t=n),t}function In(){var r,t;return r=sn,(t=Rn())!==n&&(r,t={list:t}),(r=t)===n&&(r=function(){var r,t,e;cn++,r=sn,t=ds(),t!==n&&(e=Hn())!==n&&vs()!==n?(r,r=t={list:e}):(sn=r,r=n);cn--,r===n&&(t=n,0===cn&&dn(Vr));return r}()),r}function Nn(){var t,e,s,u;return t=sn,(e=Dn())!==n&&ms()!==n?("in"===r.substr(sn,2)?(s="in",sn+=2):(s=n,0===cn&&dn(Or)),s!==n&&ms()!==n&&(u=In())!==n?(t,t=e=[e,"in",u]):(sn=t,t=n)):(sn=t,t=n),t}function Dn(){var t;return(t=function(){var t,e,s,u,c,i,h;cn++,t=sn,e=[],s=sn,(u=fs())!==n?(c=sn,(i=ds())!==n&&(h=bn())!==n&&vs()!==n?(c,c=i=zr(0,h)):(sn=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(sn)?(i=o,sn++):(i=n,0===cn&&dn(a)),i!==n?(s,s=u=_r(u,c)):(sn=s,s=n)):(sn=s,s=n)):(sn=s,s=n);if(s!==n)for(;s!==n;)e.push(s),s=sn,(u=fs())!==n?(c=sn,(i=ds())!==n&&(h=bn())!==n&&vs()!==n?(c,c=i=zr(0,h)):(sn=c,c=n),c===n&&(c=null),c!==n?(47===r.charCodeAt(sn)?(i=o,sn++):(i=n,0===cn&&dn(a)),i!==n?(s,s=u=_r(u,c)):(sn=s,s=n)):(sn=s,s=n)):(sn=s,s=n);else e=n;e!==n?(r.substr(sn,6)===f?(s=f,sn+=6):(s=n,0===cn&&dn(l)),s!==n?(t,t=e={func:"count",as:"$count",args:[{ref:e}]}):(sn=t,t=n)):(sn=t,t=n);cn--,t===n&&(e=n,0===cn&&dn(Zr));return t}())===n&&(t=Jn())===n&&(t=Mn())===n&&(t=Un())===n&&(t=Pn())===n&&(t=Gn())===n&&(t=function(){var t,e,s,u,o;cn++,t=sn,91===r.charCodeAt(sn)?(e=Ar,sn++):(e=n,0===cn&&dn(dr));if(e!==n){for(s=sn,u=[],Kr.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Qr));o!==n;)u.push(o),Kr.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Qr));(s=u!==n?r.substring(s,sn):u)!==n?(93===r.charCodeAt(sn)?(u=vr,sn++):(u=n,0===cn&&dn(gr)),u!==n?(t,t=e={list:s.replace(/"/g,"").split(",").map((r=>({val:r})))}):(sn=t,t=n)):(sn=t,t=n)}else sn=t,t=n;cn--,t===n&&(e=n,0===cn&&dn(Vr));return t}()),t}function Un(){var t,e,s,u,c,i,f,l;if(cn++,t=sn,(e=fs())!==n){for(s=[],u=sn,47===r.charCodeAt(sn)?(c=o,sn++):(c=n,0===cn&&dn(a)),c!==n&&(i=fs())!==n?(u,u=c=Rr(0,i)):(sn=u,u=n);u!==n;)s.push(u),u=sn,47===r.charCodeAt(sn)?(c=o,sn++):(c=n,0===cn&&dn(a)),c!==n&&(i=fs())!==n?(u,u=c=Rr(0,i)):(sn=u,u=n);s!==n?(t,l=s,t=e="null"===(f=e)?{val:null}:{ref:[f,...l]}):(sn=t,t=n)}else sn=t,t=n;return cn--,t===n&&(e=n,0===cn&&dn(Fr)),t}function Mn(){var t,e,s;return t=sn,(e=os())===n&&(e=cs()),e!==n&&(t,e=qr(e)),(t=e)===n&&(t=sn,(e=ls())!==n&&(t,e=qr(e)),(t=e)===n&&(t=sn,e=function(){var t,e,s,u,o,a,c,i,f,l,h;cn++,t=sn,e=sn,cn++,s=function(){var t,e,s;t=sn,e=[],be.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(ye));if(s!==n)for(;s!==n;)e.push(s),be.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(ye));else e=n;e!==n?(45===r.charCodeAt(sn)?(s=Ce,sn++):(s=n,0===cn&&dn(we)),s!==n?t=e=[e,s]:(sn=t,t=n)):(sn=t,t=n);return t}(),cn--,s===n?e=void 0:(sn=e,e=n);if(e!==n){if(s=sn,u=sn,Se.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Te)),o===n&&(o=null),o!==n){if(a=[],be.test(r.charAt(sn))?(c=r.charAt(sn),sn++):(c=n,0===cn&&dn(ye)),c!==n)for(;c!==n;)a.push(c),be.test(r.charAt(sn))?(c=r.charAt(sn),sn++):(c=n,0===cn&&dn(ye));else a=n;if(a!==n){if(c=sn,46===r.charCodeAt(sn)?(i=".",sn++):(i=n,0===cn&&dn(xe)),i!==n){if(f=[],be.test(r.charAt(sn))?(l=r.charAt(sn),sn++):(l=n,0===cn&&dn(ye)),l!==n)for(;l!==n;)f.push(l),be.test(r.charAt(sn))?(l=r.charAt(sn),sn++):(l=n,0===cn&&dn(ye));else f=n;f!==n?c=i=[i,f]:(sn=c,c=n)}else sn=c,c=n;if(c===n&&(c=null),c!==n){if(i=sn,101===r.charCodeAt(sn)?(f="e",sn++):(f=n,0===cn&&dn(je)),f!==n){if(l=[],be.test(r.charAt(sn))?(h=r.charAt(sn),sn++):(h=n,0===cn&&dn(ye)),h!==n)for(;h!==n;)l.push(h),be.test(r.charAt(sn))?(h=r.charAt(sn),sn++):(h=n,0===cn&&dn(ye));else l=n;l!==n?i=f=[f,l]:(sn=i,i=n)}else sn=i,i=n;i===n&&(i=null),i!==n?u=o=[o,a,c,i]:(sn=u,u=n)}else sn=u,u=n}else sn=u,u=n}else sn=u,u=n;(s=u!==n?r.substring(s,sn):u)!==n?(t,t=e=Ls(s)):(sn=t,t=n)}else sn=t,t=n;cn--,t===n&&(e=n,0===cn&&dn(Be));return t}(),e!==n&&(t,e="number"==typeof(s=e)?{val:s}:{val:s,literal:"number"}),(t=e)===n&&(t=sn,(e=as())!==n&&(t,e=qr(e)),(t=e)===n&&(t=sn,e=function(){var t,e,s,u,o,a;cn++,t=sn,r.substr(sn,7)===He?(e=He,sn+=7):(e=n,0===cn&&dn(Je));if(e!==n){if(s=sn,u=sn,o=[],Ke.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(Qe)),a!==n)for(;a!==n;)o.push(a),Ke.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(Qe));else o=n;o!==n?(r.substr(sn,2)===Ve?(a=Ve,sn+=2):(a=n,0===cn&&dn(We)),a===n&&(61===r.charCodeAt(sn)?(a=g,sn++):(a=n,0===cn&&dn(m))),a===n&&(a=null),a!==n?u=o=[o,a]:(sn=u,u=n)):(sn=u,u=n),(s=u!==n?r.substring(s,sn):u)!==n?(39===r.charCodeAt(sn)?(u=ee,sn++):(u=n,0===cn&&dn(ne)),u!==n?(t,t=e=Ss(s)):(sn=t,t=n)):(sn=t,t=n)}else sn=t,t=n;cn--,t===n&&(e=n,0===cn&&dn(Ge));return t}(),e!==n&&(t,e=qr(e)),(t=e)===n&&(t=sn,(e=Rn())!==n&&(t,e=qr(e)),(t=e)===n&&(t=function(){var t,e;cn++,t=sn,r.substr(sn,4)===Nr?(e=Nr,sn+=4):(e=n,0===cn&&dn(Dr));e!==n&&(t,e={val:null});t=e,cn--,t===n&&(e=n,0===cn&&dn(Ir));return t}())))))),t}function Pn(){var t,e,s,u,o,a;if(cn++,t=sn,e=sn,s=sn,123===r.charCodeAt(sn)?(u="{",sn++):(u=n,0===cn&&dn(Mr)),u!==n){for(o=[],(a=Pn())===n&&(Pr.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(Gr)));a!==n;)o.push(a),(a=Pn())===n&&(Pr.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(Gr)));o!==n?(125===r.charCodeAt(sn)?(a="}",sn++):(a=n,0===cn&&dn(Hr)),a!==n?s=u=[u,o,a]:(sn=s,s=n)):(sn=s,s=n)}else sn=s,s=n;return(e=s!==n?r.substring(e,sn):s)!==n&&(t,e=qr(e)),cn--,(t=e)===n&&(e=n,0===cn&&dn(Ur)),t}function Gn(){var t,e,s,u,o,a,c,i;if(cn++,t=sn,e=sn,s=sn,91===r.charCodeAt(sn)?(u=Ar,sn++):(u=n,0===cn&&dn(dr)),u!==n&&(o=gs())!==n?(93===r.charCodeAt(sn)?(a=vr,sn++):(a=n,0===cn&&dn(gr)),a!==n?s=u=[u,o,a]:(sn=s,s=n)):(sn=s,s=n),s===n)if(s=sn,91===r.charCodeAt(sn)?(u=Ar,sn++):(u=n,0===cn&&dn(dr)),u!==n)if((o=gs())!==n)if(123===r.charCodeAt(sn)?(a="{",sn++):(a=n,0===cn&&dn(Mr)),a!==n){for(c=[],(i=Gn())===n&&(Kr.test(r.charAt(sn))?(i=r.charAt(sn),sn++):(i=n,0===cn&&dn(Qr)));i!==n;)c.push(i),(i=Gn())===n&&(Kr.test(r.charAt(sn))?(i=r.charAt(sn),sn++):(i=n,0===cn&&dn(Qr)));c!==n?(93===r.charCodeAt(sn)?(i=vr,sn++):(i=n,0===cn&&dn(gr)),i!==n?s=u=[u,o,a,c,i]:(sn=s,s=n)):(sn=s,s=n)}else sn=s,s=n;else sn=s,s=n;else sn=s,s=n;return(e=s!==n?r.substring(e,sn):s)!==n&&(t,e=qr(e)),cn--,(t=e)===n&&(e=n,0===cn&&dn(Jr)),t}function Hn(){var t,e,s,u,o,a,c;if(t=sn,(e=Mn())!==n){for(s=[],u=sn,44===r.charCodeAt(sn)?(o=",",sn++):(o=n,0===cn&&dn(Wr)),o!==n&&(a=Mn())!==n?(u,u=o=Xr(0,a)):(sn=u,u=n);u!==n;)s.push(u),u=sn,44===r.charCodeAt(sn)?(o=",",sn++):(o=n,0===cn&&dn(Wr)),o!==n&&(a=Mn())!==n?(u,u=o=Xr(0,a)):(sn=u,u=n);s!==n?(t,c=s,t=e=[e,...c]):(sn=t,t=n)}else sn=t,t=n;return t}function Jn(){var t,e,s;return t=sn,e=function(){var t,e,s;if(cn++,t=sn,e=[],rt.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(tt)),s!==n)for(;s!==n;)e.push(s),rt.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(tt));else e=n;return t=e!==n?r.substring(t,sn):e,cn--,t===n&&(e=n,0===cn&&dn(Yr)),t}(),e!==n&&ds()!==n?(s=function(){var r,t,e,s,u,o,a;if(r=sn,t=[],e=sn,s=Dn(),s!==n){for(u=[],o=sn,As()!==n&&(a=Dn())!==n?(o,o=et(0,a)):(sn=o,o=n);o!==n;)u.push(o),o=sn,As()!==n&&(a=Dn())!==n?(o,o=et(0,a)):(sn=o,o=n);u!==n?(e,e=s=nt(s,u)):(sn=e,e=n)}else sn=e,e=n;for(;e!==n;)if(t.push(e),e=sn,(s=Dn())!==n){for(u=[],o=sn,As()!==n&&(a=Dn())!==n?(o,o=et(0,a)):(sn=o,o=n);o!==n;)u.push(o),o=sn,As()!==n&&(a=Dn())!==n?(o,o=et(0,a)):(sn=o,o=n);u!==n?(e,e=s=nt(s,u)):(sn=e,e=n)}else sn=e,e=n;t!==n&&(r,t=(c=t).length?c[0]:c);var c;return r=t,r}(),s!==n&&vs()!==n?(t,t=e=function(r,t){if(ys&&!(r.toLowerCase()in ys.functions))throw Object.assign(new Error(`"${r}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:r.toLowerCase(),args:t}}(e,s)):(sn=t,t=n)):(sn=t,t=n),t}function Kn(){var t,e;return t=sn,gs()!==n?("not"===r.substr(sn,3).toLowerCase()?(e=r.substr(sn,3),sn+=3):(e=n,0===cn&&dn(ft)),e!==n&&ms()!==n?(t,t="not"):(sn=t,t=n)):(sn=t,t=n),t}function Qn(){var t,e;return t=sn,ms()!==n?("and"===r.substr(sn,3).toLowerCase()?(e=r.substr(sn,3),sn+=3):(e=n,0===cn&&dn(lt)),e!==n&&ms()!==n?(t,t="and"):(sn=t,t=n)):(sn=t,t=n),t}function Vn(){var r,t;return r=sn,(t=ms())!==n&&(r,t="and"),r=t}function Wn(){var t,e;return t=sn,ms()!==n?("or"===r.substr(sn,2).toLowerCase()?(e=r.substr(sn,2),sn+=2):(e=n,0===cn&&dn(ht)),e!==n&&ms()!==n?(t,t="or"):(sn=t,t=n)):(sn=t,t=n),t}function Xn(){var t,e,s;return t=sn,r.substr(sn,9)===pt?(e=pt,sn+=9):(e=n,0===cn&&dn(At)),e!==n?(s=function(){var r,t,e,s,u,o;if(r=sn,t=ds(),t!==n)if(gs()!==n)if((e=Yn())!==n){for(s=[],u=sn,gs()!==n&&As()!==n&&gs()!==n&&(o=Yn())!==n?(u,u=Ft(0,o)):(sn=u,u=n);u!==n;)s.push(u),u=sn,gs()!==n&&As()!==n&&gs()!==n&&(o=Yn())!==n?(u,u=Ft(0,o)):(sn=u,u=n);s!==n&&(u=gs())!==n&&vs()!==n?(r,a=s,r=t={aggregate:[e,...a]}):(sn=r,r=n)}else sn=r,r=n;else sn=r,r=n;else sn=r,r=n;var a;return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,7)===dt?(e=dt,sn+=7):(e=n,0===cn&&dn(vt)),e!==n?(s=function(){var r,t,e,s,u,o,a,c;if(r=sn,t=ds(),t!==n)if(ds()!==n)if((e=ss())!==n){for(s=[],u=sn,(o=As())!==n&&(a=ss())!==n?(u,u=o=Ft(0,a)):(sn=u,u=n);u!==n;)s.push(u),u=sn,(o=As())!==n&&(a=ss())!==n?(u,u=o=Ft(0,a)):(sn=u,u=n);s!==n?(u=sn,(o=vs())!==n&&(u,i=s,o={groupBy:[e,...i]}),(u=o)!==n?(o=sn,(a=As())!==n&&(c=Fn())!==n?(o,o=a=c):(sn=o,o=n),o===n&&(o=null),o!==n&&(a=vs())!==n?(r,t=function(r,t,e){let n={};return n=e?{groupBy:[r,...t],...e.apply}:{groupBy:[r,...t]},n}(e,s,o),r=t):(sn=r,r=n)):(sn=r,r=n)):(sn=r,r=n)}else sn=r,r=n;else sn=r,r=n;else sn=r,r=n;var i;return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,6)===gt?(e=gt,sn+=6):(e=n,0===cn&&dn(mt)),e!==n?(s=function(){var r,t,e,s;r=sn,t=ds(),t!==n&&gs()!==n?(e=sn,(s=jn())!==n&&e,(e=s)!==n&&(s=gs())!==n&&vs()!==n?(r,r=t={where:e}):(sn=r,r=n)):(sn=r,r=n);return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,6)===bt?(e=bt,sn+=6):(e=n,0===cn&&dn(yt)),e!==n?(s=function(){var r,t,e,s;r=sn,t=ds(),t!==n&&gs()!==n?(e=sn,(s=Sn())!==n&&(e,s=function(r){if(r)return r}(s)),(e=s)!==n&&(s=gs())!==n&&vs()!==n?(r,r=t={search:e}):(sn=r,r=n)):(sn=r,r=n);return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,6)===Ct?(e=Ct,sn+=6):(e=n,0===cn&&dn(wt)),e!==n?(s=function(){var r,t,e,s,u,o;if(r=sn,t=ds(),t!==n)if(gs()!==n)if((e=Fn())!==n){if(s=[],u=sn,gs()!==n&&As()!==n&&gs()!==n&&(o=Fn())!==n?(u,u=Ht(0,o)):(sn=u,u=n),u!==n)for(;u!==n;)s.push(u),u=sn,gs()!==n&&As()!==n&&gs()!==n&&(o=Fn())!==n?(u,u=Ht(0,o)):(sn=u,u=n);else s=n;s!==n&&(u=gs())!==n&&vs()!==n?(r,a=s,r=t={concat:[e,...a]}):(sn=r,r=n)}else sn=r,r=n;else sn=r,r=n;else sn=r,r=n;var a;return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,7)===$t?(e=$t,sn+=7):(e=n,0===cn&&dn(xt)),e!==n?(s=function(){var r,t,e,s,u,o,a,c,i,f;if(r=sn,t=ds(),t!==n)if((e=gs())!==n)if((s=us())!==n){for(u=[],o=sn,(a=gs())!==n&&(c=As())!==n&&(i=gs())!==n&&(f=us())!==n?o=a=[a,c,i,f]:(sn=o,o=n);o!==n;)u.push(o),o=sn,(a=gs())!==n&&(c=As())!==n&&(i=gs())!==n&&(f=us())!==n?o=a=[a,c,i,f]:(sn=o,o=n);u!==n&&(o=gs())!==n&&(a=vs())!==n?r=t=[t,e,s,u,o,a]:(sn=r,r=n)}else sn=r,r=n;else sn=r,r=n;else sn=r,r=n;return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,"top"===r.substr(sn,3)?(e="top",sn+=3):(e=n,0===cn&&dn(Et)),e!==n?(s=function(){var r,t,e;r=sn,t=ds(),t!==n&&gs()!==n&&(e=Ln())!==n&&gs()!==n&&vs()!==n?(r,r=t={limit:{rows:{val:e}}}):(sn=r,r=n);return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,4)===Lt?(e=Lt,sn+=4):(e=n,0===cn&&dn(Bt)),e!==n?(s=function(){var r,t,e;r=sn,t=ds(),t!==n&&gs()!==n&&(e=Bn())!==n&&gs()!==n&&vs()!==n?(r,r=t={limit:{offset:{val:e}}}):(sn=r,r=n);return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,r.substr(sn,7)===St?(e=St,sn+=7):(e=n,0===cn&&dn(Tt)),e!==n?(s=function(){var r,t,e,s,u,o;if(r=sn,t=ds(),t!==n)if(gs()!==n)if((e=_n())!==n){for(s=[],u=sn,As()!==n&&(o=_n())!==n?(u,u=Qt(0,o)):(sn=u,u=n);u!==n;)s.push(u),u=sn,As()!==n&&(o=_n())!==n?(u,u=Qt(0,o)):(sn=u,u=n);s!==n&&(u=gs())!==n&&vs()!==n?(r,a=s,r=t={orderBy:[e,...a]}):(sn=r,r=n)}else sn=r,r=n;else sn=r,r=n;else sn=r,r=n;var a;return r}(),s!==n?(t,t=e=s):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,"topcount"===r.substr(sn,8).toLowerCase()?(e=r.substr(sn,8),sn+=8):(e=n,0===cn&&dn(jt)),e===n&&("bottomcount"===r.substr(sn,11).toLowerCase()?(e=r.substr(sn,11),sn+=11):(e=n,0===cn&&dn(kt)),e===n&&("topsum"===r.substr(sn,6).toLowerCase()?(e=r.substr(sn,6),sn+=6):(e=n,0===cn&&dn(Ot)),e===n&&("bottomsum"===r.substr(sn,9).toLowerCase()?(e=r.substr(sn,9),sn+=9):(e=n,0===cn&&dn(Zt)),e===n&&("toppercent"===r.substr(sn,10).toLowerCase()?(e=r.substr(sn,10),sn+=10):(e=n,0===cn&&dn(zt)),e===n&&("bottompercent"===r.substr(sn,13).toLowerCase()?(e=r.substr(sn,13),sn+=13):(e=n,0===cn&&dn(_t))))))),e!==n?(s=function(){var r,t,e,s;r=sn,t=ds(),t!==n&&gs()!==n&&(e=Dn())!==n&&gs()!==n&&As()!==n&&gs()!==n&&(s=Dn())!==n&&gs()!==n&&vs()!==n?(r,r=t=[e,s]):(sn=r,r=n);return r}(),s!==n?(t,t=e=function(r,t){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[r=r.toLowerCase()])throw Object.assign(new Error(`Transformation "${r}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:r,args:t}]}}(e,s)):(sn=t,t=n)):(sn=t,t=n),t===n&&(t=sn,e=function(){var t,e;t=sn,r.substr(sn,8)===Jt?(e=Jt,sn+=8):(e=n,0===cn&&dn(Kt));e!==n&&(t,e={identity:!0});return t=e,t}(),e!==n&&t,t=e)))))))))),t}function Yn(){var t,e,s,u;return t=sn,e=sn,r.substr(sn,6)===f?(s=f,sn+=6):(s=n,0===cn&&dn(l)),s!==n&&(u=ns())!==n?(e,e=s={func:"count",args:[{val:1}],as:u}):(sn=e,e=n),e===n&&(e=rs()),e!==n&&t,t=e}function rs(){var r,t,e,s,u;return r=sn,(t=Un())!==n?((e=ts())===n&&(e=null),e!==n?((s=es())===n&&(s=null),s!==n?((u=ns())===n&&(u=null),u!==n?(r,r=t={func:e,args:[t],as:u}):(sn=r,r=n)):(sn=r,r=n)):(sn=r,r=n)):(sn=r,r=n),r===n&&(r=sn,(t=fs())!==n&&(e=ds())!==n&&(s=rs())!==n&&(u=vs())!==n?r=t=[t,e,s,u]:(sn=r,r=n)),r}function ts(){var t,e,s,u,o;if(t=sn,ms()!==n)if(r.substr(sn,4)===Rt?(e=Rt,sn+=4):(e=n,0===cn&&dn(qt)),e!==n)if(ms()!==n){if(s=sn,u=[],rt.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(tt)),o!==n)for(;o!==n;)u.push(o),rt.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(tt));else u=n;(s=u!==n?r.substring(s,sn):u)!==n?(t,t=s.toLowerCase()):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;else sn=t,t=n;return t}function es(){var t,e,s,u,o,a,c;return t=sn,(e=ms())!==n?(r.substr(sn,4)===It?(s=It,sn+=4):(s=n,0===cn&&dn(Nt)),s!==n&&(u=ms())!==n&&(o=Un())!==n&&(a=ts())!==n?((c=es())===n&&(c=null),c!==n?t=e=[e,s,u,o,a,c]:(sn=t,t=n)):(sn=t,t=n)):(sn=t,t=n),t}function ns(){var t,e,s;return t=sn,ms()!==n?("as"===r.substr(sn,2)?(e="as",sn+=2):(e=n,0===cn&&dn(Dt)),e!==n&&ms()!==n&&(s=fs())!==n?(t,t=s):(sn=t,t=n)):(sn=t,t=n),t}function ss(){var t,e;return t=sn,e=function(){var t,e,s,u,o,a,c,i,f,l,h;t=sn,e=sn,r.substr(sn,6)===Ut?(s=Ut,sn+=6):(s=n,0===cn&&dn(Mt));if(s!==n)if((u=ds())!==n)if((o=gs())!==n)if(r.substr(sn,4)===Pt?(a=Pt,sn+=4):(a=n,0===cn&&dn(Gt)),a===n&&(a=Un()),a!==n){if(c=[],i=sn,(f=gs())!==n&&(l=As())!==n&&(h=Un())!==n?i=f=[f,l,h]:(sn=i,i=n),i!==n)for(;i!==n;)c.push(i),i=sn,(f=gs())!==n&&(l=As())!==n&&(h=Un())!==n?i=f=[f,l,h]:(sn=i,i=n);else c=n;c!==n&&(i=gs())!==n&&(f=vs())!==n?e=s=[s,u,o,a,c,i,f]:(sn=e,e=n)}else sn=e,e=n;else sn=e,e=n;else sn=e,e=n;else sn=e,e=n;e!==n&&(t,e=function(r){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t}());return t=e,t}(),e===n&&(e=Un()),e!==n&&t,t=e}function us(){var r,t,e;return r=sn,(t=kn())!==n&&(e=ns())!==n?r=t=[t,e]:(sn=r,r=n),r}function os(){var t,e;return cn++,t=sn,r.substr(sn,4)===Wt?(e=Wt,sn+=4):(e=n,0===cn&&dn(Xt)),e===n&&(r.substr(sn,5)===Yt?(e=Yt,sn+=5):(e=n,0===cn&&dn(re))),e!==n&&(t,e="true"===e),cn--,(t=e)===n&&(e=n,0===cn&&dn(Vt)),t}function as(){var t,e,s,u,o;if(cn++,t=sn,39===r.charCodeAt(sn)?(e=ee,sn++):(e=n,0===cn&&dn(ne)),e!==n){for(s=sn,u=[],r.substr(sn,2)===se?(o=se,sn+=2):(o=n,0===cn&&dn(ue)),o===n&&(oe.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(ae)));o!==n;)u.push(o),r.substr(sn,2)===se?(o=se,sn+=2):(o=n,0===cn&&dn(ue)),o===n&&(oe.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(ae)));(s=u!==n?r.substring(s,sn):u)!==n?(39===r.charCodeAt(sn)?(u=ee,sn++):(u=n,0===cn&&dn(ne)),u!==n?(t,t=e=s.replace(/''/g,"'")):(sn=t,t=n)):(sn=t,t=n)}else sn=t,t=n;return cn--,t===n&&(e=n,0===cn&&dn(te)),t}function cs(){var t,e,s,u,o,a,c,i,f,l,h,p,A,d,v,g,m,b,y,C,w,$,x,E,L;if(cn++,t=sn,e=sn,s=sn,u=[],be.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(ye)),o!==n)for(;o!==n;)u.push(o),be.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(ye));else u=n;if(u!==n)if(45===r.charCodeAt(sn)?(o=Ce,sn++):(o=n,0===cn&&dn(we)),o!==n)if(be.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(ye)),a!==n)if(be.test(r.charAt(sn))?(c=r.charAt(sn),sn++):(c=n,0===cn&&dn(ye)),c!==n)if(45===r.charCodeAt(sn)?(i=Ce,sn++):(i=n,0===cn&&dn(we)),i!==n)if(be.test(r.charAt(sn))?(f=r.charAt(sn),sn++):(f=n,0===cn&&dn(ye)),f!==n)if(be.test(r.charAt(sn))?(l=r.charAt(sn),sn++):(l=n,0===cn&&dn(ye)),l!==n){if(h=sn,84===r.charCodeAt(sn)?(p="T",sn++):(p=n,0===cn&&dn($e)),p!==n)if(be.test(r.charAt(sn))?(A=r.charAt(sn),sn++):(A=n,0===cn&&dn(ye)),A!==n)if(be.test(r.charAt(sn))?(d=r.charAt(sn),sn++):(d=n,0===cn&&dn(ye)),d!==n)if(58===r.charCodeAt(sn)?(v=sr,sn++):(v=n,0===cn&&dn(ur)),v!==n)if(be.test(r.charAt(sn))?(g=r.charAt(sn),sn++):(g=n,0===cn&&dn(ye)),g!==n)if(be.test(r.charAt(sn))?(m=r.charAt(sn),sn++):(m=n,0===cn&&dn(ye)),m!==n){if(b=sn,58===r.charCodeAt(sn)?(y=sr,sn++):(y=n,0===cn&&dn(ur)),y!==n)if(be.test(r.charAt(sn))?(C=r.charAt(sn),sn++):(C=n,0===cn&&dn(ye)),C!==n)if(be.test(r.charAt(sn))?(w=r.charAt(sn),sn++):(w=n,0===cn&&dn(ye)),w!==n){if($=sn,46===r.charCodeAt(sn)?(x=".",sn++):(x=n,0===cn&&dn(xe)),x!==n){if(E=[],be.test(r.charAt(sn))?(L=r.charAt(sn),sn++):(L=n,0===cn&&dn(ye)),L!==n)for(;L!==n;)E.push(L),be.test(r.charAt(sn))?(L=r.charAt(sn),sn++):(L=n,0===cn&&dn(ye));else E=n;E!==n?$=x=[x,E]:(sn=$,$=n)}else sn=$,$=n;$===n&&($=null),$!==n?b=y=[y,C,w,$]:(sn=b,b=n)}else sn=b,b=n;else sn=b,b=n;else sn=b,b=n;b===n&&(b=null),b!==n?(90===r.charCodeAt(sn)?(y="Z",sn++):(y=n,0===cn&&dn(Ee)),y===n&&(y=sn,43===r.charCodeAt(sn)?(C="+",sn++):(C=n,0===cn&&dn(Le)),C===n&&(45===r.charCodeAt(sn)?(C=Ce,sn++):(C=n,0===cn&&dn(we))),C!==n?(be.test(r.charAt(sn))?(w=r.charAt(sn),sn++):(w=n,0===cn&&dn(ye)),w!==n?(be.test(r.charAt(sn))?($=r.charAt(sn),sn++):($=n,0===cn&&dn(ye)),$!==n?(58===r.charCodeAt(sn)?(x=sr,sn++):(x=n,0===cn&&dn(ur)),x!==n?(be.test(r.charAt(sn))?(E=r.charAt(sn),sn++):(E=n,0===cn&&dn(ye)),E!==n?(be.test(r.charAt(sn))?(L=r.charAt(sn),sn++):(L=n,0===cn&&dn(ye)),L!==n?y=C=[C,w,$,x,E,L]:(sn=y,y=n)):(sn=y,y=n)):(sn=y,y=n)):(sn=y,y=n)):(sn=y,y=n)):(sn=y,y=n)),y===n&&(y=null),y!==n?h=p=[p,A,d,v,g,m,b,y]:(sn=h,h=n)):(sn=h,h=n)}else sn=h,h=n;else sn=h,h=n;else sn=h,h=n;else sn=h,h=n;else sn=h,h=n;else sn=h,h=n;h===n&&(h=null),h!==n?s=u=[u,o,a,c,i,f,l,h]:(sn=s,s=n)}else sn=s,s=n;else sn=s,s=n;else sn=s,s=n;else sn=s,s=n;else sn=s,s=n;else sn=s,s=n;else sn=s,s=n;return(e=s!==n?r.substring(e,sn):s)!==n&&(t,e=function(r){if(r.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${r}'`),{statusCode:400});return r}(e)),cn--,(t=e)===n&&(e=n,0===cn&&dn(me)),t}function is(){var t,e,s,u,o,a;if(cn++,t=sn,e=sn,s=sn,Se.test(r.charAt(sn))?(u=r.charAt(sn),sn++):(u=n,0===cn&&dn(Te)),u===n&&(u=null),u!==n){if(o=[],be.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(ye)),a!==n)for(;a!==n;)o.push(a),be.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(ye));else o=n;o!==n?s=u=[u,o]:(sn=s,s=n)}else sn=s,s=n;return(e=s!==n?r.substring(e,sn):s)!==n&&(t,e=parseInt(e)),cn--,(t=e)===n&&(e=n,0===cn&&dn(ke)),t}function fs(){var t,e,s,u,o,a,c,i;if(cn++,t=sn,e=sn,cn++,s=os(),cn--,s===n?e=void 0:(sn=e,e=n),e!==n)if(s=sn,cn++,u=ls(),cn--,u===n?s=void 0:(sn=s,s=n),s!==n){if(u=sn,o=sn,Ze.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(ze)),a!==n){for(c=[],_e.test(r.charAt(sn))?(i=r.charAt(sn),sn++):(i=n,0===cn&&dn(Fe));i!==n;)c.push(i),_e.test(r.charAt(sn))?(i=r.charAt(sn),sn++):(i=n,0===cn&&dn(Fe));c!==n?o=a=[a,c]:(sn=o,o=n)}else sn=o,o=n;(u=o!==n?r.substring(u,sn):o)!==n?(t,t=e=u):(sn=t,t=n)}else sn=t,t=n;else sn=t,t=n;return cn--,t===n&&(e=n,0===cn&&dn(Oe)),t}function ls(){var t,e,s,u,o,a,c,i,f,l,h,p,A,d;return cn++,t=sn,e=sn,(s=hs())!==n&&(u=hs())!==n?(45===r.charCodeAt(sn)?(o=Ce,sn++):(o=n,0===cn&&dn(we)),o===n&&(o=null),o!==n&&(a=hs())!==n?(45===r.charCodeAt(sn)?(c=Ce,sn++):(c=n,0===cn&&dn(we)),c===n&&(c=null),c!==n&&(i=hs())!==n?(45===r.charCodeAt(sn)?(f=Ce,sn++):(f=n,0===cn&&dn(we)),f===n&&(f=null),f!==n&&(l=hs())!==n?(45===r.charCodeAt(sn)?(h=Ce,sn++):(h=n,0===cn&&dn(we)),h===n&&(h=null),h!==n&&(p=hs())!==n&&(A=hs())!==n&&(d=hs())!==n?e=s=[s,u,o,a,c,i,f,l,h,p,A,d]:(sn=e,e=n)):(sn=e,e=n)):(sn=e,e=n)):(sn=e,e=n)):(sn=e,e=n),t=e!==n?r.substring(t,sn):e,cn--,t===n&&(e=n,0===cn&&dn(Re)),t}function hs(){var t,e,s,u,o,a;return cn++,t=sn,e=sn,Ie.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(Ne)),s!==n?(Ie.test(r.charAt(sn))?(u=r.charAt(sn),sn++):(u=n,0===cn&&dn(Ne)),u!==n?(Ie.test(r.charAt(sn))?(o=r.charAt(sn),sn++):(o=n,0===cn&&dn(Ne)),o!==n?(Ie.test(r.charAt(sn))?(a=r.charAt(sn),sn++):(a=n,0===cn&&dn(Ne)),a!==n?e=s=[s,u,o,a]:(sn=e,e=n)):(sn=e,e=n)):(sn=e,e=n)):(sn=e,e=n),t=e!==n?r.substring(t,sn):e,cn--,t===n&&(e=n,0===cn&&dn(qe)),t}function ps(){var t,e,s,u;if(t=sn,e=sn,s=[],De.test(r.charAt(sn))?(u=r.charAt(sn),sn++):(u=n,0===cn&&dn(Ue)),u!==n)for(;u!==n;)s.push(u),De.test(r.charAt(sn))?(u=r.charAt(sn),sn++):(u=n,0===cn&&dn(Ue));else s=n;return(e=s!==n?r.substring(e,sn):s)!==n&&(t,e={val:e}),t=e}function As(){var t,e,s,u;return t=sn,(e=gs())!==n?(44===r.charCodeAt(sn)?(s=",",sn++):(s=n,0===cn&&dn(Wr)),s!==n&&(u=gs())!==n?t=e=[e,s,u]:(sn=t,t=n)):(sn=t,t=n),t}function ds(){var t,e,s,u;return t=sn,(e=gs())!==n?(40===r.charCodeAt(sn)?(s="(",sn++):(s=n,0===cn&&dn(Xe)),s!==n&&(u=gs())!==n?t=e=[e,s,u]:(sn=t,t=n)):(sn=t,t=n),t}function vs(){var t,e,s;return t=sn,(e=gs())!==n?(41===r.charCodeAt(sn)?(s=")",sn++):(s=n,0===cn&&dn(Ye)),s!==n?t=e=[e,s]:(sn=t,t=n)):(sn=t,t=n),t}function gs(){var t,e,s;for(cn++,t=sn,e=[],tn.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(en));s!==n;)e.push(s),tn.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(en));return t=e!==n?r.substring(t,sn):e,cn--,t===n&&(e=n,0===cn&&dn(rn)),t}function ms(){var t,e,s;if(cn++,t=sn,e=[],tn.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(en)),s!==n)for(;s!==n;)e.push(s),tn.test(r.charAt(sn))?(s=r.charAt(sn),sn++):(s=n,0===cn&&dn(en));else e=n;return t=e!==n?r.substring(t,sn):e,cn--,t===n&&(e=n,0===cn&&dn(nn)),t}const bs=Object.assign,{strict:ys,minimal:Cs}=t,ws=[];let $s,xs;const Es=["$value"],Ls=t.safeNumber||function(r){const t=Number(r);return Number.isSafeInteger(t)?t:r},Bs=t.skipToken,Ss=t.standardBase64||function(r){return Buffer.from(r,"base64").toString("base64")},Ts=r=>t=>r===t||r.as&&t.as&&r.as===t.as||t.as&&r.ref&&t.as===r.ref[r.ref.length-1]||r.ref&&t.ref&&r.ref.join("")===t.ref.join(""),js=r=>t=>{if(Array.isArray(t))return t.map(js(r));const e=t.ref&&r.find((r=>r.as&&r.func&&r.as===t.ref[0]));return e||t},ks=r=>t=>Array.isArray(t)?t.map(ks(r)):t.ref&&!r.find(Ts(t))?{val:null}:t,Os=(r,t)=>{if(1===t.ref.length)r.find(Ts(t))||r.push(t);else{const e=t.ref.shift(),n=r.find((r=>r.ref&&r.ref[0]===e));if(n)Os(n.expand,t);else{const n={ref:[e],expand:[]};Os(n.expand,t),r.push(n)}}},Zs=(r,t,e=!1)=>{let n=Fs({from:r.from},t,e);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=zs(n[t],r,e);else n=zs(n,r,e);return n},zs=(r,t,e)=>{if(!t)return r;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||r.SELECT.where&&t.where||r.SELECT.limit&&t.limit||r.SELECT.orderBy&&t.orderBy||r.SELECT.search&&t.search?n.from=r:n=r.SELECT;for(const r in t)"columns"===r?(t.columns=t.columns.map((r=>n.columns&&n.columns.find((t=>r.ref&&r.ref[0]===t.as||t.ref&&r.ref&&r.ref[0]===t.ref[0]&&!r.expand))||r)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((r=>e&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===r.as||t.ref&&r.ref&&t.ref[0]===r.ref[0]||t.as&&t.as===r.as))))||[]),n.columns=t.columns):"from"!==r&&(n[r]=t[r]);const s=[...n.columns&&n.columns.filter((r=>n.groupBy&&n.groupBy.find((t=>r.ref&&r.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((r=>r&&"object"==typeof r&&"func"in r))||[]];return _s(n,s,e),{SELECT:n}},_s=(r,t,e)=>{t.length&&(r.columns=r.columns&&!e?r.columns.reduce(((r,e)=>{const n=t.find(Ts(e));return n&&r.push(n),r}),[]):t,r.where&&(r.where=r.where.map(js(r.columns)),r.groupBy&&(r.having=r.where.map(ks(r.groupBy)),delete r.where)),r.columns=r.columns.reduce(((r,e)=>(e.ref&&e.ref.length>1&&t.find(Ts(e))?Os(r,{ref:[...e.ref]}):r.push(e),r)),[]))},Fs=(r,t,e)=>{if(!t)return;if(r.apply&&delete r.apply,t.identity&&r.from.SELECT&&(r=r.from.SELECT),(t.apply||t.where&&r.where||t.search&&r.search||t.limit&&r.limit||t.orderBy&&r.orderBy)&&(r.from={SELECT:{...r}}),t.where&&(r.where=t.where),t.search&&(r.search=t.search),t.groupBy){r.groupBy=[];for(const e of t.groupBy)r.groupBy.find(Ts(e))||r.groupBy.push(e)}t.limit&&(r.limit=t.limit),t.orderBy&&(r.orderBy=t.orderBy);const n=[...r.groupBy||[],...t.aggregate||[]];if(_s(r,n,e),t.apply&&r.from&&Fs(r.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const e=[];for(let n of t.concat){n.from=1===Object.keys(r).length?r.from:{SELECT:r};const t=Fs(n,n.apply);Array.isArray(t)?e.push(...t):e.push(t)}r=e}return Array.isArray(r)?r:{SELECT:r}},Rs=r=>{$s.limit&&$s.limit.offset&&$s.limit.offset.val&&(r+=$s.limit.offset.val),($s.limit||($s.limit={})).offset={val:r}},qs=(r,t=!1)=>{$s.orderBy=$s.orderBy?t?[r,...$s.orderBy]:[...$s.orderBy,r]:[r]},Is=(r,t)=>{for(const e of t)e.ref&&e.ref[0]===r&&e.ref.shift(),e.func&&Is(r,e.args);return t},Ns=(r,t,e,n=!1)=>{r?.forEach((r=>{r.val===t?r.val=e.val:r.list===t?r.list=e.list:r.func?r.args.forEach(((r,s)=>{r.val===t?r.val=e.val:r.func&&Ns(r.args,t,e,n)})):r.SELECT&&Ds(r.SELECT,t,e,n)}))},Ds=(r,t,e,n=!1)=>{const{where:s,from:u}=r;Ns(s,t,e),u?.ref?.forEach((r=>{Ns(r.where,t,e,!0)}))};if((e=u())!==n&&sn===r.length)return e;throw e!==n&&sn<r.length&&dn({type:"end"}),vn(an,on<r.length?r.charAt(on):null,on<r.length?An(on,on+1):An(on,on))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(r,t){var e={literal:function(r){return'"'+s(r.text)+'"'},class:function(r){var t,e="";for(t=0;t<r.parts.length;t++)e+=r.parts[t]instanceof Array?u(r.parts[t][0])+"-"+u(r.parts[t][1]):u(r.parts[t]);return"["+(r.inverted?"^":"")+e+"]"},any:function(r){return"any character"},end:function(r){return"end of input"},other:function(r){return r.description}};function n(r){return r.charCodeAt(0).toString(16).toUpperCase()}function s(r){return r.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}function u(r){return r.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}return"Expected "+function(r){var t,n,s,u=new Array(r.length);for(t=0;t<r.length;t++)u[t]=(s=r[t],e[s.type](s));if(u.sort(),u.length>0){for(t=1,n=1;t<u.length;t++)u[t-1]!==u[t]&&(u[n]=u[t],n++);u.length=n}switch(u.length){case 1:return u[0];case 2:return u[0]+" or "+u[1];default:return u.slice(0,-1).join(", ")+", or "+u[u.length-1]}}(r)+" but "+function(r){return r?'"'+s(r)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
|
package/libx/odata/utils.js
CHANGED
|
@@ -149,7 +149,7 @@ const skipToken = (token, cqn) => {
|
|
|
149
149
|
cqn.SELECT.limit = { offset: { val: parseInt(token) } }
|
|
150
150
|
} else {
|
|
151
151
|
const { offset } = limit
|
|
152
|
-
cqn.SELECT.limit.offset = { val: (offset
|
|
152
|
+
cqn.SELECT.limit.offset = { val: (offset && 'val' in offset ? offset.val : offset || 0) + parseInt(token) }
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
}
|
package/libx/rest/RestAdapter.js
CHANGED
|
@@ -62,7 +62,7 @@ const RestAdapter = function (srv) {
|
|
|
62
62
|
// check @requires as soon as possible (DoS)
|
|
63
63
|
router.use((req, res, next) => {
|
|
64
64
|
// REVISIT: This is authorization enforcement which is protocol-independent -> should move to service layer
|
|
65
|
-
const requires = srv.definition['@requires']
|
|
65
|
+
const requires = srv.definition?.['@requires']
|
|
66
66
|
if (requires) {
|
|
67
67
|
const ok = typeof requires === 'string' ? req.user.is(requires) : requires.some(r => req.user.is(r))
|
|
68
68
|
if (ok) return next()
|
package/libx/rest/RestRequest.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sap/cds",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.7.0",
|
|
4
4
|
"description": "SAP Cloud Application Programming Model - CDS for Node.js",
|
|
5
5
|
"homepage": "https://cap.cloud.sap/",
|
|
6
6
|
"keywords": [
|
|
@@ -11,7 +11,10 @@
|
|
|
11
11
|
"license": "SEE LICENSE IN LICENSE",
|
|
12
12
|
"typings": "apis/cds.d.ts",
|
|
13
13
|
"main": "lib/index.js",
|
|
14
|
-
"bin":
|
|
14
|
+
"bin": {
|
|
15
|
+
"cds": "bin/cds.js",
|
|
16
|
+
"cds-serve": "bin/cds-serve.js"
|
|
17
|
+
},
|
|
15
18
|
"files": [
|
|
16
19
|
"apis/",
|
|
17
20
|
"app/",
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
const SELECT = require('../../../../lib/ql/SELECT')
|
|
2
|
-
const INSERT = require('../../../../lib/ql/INSERT')
|
|
3
|
-
const UPSERT = require('../../../../lib/ql/UPSERT')
|
|
4
|
-
const UPDATE = require('../../../../lib/ql/UPDATE')
|
|
5
|
-
const DELETE = require('../../../../lib/ql/DELETE')
|
|
6
|
-
const queryExecutor = require('./workerQueryExecutor')
|
|
7
|
-
|
|
8
|
-
class WorkerSELECT extends SELECT {
|
|
9
|
-
// intercept await SELECT.from(...) calls
|
|
10
|
-
then(r, e) {
|
|
11
|
-
return new Promise(queryExecutor.bind(this)).then(r, e)
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
class WorkerINSERT extends INSERT {
|
|
16
|
-
then(r, e) {
|
|
17
|
-
return new Promise(queryExecutor.bind(this)).then(r, e)
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
class WorkerUPSERT extends UPSERT {
|
|
22
|
-
then(r, e) {
|
|
23
|
-
return new Promise(queryExecutor.bind(this)).then(r, e)
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
class WorkerUPDATE extends UPDATE {
|
|
28
|
-
then(r, e) {
|
|
29
|
-
return new Promise(queryExecutor.bind(this)).then(r, e)
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
class WorkerDELETE extends DELETE {
|
|
34
|
-
then(r, e) {
|
|
35
|
-
return new Promise(queryExecutor.bind(this)).then(r, e)
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
Object.defineProperty(WorkerSELECT.prototype, 'cmd', { value: 'SELECT' })
|
|
40
|
-
Object.defineProperty(WorkerINSERT.prototype, 'cmd', { value: 'INSERT' })
|
|
41
|
-
Object.defineProperty(WorkerUPSERT.prototype, 'cmd', { value: 'UPSERT' })
|
|
42
|
-
Object.defineProperty(WorkerUPDATE.prototype, 'cmd', { value: 'UPDATE' })
|
|
43
|
-
Object.defineProperty(WorkerDELETE.prototype, 'cmd', { value: 'DELETE' })
|
|
44
|
-
|
|
45
|
-
module.exports = { WorkerSELECT, WorkerINSERT, WorkerUPSERT, WorkerUPDATE, WorkerDELETE }
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
const cds = require('../../cds')
|
|
2
|
-
|
|
3
|
-
const { LIMIT } = require('../constants/limit')
|
|
4
|
-
const DEFAULT = (cds.env.query && cds.env.query.limit && cds.env.query.limit.default) || LIMIT.PAGE.MAX
|
|
5
|
-
const MAX = (cds.env.query && cds.env.query.limit && cds.env.query.limit.max) || LIMIT.PAGE.MAX
|
|
6
|
-
|
|
7
|
-
const _pageSizes = {}
|
|
8
|
-
|
|
9
|
-
const getPageSize = def => {
|
|
10
|
-
if (_pageSizes[def.name]) return _pageSizes[def.name]
|
|
11
|
-
|
|
12
|
-
const outer = (def._service && getPageSize(def._service)) || { default: DEFAULT, max: MAX }
|
|
13
|
-
|
|
14
|
-
let dfault = def[LIMIT.ANNOTATION.DEFAULT]
|
|
15
|
-
if (dfault == null) {
|
|
16
|
-
dfault = def[LIMIT.ANNOTATION.SHORTHAND]
|
|
17
|
-
}
|
|
18
|
-
if (dfault == null) {
|
|
19
|
-
dfault = outer.default
|
|
20
|
-
}
|
|
21
|
-
let max = def[LIMIT.ANNOTATION.MAX]
|
|
22
|
-
if (max == null) {
|
|
23
|
-
max = outer.max
|
|
24
|
-
}
|
|
25
|
-
if (max === 0) {
|
|
26
|
-
max = Number.MAX_SAFE_INTEGER
|
|
27
|
-
}
|
|
28
|
-
return { default: max && (!dfault || dfault > max) ? max : dfault, max }
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const getDefaultPageSize = def => getPageSize(def).default
|
|
32
|
-
|
|
33
|
-
const getMaxPageSize = def => getPageSize(def).max
|
|
34
|
-
|
|
35
|
-
module.exports = {
|
|
36
|
-
getPageSize,
|
|
37
|
-
getDefaultPageSize,
|
|
38
|
-
getMaxPageSize
|
|
39
|
-
}
|