@opra/common 1.28.2 → 1.28.4

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/browser.js CHANGED
@@ -3,9 +3,9 @@
3
3
  * http://www.panates.com
4
4
  *****************************************/
5
5
 
6
- var xi=Object.defineProperty;var Tp=(o,e,t)=>e in o?xi(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e)=>xi(o,"name",{value:e,configurable:!0});var Lr=(o,e)=>{for(var t in e)xi(o,t,{get:e[t],enumerable:!0})};var p=(o,e,t)=>Tp(o,typeof e!="symbol"?e+"":e,t);import"reflect-metadata";import"reflect-metadata";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as Tc}from"@jsopen/objects";import{isString as Ec}from"valgen";var ea;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(ea||(ea={}));import{omitUndefined as Rp}from"@jsopen/objects";import"@browsery/i18next";import _p from"@browsery/i18next";import{splitString as gp,tokenize as ia}from"fast-tokenizer";var Ep=/\\(.)/g,xp=/(\\)/g;function ta(o){return o.replace(xp,"\\\\")}a(ta,"escapeString");function ra(o){return o.replace(Ep,"$1")}a(ra,"unescapeString");var Op=Object.getPrototypeOf(_p.createInstance()).constructor,tr=class tr extends Op{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(c,l)=>c.toLocaleLowerCase(l)),s.add("uppercase",(c,l)=>c.toLocaleUpperCase(l)),s.add("upperFirst",(c,l)=>c.charAt(0).toLocaleUpperCase(l)+c.substring(1)),r!=null&&r.resources)for(let c of Object.keys(r.resources)){let l=r.resources[c];for(let u of Object.keys(l))this.addResourceBundle(c,u,l[u],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new tr(e,t)}static createInstance(e,t){return new tr(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of ia(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=gp(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),c=ra(n.substring((s[0]||"").length+1));n=s[0]||"";let l=[],u=null;for(let O of ia(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(O.startsWith("{")){u=JSON.parse(O);continue}l.push(O)}let E=l.length>1?"$t("+l.join(",")+")":l[0];i+=c?this.t(E,c,{...r,...u}):this.t(E,{...r,...u});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,c=n.length;s<c;s++){let l=n[s];i[l]=this._deepTranslate(e[l],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Ap}};a(tr,"I18n");var rr=tr,Ap=rr.createInstance();var wp=/(\))/g;function Hf(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+ta(i).replace(wp,"\\$1"):"")+")"}a(Hf,"translate");var _i=rr.createInstance();_i.init().catch(()=>{});var gi=class gi extends Error{constructor(t,r){super("Unknown error");p(this,"cause");p(this,"severity","error");p(this,"system");p(this,"code");p(this,"details");r=r||(t instanceof Error?t:void 0),t instanceof Error&&(r=t),r&&r instanceof Error&&(this.cause=r,r.stack&&(this.stack=r.stack)),typeof t=="string"?this.initString(t):t instanceof Error?this.initError(t):this.init(t),this.message=this.message||this.constructor.name}toString(){return _i.deep(this.message)}toJSON(){return Rp({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:this.stack},!0)}init(t){this.message=(t==null?void 0:t.message)||this.constructor.name,this.severity=(t==null?void 0:t.severity)||"error",t&&(this.system=t.system,this.code=t.code,this.details=t.details)}initString(t){this.init({message:String(t||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(t){let r="production";this.init({message:t.message,severity:t.severity||"error",code:t.code||t.constructor.name,stack:r==="dev"||r==="development"||r==="test"?t.stack:void 0})}};a(gi,"OpraException");var Te=gi;var Oi=class Oi extends Te{constructor(t,r,i){super(t,r instanceof Error?r:void 0);p(this,"status");this.status=(typeof r=="number"?r:Number(i))||500}setStatus(t){return this.status=t,this}initError(t){typeof t.status=="number"?this.status=t.status:typeof t.getStatus=="function"&&(this.status=t.getStatus()),super.initError(t)}};a(Oi,"OpraHttpError");var v=Oi;var Ai=class Ai extends v{constructor(){super(...arguments);p(this,"status",400)}init(t){super.init({message:"Bad request",code:"BAD_REQUEST",...t})}};a(Ai,"BadRequestError");var oa=Ai;var wi=class wi extends v{constructor(){super(...arguments);p(this,"status",409)}init(t){super.init({message:"Conflict",code:"CONFLICT",...t})}};a(wi,"ConflictError");var na=wi;var Ri=class Ri extends v{constructor(){super(...arguments);p(this,"status",424)}init(t){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...t})}};a(Ri,"FailedDependencyError");var sa=Ri;var aa;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(aa||(aa={}));var R;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(R||(R={}));var bm={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var b;(function(o){o.json="application/json",o.xml="application/xml",o.yaml="text/yaml",o.yaml2="application/yaml",o.toml="text/toml",o.toml2="application/toml",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream",o.opra_response_json="application/opra.response+json",o.opra_response_xml="application/opra.response+xml",o.opra_response_yaml="text/opra.response+yaml",o.opra_response_toml="text/opra.response+toml"})(b||(b={}));var bi=class bi extends v{constructor(){super(...arguments);p(this,"status",R.FORBIDDEN)}init(t){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...t})}};a(bi,"ForbiddenError");var Pr=bi;var Di=class Di extends v{constructor(){super(...arguments);p(this,"status",500)}init(t){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...t})}};a(Di,"InternalServerError");var pa=Di;var Ni=class Ni extends v{constructor(){super(...arguments);p(this,"status",405)}init(t){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...t})}};a(Ni,"MethodNotAllowedError");var ca=Ni;var Si=class Si extends v{constructor(){super(...arguments);p(this,"status",406)}init(t){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...t})}};a(Si,"NotAcceptableError");var la=Si;var Mi=class Mi extends v{constructor(){super(...arguments);p(this,"status",404)}init(t){super.init({message:"Not found",code:"NOT_FOUND",...t})}};a(Mi,"NotFoundError");var fa=Mi;var vi=class vi extends Pr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(vi,"PermissionError");var ma=vi;var Ii=class Ii extends v{constructor(t,r,i){super({message:`There is already an other "${t}" resource with same values for field(s) [${r}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:t,location:r}},i);p(this,"status",409)}};a(Ii,"ResourceConflictError");var ua=Ii;var Li=class Li extends v{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,R.UNPROCESSABLE_ENTITY)}};a(Li,"ResourceNotAvailableError");var da=Li;var Pi=class Pi extends v{constructor(){super(...arguments);p(this,"status",401)}init(t){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...t})}};a(Pi,"UnauthorizedError");var ha=Pi;var ki=class ki extends v{constructor(){super(...arguments);p(this,"status",422)}init(t){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...t})}};a(ki,"UnprocessableEntityError");var ya=ki;BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as bp}from"@jsopen/objects";import Dp from"putil-promisify";async function X(o){return o=Dp.isPromise(o)?await o:o,typeof o=="function"?bp(o)?o:await o():o}a(X,"resolveThunk");var Ta=/^(?:file:\/\/)?(.+)$/;function Pu(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ta.exec(r):void 0;return i?i[1]:""}return""}a(Pu,"getStackFileName");function ku(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ta.exec(r):void 0;return i?i[1]:""}return""}a(ku,"getErrorStack");function kr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(kr,"mergePrototype");function Cr(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(Cr,"inheritPropertyInitializers");import{isPlainObject as xa,merge as Np}from"@jsopen/objects";var y=Symbol.for("opra.type.metadata"),se=Symbol("opra.http-controller.metadata"),ae=Symbol("opra.mq-controller.metadata"),pe=Symbol("opra.ws-controller.metadata"),ir=Symbol("opra.ws-param.metadata"),$u=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),_=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Ve=Symbol.for("BUILTIN"),Ea=/([a-z$_]\w+):(.+)/i,C=/^[a-z][\w_]*$/i,L=Symbol.for("kDataTypeMap"),jr=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");function P(o,e){return Np({},o,{deep:a(t=>xa(t)&&!t[y],"deep"),symbolKeys:!0,copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||xa(i)||Array.isArray(i))}})}a(P,"cloneObject");import{splitString as _a}from"fast-tokenizer";var Sp=/^([+-])?([a-z_$]\w*)$/i,Mp=/[^.]\(/g,Ci=class Ci{};a(Ci,"FieldsProjection");var We=Ci;(function(o){let t=class t{constructor(){p(this,"sign");p(this,"projection")}};a(t,"Item");let e=t;o.Item=e})(We||(We={}));function ga(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new We;for(let i of t)e||(i=i.toLowerCase()),Oa(i,r);return r}a(ga,"parseFieldsProjection");function Oa(o,e){o=o.replace(Mp,r=>r.charAt(0)+"."+r.substring(1));let t=_a(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let l=_a(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let u of l)Oa(u,e);continue}let n=Sp.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],c=e[s]=e[s]||new We.Item;n[1]&&(c.sign=n[1]),r===t.length-1?delete c.projection:e=c.projection=c.projection||new We}}a(Oa,"parse");function vp(o){return o&&typeof o.forEach=="function"}a(vp,"isMap");var Q=Symbol.for("kEntries"),ce=Symbol.for("kKeyMap"),Fr=Symbol.for("kWellKnownKeys"),ji=Symbol.for("kOptions"),ct=Symbol.for("kSize"),Fi=class Fi{constructor(e,t){Object.defineProperty(this,ct,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,Q,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ce,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Fr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,ji,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Fr][i]=i:this[Fr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[ct]}clear(){Object.keys(this[Q]).forEach(e=>delete this[Q][e]),Object.keys(this[ce]).forEach(e=>delete this[ce][e]),this[ct]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[Q][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[Q],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[Q],r);return this[Q][r]=t,i||this[ct]++,this[ce][r]=e,this}setAll(e){return vp(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ce])[Symbol.iterator]()}values(){return Object.values(this[Q])[Symbol.iterator]()}entries(){return Object.entries(this[Q])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[Q],t);return delete this[Q][t],delete this[ce][t],r||this[ct]--,r}sort(e){let t={...this[Q]},r={...this[ce]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[Q][n]=t[n],this[ce][n]=r[n];return this[ct]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ce]))e[r]=this[Q][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[ji].caseSensitive)return e;let t=this._getStoringKey(e);return this[ce][t]??this[Fr][t]??e}_getStoringKey(e){return this[ji].caseSensitive?e:e.toLowerCase()}};a(Fi,"ResponsiveMap");var S=Fi;function Xu(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(Xu,"safeJsonStringify");import"@browsery/stream";function Ui(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Ui,"isStream");function id(o){return Ui(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(id,"isReadable");function od(o){return Ui(o)&&typeof o._write=="function"}a(od,"isWritable");function nd(o){return Ui(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(nd,"isReadableStream");function sd(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(sd,"isBlob");function ad(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(ad,"isFormData");function pd(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(pd,"isURL");var m={};Lr(m,{ArrayType:()=>lt,ComplexType:()=>ft,EnumType:()=>mt,HttpController:()=>or,HttpOperation:()=>$i,MQController:()=>Bi,MQOperation:()=>qi,MappedType:()=>ut,MixinType:()=>dt,SimpleType:()=>ht,SpecVersion:()=>gd,UnionType:()=>yt,WSController:()=>Ki,WSOperation:()=>Vi,isArrayType:()=>Up,isComplexType:()=>Lp,isDataType:()=>Ip,isEnumType:()=>jp,isHttpController:()=>$p,isMappedType:()=>Cp,isMixinType:()=>kp,isSimpleType:()=>Pp,isUnionType:()=>Fp});var gd="1.0";var lt;(function(o){o.Kind="ArrayType"})(lt||(lt={}));var ft;(function(o){o.Kind="ComplexType"})(ft||(ft={}));var mt;(function(o){o.Kind="EnumType"})(mt||(mt={}));var ut;(function(o){o.Kind="MappedType"})(ut||(ut={}));var dt;(function(o){o.Kind="MixinType"})(dt||(dt={}));var ht;(function(o){o.Kind="SimpleType"})(ht||(ht={}));var yt;(function(o){o.Kind="UnionType"})(yt||(yt={}));var or;(function(o){o.Kind="HttpController"})(or||(or={}));var $i;(function(o){o.Kind="HttpOperation"})($i||($i={}));var Bi;(function(o){o.Kind="MQController"})(Bi||(Bi={}));var qi;(function(o){o.Kind="MQOperation"})(qi||(qi={}));function Ip(o){return o&&typeof o=="object"&&(o.kind===lt.Kind||o.kind===ft.Kind||o.kind===mt.Kind||o.kind===ut.Kind||o.kind===ht.Kind||o.kind===dt.Kind||o.kind===yt.Kind)}a(Ip,"isDataType");function Lp(o){return o&&typeof o=="object"&&o.kind===ft.Kind}a(Lp,"isComplexType");function Pp(o){return o&&typeof o=="object"&&o.kind===ht.Kind}a(Pp,"isSimpleType");function kp(o){return o&&typeof o=="object"&&o.kind===dt.Kind}a(kp,"isMixinType");function Cp(o){return o&&typeof o=="object"&&o.kind===ut.Kind}a(Cp,"isMappedType");function jp(o){return o&&typeof o=="object"&&o.kind===mt.Kind}a(jp,"isEnumType");function Fp(o){return o&&typeof o=="object"&&o.kind===yt.Kind}a(Fp,"isUnionType");function Up(o){return o&&typeof o=="object"&&o.kind===lt.Kind}a(Up,"isArrayType");function $p(o){return o&&typeof o=="object"&&o.kind===or.Kind}a($p,"isHttpController");var Ki;(function(o){o.Kind="WSController"})(Ki||(Ki={}));var Vi;(function(o){o.Kind="WSOperation"})(Vi||(Vi={}));var Wi=class Wi{constructor(){p(this,"kind");this.kind=Object.getPrototypeOf(this).constructor.name}};a(Wi,"Ast");var nr=Wi;var zi=class zi extends nr{};a(zi,"Expression");var B=zi;var Ji=class Ji extends B{};a(Ji,"Term");var ze=Ji;var Qi=class Qi extends ze{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Qi,"Literal");var k=Qi;var Yi=class Yi extends B{constructor(){super();p(this,"items",[])}append(t,r){return this.items.push(new Ur({op:t,expression:r})),this}toString(){return this.items.map((t,r)=>(r>0?t.op:"")+t.expression).join("")}};a(Yi,"ArithmeticExpression");var Je=Yi,Gi=class Gi{constructor(e){p(this,"op");p(this,"expression");Object.assign(this,e)}};a(Gi,"ArithmeticExpressionItem");var Ur=Gi;var Xi=class Xi extends ze{constructor(t){super();p(this,"items");this.items=t}toString(){return"["+this.items.map(t=>""+t).join(",")+"]"}};a(Xi,"ArrayExpression");var Ee=Xi;var Bp=/\w/,Zi=class Zi extends B{constructor(t){super();p(this,"op");p(this,"left");p(this,"right");p(this,"prepare");Object.assign(this,t)}toString(){return`${this.left}${Bp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Zi,"ComparisonExpression");var le=Zi;var Hi=class Hi extends B{constructor(t){super();p(this,"op");p(this,"items");Object.assign(this,t),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(t=>""+t).join(" "+this.op+" ")}};a(Hi,"LogicalExpression");var fe=Hi;var eo=class eo extends B{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(eo,"NegativeExpression");var sr=eo;var to=class to extends B{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(to,"ParenthesizedExpression");var xe=to;var ro=class ro extends k{constructor(e){super(e)}};a(ro,"BooleanLiteral");var Qe=ro;import{toDateDef as Jp}from"putil-varhelpers";import"@browsery/antlr4";var io=class io extends TypeError{};a(io,"SyntaxError");var $r=io,oo=class oo extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(oo,"FilterValidationError");var me=oo,no=class no extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(no,"FilterParseError");var Br=no;var qp=/'/g,Kp=/(\\)/g,Vp=/\\(.)/g;function Wp(o){return o.replace(Kp,"\\\\")}a(Wp,"escapeString");function zp(o){return o.replace(Vp,"$1")}a(zp,"unescapeString");function be(o){return"'"+Wp(o).replace(qp,"\\'")+"'"}a(be,"quoteFilterString");function ar(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?zp(o.substring(1,o.length-1)):o}a(ar,"unquoteFilterString");var Aa=new Date(0),so=class so extends k{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Jp(t,Aa)!==Aa){this.value=t;return}throw new me(`Invalid date value "${t}"`)}toString(){return be(this.value)}};a(so,"DateLiteral");var De=so;import{toDateDef as Qp}from"putil-varhelpers";var wa=new Date(0),ao=class ao extends k{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Qp(t,wa)!==wa){this.value=t;return}throw new me(`Invalid date-time value "${t}"`)}toString(){return be(this.value)}};a(ao,"DateTimeLiteral");var pr=ao;var po=class po extends k{constructor(){super(null);p(this,"value",null)}};a(po,"NullLiteral");var Ye=po;var co=class co extends k{constructor(t){super(0);p(this,"value");if(typeof t=="number"||typeof t=="bigint"){this.value=t;return}try{if(typeof t=="string"){if(t.includes(".")){this.value=parseFloat(t);return}let r=Number(t);""+r===t?this.value=r:this.value=BigInt(t);return}}catch{}throw new me(`Invalid number literal ${t}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(co,"NumberLiteral");var _e=co;import{omitUndefined as Xp}from"@jsopen/objects";import{asMutable as Zp}from"ts-gems";import{asMutable as Yp}from"ts-gems";import{uid as Gp}from"uid";var Ra;Ra=L;var lo=class lo{constructor(e,t){p(this,Ra);p(this,"_document");p(this,"parent");p(this,"element");this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Re])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[L])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(y,e).name;else if(typeof e=="object"){let n=e[y];if(!n)throw new TypeError(`OPRA Metadata not found for data type (${e})`);i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getArrayType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ArrayType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a UnionType`)}};a(lo,"DocumentNode");var qr=lo;var w=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Yp(this);e.id=Gp(16),Object.defineProperty(e,"node",{value:new qr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),mo=class mo{};a(mo,"DocumentElementClass");var fo=mo;w.prototype=fo.prototype;var uo=class uo extends Te{constructor(){super("");p(this,"details",[])}add(t){return this.details.push(t),this}};a(uo,"OpraDocumentError");var Tt=uo;var ho=class ho{constructor(e){p(this,"path","");p(this,"error",new Tt);p(this,"maxErrors");p(this,"showErrorDetails",!0);this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message=""}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(ho,"DocumentInitContext");var ue=ho;var Ne=Symbol.for("nodejs.util.inspect.custom"),ge="\x1B[0m",Se="\x1B[33m",Me="\x1B[35m";function cr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(cr,"testScopeMatch");var g=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!C.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);w.call(this,o);let r=Zp(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),To=class To extends w{get embedded(){return!this.name}inScope(e){return cr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return Xp({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[Ne](){return`[${Se+Object.getPrototypeOf(this).constructor.name+ge} ${Me+this.name+ge}]`}};a(To,"DataTypeClass");var yo=To;g.prototype=yo.prototype;var Eo=class Eo extends k{constructor(e){super(""+e)}};a(Eo,"QualifiedIdentifier");var Z=Eo;var xo=class xo extends k{constructor(e){super(""+e)}toString(){return be(this.value)}};a(xo,"StringLiteral");var Ge=xo;var Hp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,_o=class _o extends k{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=Kr(t.getHours())+":"+Kr(t.getMinutes())+(t.getSeconds()?":"+Kr(t.getSeconds()):"")+(t.getMilliseconds()?"."+Kr(t.getMilliseconds()):"");return}if(typeof t=="string"&&Hp.test(t)){this.value=t;return}throw new me(`Invalid time value "${t}"`)}toString(){return be(this.value)}};a(_o,"TimeLiteral");var Xe=_o;function Kr(o){return o<=9?"0"+o:""+o}a(Kr,"pad");import{CharStream as hc,CommonTokenStream as yc}from"@browsery/antlr4";import{ATNDeserializer as ec,DFA as tc,Lexer as rc,LexerATNSimulator as ic,PredictionContextCache as oc,Token as nc}from"@browsery/antlr4";var h=class h extends rc{constructor(e){super(e),this._interp=new ic(this,h._ATN,h.DecisionsToDFA,new oc)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return h.literalNames}get symbolicNames(){return h.symbolicNames}get ruleNames(){return h.ruleNames}get serializedATN(){return h._serializedATN}get channelNames(){return h.channelNames}get modeNames(){return h.modeNames}static get _ATN(){return h.__ATN||(h.__ATN=new ec().deserialize(h._serializedATN)),h.__ATN}};a(h,"OpraFilterLexer"),p(h,"T__0",1),p(h,"T__1",2),p(h,"T__2",3),p(h,"T__3",4),p(h,"T__4",5),p(h,"T__5",6),p(h,"T__6",7),p(h,"T__7",8),p(h,"T__8",9),p(h,"T__9",10),p(h,"T__10",11),p(h,"T__11",12),p(h,"T__12",13),p(h,"T__13",14),p(h,"T__14",15),p(h,"T__15",16),p(h,"T__16",17),p(h,"T__17",18),p(h,"T__18",19),p(h,"T__19",20),p(h,"T__20",21),p(h,"T__21",22),p(h,"T__22",23),p(h,"T__23",24),p(h,"T__24",25),p(h,"T__25",26),p(h,"T__26",27),p(h,"T__27",28),p(h,"T__28",29),p(h,"T__29",30),p(h,"T__30",31),p(h,"T__31",32),p(h,"T__32",33),p(h,"T__33",34),p(h,"IDENTIFIER",35),p(h,"POLAR_OP",36),p(h,"DATE",37),p(h,"DATETIME",38),p(h,"TIME",39),p(h,"NUMBER",40),p(h,"INTEGER",41),p(h,"STRING",42),p(h,"WHITESPACE",43),p(h,"EOF",nc.EOF),p(h,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),p(h,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(h,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"]),p(h,"modeNames",["DEFAULT_MODE"]),p(h,"ruleNames",["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"]),p(h,"_serializedATN",[4,0,43,461,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,491,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0]),p(h,"__ATN"),p(h,"DecisionsToDFA",h._ATN.decisionToState.map((e,t)=>new tc(e,t)));var lr=h;import{ATN as ba,ATNDeserializer as sc,DFA as ac,FailedPredicateException as pc,NoViableAltException as go,Parser as cc,ParserATNSimulator as lc,ParserRuleContext as K,PredictionContextCache as fc,RecognitionException as q,Token as mc}from"@browsery/antlr4";var f=class f extends cc{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return f.literalNames}get symbolicNames(){return f.symbolicNames}get ruleNames(){return f.ruleNames}get serializedATN(){return f._serializedATN}createFailedPredicateException(e,t){return new pc(this,e,t)}constructor(e){super(e),this._interp=new lc(this,f._ATN,f.DecisionsToDFA,new fc)}root(){let e=new Oo(this,this._ctx,this.state);this.enterRule(e,0,f.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(f.EOF)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new G(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,f.RULE_expression,e);let c;try{let l;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new Ro(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new Ao(this,i),this._ctx=i,n=i,this.state=42,this.match(f.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(f.T__1);break;case 3:case 4:i=new wo(this,i),this._ctx=i,n=i,this.state=46,c=this._input.LA(1),c===3||c===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new go(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx);l!==2&&l!==ba.INVALID_ALT_NUMBER;){if(l===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new fr(this,new G(this,t,r)),this.pushNewRecursionContext(i,s,f.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(l){if(l instanceof q)i.exception=l,this._errHandler.reportError(this,l),this._errHandler.recover(this,l);else throw l}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new Vr(this,this._ctx,this.state);this.enterRule(e,4,f.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new Wr(this,this._ctx,this.state);this.enterRule(e,6,f.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new go(this)}}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new zr(this,this._ctx,this.state);this.enterRule(e,8,f.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new Y(this,this._ctx,this.state);this.enterRule(e,10,f.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new Lo(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(f.NUMBER);break;case 13:case 14:e=new vo(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new Io(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Do(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new No(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(f.DATETIME);break;case 37:e=new Mo(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(f.DATE);break;case 39:e=new bo(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(f.TIME);break;case 42:e=new So(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(f.STRING);break;default:throw new go(this)}}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new mr(this,this._ctx,this.state);this.enterRule(e,12,f.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==ba.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(f.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new Jr(this,this._ctx,this.state);this.enterRule(e,14,f.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(f.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new Et(this,this._ctx,this.state);this.enterRule(e,16,f.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(f.IDENTIFIER)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new Qr(this,this._ctx,this.state);this.enterRule(e,18,f.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(f.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(f.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(f.T__8)}}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new Yr(this,this._ctx,this.state);this.enterRule(e,20,f.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new Gr(this,this._ctx,this.state);this.enterRule(e,22,f.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(f.T__11)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new Xr(this,this._ctx,this.state);this.enterRule(e,24,f.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new Po(this,this._ctx,this.state);this.enterRule(e,26,f.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new Zr(this,this._ctx,this.state);this.enterRule(e,28,f.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new Hr(this,this._ctx,this.state);this.enterRule(e,30,f.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new ko(this,this._ctx,this.state);this.enterRule(e,32,f.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(f.POLAR_OP)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){return t===1?this.expression_sempred(e,r):!0}expression_sempred(e,t){return t===0?this.precpred(this._ctx,3):!0}static get _ATN(){return f.__ATN||(f.__ATN=new sc().deserialize(f._serializedATN)),f.__ATN}};a(f,"OpraFilterParser"),p(f,"T__0",1),p(f,"T__1",2),p(f,"T__2",3),p(f,"T__3",4),p(f,"T__4",5),p(f,"T__5",6),p(f,"T__6",7),p(f,"T__7",8),p(f,"T__8",9),p(f,"T__9",10),p(f,"T__10",11),p(f,"T__11",12),p(f,"T__12",13),p(f,"T__13",14),p(f,"T__14",15),p(f,"T__15",16),p(f,"T__16",17),p(f,"T__17",18),p(f,"T__18",19),p(f,"T__19",20),p(f,"T__20",21),p(f,"T__21",22),p(f,"T__22",23),p(f,"T__23",24),p(f,"T__24",25),p(f,"T__25",26),p(f,"T__26",27),p(f,"T__27",28),p(f,"T__28",29),p(f,"T__29",30),p(f,"T__30",31),p(f,"T__31",32),p(f,"T__32",33),p(f,"T__33",34),p(f,"IDENTIFIER",35),p(f,"POLAR_OP",36),p(f,"DATE",37),p(f,"DATETIME",38),p(f,"TIME",39),p(f,"NUMBER",40),p(f,"INTEGER",41),p(f,"STRING",42),p(f,"WHITESPACE",43),p(f,"EOF",mc.EOF),p(f,"RULE_root",0),p(f,"RULE_expression",1),p(f,"RULE_comparisonLeft",2),p(f,"RULE_comparisonRight",3),p(f,"RULE_parenthesizedItem",4),p(f,"RULE_value",5),p(f,"RULE_qualifiedIdentifier",6),p(f,"RULE_externalConstant",7),p(f,"RULE_identifier",8),p(f,"RULE_arrayValue",9),p(f,"RULE_boolean",10),p(f,"RULE_null",11),p(f,"RULE_infinity",12),p(f,"RULE_arithmeticOperator",13),p(f,"RULE_comparisonOperator",14),p(f,"RULE_logicalOperator",15),p(f,"RULE_polarityOperator",16),p(f,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(f,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"]),p(f,"ruleNames",["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"]),p(f,"_serializedATN",[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,38,0,0,74,78,5,37,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100]),p(f,"__ATN"),p(f,"DecisionsToDFA",f._ATN.decisionToState.map((e,t)=>new ac(e,t)));var N=f,Co=class Co extends K{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(G,0)}EOF(){return this.getToken(N.EOF,0)}get ruleIndex(){return N.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(Co,"RootContext");var Oo=Co,jo=class jo extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(jo,"ExpressionContext");var G=jo,Fo=class Fo extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(zr,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(Fo,"ParenthesizedExpressionContext");var Ao=Fo,Uo=class Uo extends G{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(G,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(Uo,"NegativeExpressionContext");var wo=Uo,$o=class $o extends G{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_left");p(this,"_operator");p(this,"_right");super.copyFrom(r)}comparisonLeft(){return this.getTypedRuleContext(Vr,0)}comparisonOperator(){return this.getTypedRuleContext(Zr,0)}comparisonRight(){return this.getTypedRuleContext(Wr,0)}enterRule(t){t.enterComparisonExpression&&t.enterComparisonExpression(this)}exitRule(t){t.exitComparisonExpression&&t.exitComparisonExpression(this)}accept(t){return t.visitComparisonExpression?t.visitComparisonExpression(this):t.visitChildren(this)}};a($o,"ComparisonExpressionContext");var Ro=$o,Bo=class Bo extends G{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_op");super.copyFrom(r)}expression_list(){return this.getTypedRuleContexts(G)}expression(t){return this.getTypedRuleContext(G,t)}logicalOperator(){return this.getTypedRuleContext(Hr,0)}enterRule(t){t.enterLogicalExpression&&t.enterLogicalExpression(this)}exitRule(t){t.exitLogicalExpression&&t.exitLogicalExpression(this)}accept(t){return t.visitLogicalExpression?t.visitLogicalExpression(this):t.visitChildren(this)}};a(Bo,"LogicalExpressionContext");var fr=Bo,qo=class qo extends K{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(mr,0)}get ruleIndex(){return N.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(qo,"ComparisonLeftContext");var Vr=qo,Ko=class Ko extends K{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(Y,0)}qualifiedIdentifier(){return this.getTypedRuleContext(mr,0)}externalConstant(){return this.getTypedRuleContext(Jr,0)}arrayValue(){return this.getTypedRuleContext(Qr,0)}get ruleIndex(){return N.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(Ko,"ComparisonRightContext");var Wr=Ko,Vo=class Vo extends K{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(G,0)}get ruleIndex(){return N.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(Vo,"ParenthesizedItemContext");var zr=Vo,Wo=class Wo extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_value}copyFrom(e){super.copyFrom(e)}};a(Wo,"ValueContext");var Y=Wo,zo=class zo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(N.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(zo,"TimeLiteralContext");var bo=zo,Jo=class Jo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Gr,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(Jo,"NullLiteralContext");var Do=Jo,Qo=class Qo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(N.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(Qo,"DateTimeLiteralContext");var No=Qo,Yo=class Yo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(N.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(Yo,"StringLiteralContext");var So=Yo,Go=class Go extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(N.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(Go,"DateLiteralContext");var Mo=Go,Xo=class Xo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Xr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(Xo,"InfinityLiteralContext");var vo=Xo,Zo=class Zo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Yr,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(Zo,"BooleanLiteralContext");var Io=Zo,Ho=class Ho extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(N.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(Ho,"NumberLiteralContext");var Lo=Ho,en=class en extends K{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Et)}identifier(e){return this.getTypedRuleContext(Et,e)}get ruleIndex(){return N.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(en,"QualifiedIdentifierContext");var mr=en,tn=class tn extends K{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Et,0)}get ruleIndex(){return N.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(tn,"ExternalConstantContext");var Jr=tn,rn=class rn extends K{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(N.IDENTIFIER,0)}get ruleIndex(){return N.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(rn,"IdentifierContext");var Et=rn,on=class on extends K{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(Y)}value(e){return this.getTypedRuleContext(Y,e)}get ruleIndex(){return N.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(on,"ArrayValueContext");var Qr=on,nn=class nn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(nn,"BooleanContext");var Yr=nn,sn=class sn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(sn,"NullContext");var Gr=sn,an=class an extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(an,"InfinityContext");var Xr=an,pn=class pn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(pn,"ArithmeticOperatorContext");var Po=pn,cn=class cn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(cn,"ComparisonOperatorContext");var Zr=cn,ln=class ln extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(ln,"LogicalOperatorContext");var Hr=ln,fn=class fn extends K{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(N.POLAR_OP,0)}get ruleIndex(){return N.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(fn,"PolarityOperatorContext");var ko=fn;import{ParseTreeVisitor as uc}from"@browsery/antlr4";import{ParseTreeVisitor as l1}from"@browsery/antlr4";var mn=class mn extends k{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(mn,"ExternalConstant");var ei=mn;var un=class un extends uc{constructor(t){super();p(this,"_timeZone");this._timeZone=t==null?void 0:t.timeZone}visitChildren(t){let r=super.visitChildren(t);return Array.isArray(r)&&r.length<2?r[0]:r??t.getText()}defaultResult(){}visitRoot(t){return this.visit(t.expression())}visitParenthesizedExpression(t){let r=this.visit(t.parenthesizedItem());return new xe(r)}visitParenthesizedItem(t){return this.visit(t.expression())}visitNegativeExpression(t){let r=this.visit(t.expression());return new sr(r)}visitComparisonExpression(t){return new le({op:t.comparisonOperator().getText(),left:this.visit(t.comparisonLeft()),right:this.visit(t.comparisonRight())})}visitLogicalExpression(t){let r=[],i=a((n,s)=>{for(let c of n){if(c instanceof fr&&c.logicalOperator().getText()===s){i(c.expression_list(),c.logicalOperator().getText());continue}let l=this.visit(c);r.push(l)}},"wrapChildren");return i(t.expression_list(),t.logicalOperator().getText()),new fe({op:t.logicalOperator().getText(),items:r})}visitQualifiedIdentifier(t){return new Z(t.getText())}visitExternalConstant(t){return new ei(t.identifier().getText())}visitNullLiteral(){return new Ye}visitBooleanLiteral(t){return new Qe(t.getText()==="true")}visitNumberLiteral(t){return new _e(t.getText())}visitStringLiteral(t){return new Ge(ar(t.getText()))}visitInfinityLiteral(){return new _e(1/0)}visitDateLiteral(t){return new De(ar(t.getText()))}visitDateTimeLiteral(t){return new pr(ar(t.getText()))}visitTimeLiteral(t){return new Xe(ar(t.getText()))}visitArrayValue(t){return new Ee(t.value_list().map(r=>this.visit(r)))}};a(un,"FilterTreeVisitor");var ur=un;import{ErrorListener as dc}from"@browsery/antlr4";var dn=class dn extends dc{constructor(t){super();p(this,"errors");this.errors=t}syntaxError(t,r,i,n,s,c){this.errors.push(new Br(s,{recognizer:t,offendingSymbol:r,line:i,column:n,e:c}))}};a(dn,"OpraErrorListener");var dr=dn;function hn(o,e){let t=new hc(o),r=new lr(t),i=new yc(r),n=new N(i);n.buildParseTrees=!0;let s=[],c=new dr(s);r.removeErrorListeners(),r.addErrorListener(c),n.removeErrorListeners(),n.addErrorListener(c);let l=n.root();if(s.length){let u=[];for(let O of s)u.push(O.message+(o.includes(`
6
+ var xi=Object.defineProperty;var Tp=(o,e,t)=>e in o?xi(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e)=>xi(o,"name",{value:e,configurable:!0});var Lr=(o,e)=>{for(var t in e)xi(o,t,{get:e[t],enumerable:!0})};var p=(o,e,t)=>Tp(o,typeof e!="symbol"?e+"":e,t);import"reflect-metadata";import"reflect-metadata";Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});import{omitUndefined as Tc}from"@jsopen/objects";import{isString as Ec}from"valgen";var ea;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(ea||(ea={}));import{omitUndefined as Rp}from"@jsopen/objects";import"@browsery/i18next";import _p from"@browsery/i18next";import{splitString as gp,tokenize as ia}from"fast-tokenizer";var Ep=/\\(.)/g,xp=/(\\)/g;function ta(o){return o.replace(xp,"\\\\")}a(ta,"escapeString");function ra(o){return o.replace(Ep,"$1")}a(ra,"unescapeString");var Op=Object.getPrototypeOf(_p.createInstance()).constructor,tr=class tr extends Op{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(c,l)=>c.toLocaleLowerCase(l)),s.add("uppercase",(c,l)=>c.toLocaleUpperCase(l)),s.add("upperFirst",(c,l)=>c.charAt(0).toLocaleUpperCase(l)+c.substring(1)),r!=null&&r.resources)for(let c of Object.keys(r.resources)){let l=r.resources[c];for(let u of Object.keys(l))this.addResourceBundle(c,u,l[u],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new tr(e,t)}static createInstance(e,t){return new tr(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of ia(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=gp(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),c=ra(n.substring((s[0]||"").length+1));n=s[0]||"";let l=[],u=null;for(let O of ia(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(O.startsWith("{")){u=JSON.parse(O);continue}l.push(O)}let E=l.length>1?"$t("+l.join(",")+")":l[0];i+=c?this.t(E,c,{...r,...u}):this.t(E,{...r,...u});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,c=n.length;s<c;s++){let l=n[s];i[l]=this._deepTranslate(e[l],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return Ap}};a(tr,"I18n");var rr=tr,Ap=rr.createInstance();var wp=/(\))/g;function Hf(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+ta(i).replace(wp,"\\$1"):"")+")"}a(Hf,"translate");var _i=rr.createInstance();_i.init().catch(()=>{});var gi=class gi extends Error{constructor(t,r){super("Unknown error");p(this,"cause");p(this,"severity","error");p(this,"system");p(this,"code");p(this,"details");r=r||(t instanceof Error?t:void 0),t instanceof Error&&(r=t),r&&r instanceof Error&&(this.cause=r,r.stack&&(this.stack=r.stack)),typeof t=="string"?this.initString(t):t instanceof Error?this.initError(t):this.init(t),this.message=this.message||this.constructor.name}toString(){return _i.deep(this.message)}toJSON(){return Rp({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:this.stack},!0)}init(t){this.message=(t==null?void 0:t.message)||this.constructor.name,this.severity=(t==null?void 0:t.severity)||"error",t&&(this.system=t.system,this.code=t.code,this.details=t.details)}initString(t){this.init({message:String(t||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(t){let r="production";this.init({message:t.message,severity:t.severity||"error",code:t.code||t.constructor.name,stack:r==="dev"||r==="development"||r==="test"?t.stack:void 0})}};a(gi,"OpraException");var Te=gi;var Oi=class Oi extends Te{constructor(t,r,i){super(t,r instanceof Error?r:void 0);p(this,"status");this.status=(typeof r=="number"?r:Number(i))||500}setStatus(t){return this.status=t,this}initError(t){typeof t.status=="number"?this.status=t.status:typeof t.getStatus=="function"&&(this.status=t.getStatus()),super.initError(t)}};a(Oi,"OpraHttpError");var v=Oi;var Ai=class Ai extends v{constructor(){super(...arguments);p(this,"status",400)}init(t){super.init({message:"Bad request",code:"BAD_REQUEST",...t})}};a(Ai,"BadRequestError");var oa=Ai;var wi=class wi extends v{constructor(){super(...arguments);p(this,"status",409)}init(t){super.init({message:"Conflict",code:"CONFLICT",...t})}};a(wi,"ConflictError");var na=wi;var Ri=class Ri extends v{constructor(){super(...arguments);p(this,"status",424)}init(t){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...t})}};a(Ri,"FailedDependencyError");var sa=Ri;var aa;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(aa||(aa={}));var R;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(R||(R={}));var bm={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var b;(function(o){o.json="application/json",o.xml="application/xml",o.yaml="text/yaml",o.yaml2="application/yaml",o.toml="text/toml",o.toml2="application/toml",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream",o.opra_response_json="application/opra.response+json",o.opra_response_xml="application/opra.response+xml",o.opra_response_yaml="text/opra.response+yaml",o.opra_response_toml="text/opra.response+toml"})(b||(b={}));var bi=class bi extends v{constructor(){super(...arguments);p(this,"status",R.FORBIDDEN)}init(t){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...t})}};a(bi,"ForbiddenError");var Pr=bi;var Di=class Di extends v{constructor(){super(...arguments);p(this,"status",500)}init(t){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...t})}};a(Di,"InternalServerError");var pa=Di;var Ni=class Ni extends v{constructor(){super(...arguments);p(this,"status",405)}init(t){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...t})}};a(Ni,"MethodNotAllowedError");var ca=Ni;var Si=class Si extends v{constructor(){super(...arguments);p(this,"status",406)}init(t){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...t})}};a(Si,"NotAcceptableError");var la=Si;var Mi=class Mi extends v{constructor(){super(...arguments);p(this,"status",404)}init(t){super.init({message:"Not found",code:"NOT_FOUND",...t})}};a(Mi,"NotFoundError");var fa=Mi;var vi=class vi extends Pr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(vi,"PermissionError");var ma=vi;var Ii=class Ii extends v{constructor(t,r,i){super({message:`There is already an other "${t}" resource with same values for field(s) [${r}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:t,location:r}},i);p(this,"status",409)}};a(Ii,"ResourceConflictError");var ua=Ii;var Li=class Li extends v{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,R.UNPROCESSABLE_ENTITY)}};a(Li,"ResourceNotAvailableError");var da=Li;var Pi=class Pi extends v{constructor(){super(...arguments);p(this,"status",401)}init(t){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...t})}};a(Pi,"UnauthorizedError");var ha=Pi;var ki=class ki extends v{constructor(){super(...arguments);p(this,"status",422)}init(t){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...t})}};a(ki,"UnprocessableEntityError");var ya=ki;BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});import{isConstructor as bp}from"@jsopen/objects";import Dp from"putil-promisify";async function Z(o){return o=Dp.isPromise(o)?await o:o,typeof o=="function"?bp(o)?o:await o():o}a(Z,"resolveThunk");var Ta=/^(?:file:\/\/)?(.+)$/;function Pu(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ta.exec(r):void 0;return i?i[1]:""}return""}a(Pu,"getStackFileName");function ku(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Ta.exec(r):void 0;return i?i[1]:""}return""}a(ku,"getErrorStack");function kr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(kr,"mergePrototype");function Cr(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(Cr,"inheritPropertyInitializers");import{isPlainObject as xa,merge as Np}from"@jsopen/objects";var y=Symbol.for("opra.type.metadata"),se=Symbol("opra.http-controller.metadata"),ae=Symbol("opra.mq-controller.metadata"),pe=Symbol("opra.ws-controller.metadata"),ir=Symbol("opra.ws-param.metadata"),$u=Symbol("opra.rpc-controller.metadata"),T=Symbol.for("opra.type.decoder"),_=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Ve=Symbol.for("BUILTIN"),Ea=/([a-z$_]\w+):(.+)/i,j=/^[a-z][\w_]*$/i,P=Symbol.for("kDataTypeMap"),jr=Symbol.for("kCtorMap"),Re=Symbol.for("kTypeNSMap");function k(o,e){return Np({},o,{deep:a(t=>xa(t)&&!t[y],"deep"),symbolKeys:!0,copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||xa(i)||Array.isArray(i))}})}a(k,"cloneObject");import{splitString as _a}from"fast-tokenizer";var Sp=/^([+-])?([a-z_$]\w*)$/i,Mp=/[^.]\(/g,Ci=class Ci{};a(Ci,"FieldsProjection");var We=Ci;(function(o){let t=class t{constructor(){p(this,"sign");p(this,"projection")}};a(t,"Item");let e=t;o.Item=e})(We||(We={}));function ga(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new We;for(let i of t)e||(i=i.toLowerCase()),Oa(i,r);return r}a(ga,"parseFieldsProjection");function Oa(o,e){o=o.replace(Mp,r=>r.charAt(0)+"."+r.substring(1));let t=_a(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let l=_a(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let u of l)Oa(u,e);continue}let n=Sp.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],c=e[s]=e[s]||new We.Item;n[1]&&(c.sign=n[1]),r===t.length-1?delete c.projection:e=c.projection=c.projection||new We}}a(Oa,"parse");function vp(o){return o&&typeof o.forEach=="function"}a(vp,"isMap");var Q=Symbol.for("kEntries"),ce=Symbol.for("kKeyMap"),Fr=Symbol.for("kWellKnownKeys"),ji=Symbol.for("kOptions"),ct=Symbol.for("kSize"),Fi=class Fi{constructor(e,t){Object.defineProperty(this,ct,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,Q,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ce,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Fr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,ji,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Fr][i]=i:this[Fr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[ct]}clear(){Object.keys(this[Q]).forEach(e=>delete this[Q][e]),Object.keys(this[ce]).forEach(e=>delete this[ce][e]),this[ct]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[Q][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[Q],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[Q],r);return this[Q][r]=t,i||this[ct]++,this[ce][r]=e,this}setAll(e){return vp(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[ce])[Symbol.iterator]()}values(){return Object.values(this[Q])[Symbol.iterator]()}entries(){return Object.entries(this[Q])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[Q],t);return delete this[Q][t],delete this[ce][t],r||this[ct]--,r}sort(e){let t={...this[Q]},r={...this[ce]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[Q][n]=t[n],this[ce][n]=r[n];return this[ct]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[ce]))e[r]=this[Q][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[ji].caseSensitive)return e;let t=this._getStoringKey(e);return this[ce][t]??this[Fr][t]??e}_getStoringKey(e){return this[ji].caseSensitive?e:e.toLowerCase()}};a(Fi,"ResponsiveMap");var S=Fi;function Xu(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(Xu,"safeJsonStringify");import"@browsery/stream";function Ui(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Ui,"isStream");function id(o){return Ui(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(id,"isReadable");function od(o){return Ui(o)&&typeof o._write=="function"}a(od,"isWritable");function nd(o){return Ui(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(nd,"isReadableStream");function sd(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(sd,"isBlob");function ad(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(ad,"isFormData");function pd(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(pd,"isURL");var m={};Lr(m,{ArrayType:()=>lt,ComplexType:()=>ft,EnumType:()=>mt,HttpController:()=>or,HttpOperation:()=>$i,MQController:()=>Bi,MQOperation:()=>qi,MappedType:()=>ut,MixinType:()=>dt,SimpleType:()=>ht,SpecVersion:()=>gd,UnionType:()=>yt,WSController:()=>Ki,WSOperation:()=>Vi,isArrayType:()=>Up,isComplexType:()=>Lp,isDataType:()=>Ip,isEnumType:()=>jp,isHttpController:()=>$p,isMappedType:()=>Cp,isMixinType:()=>kp,isSimpleType:()=>Pp,isUnionType:()=>Fp});var gd="1.0";var lt;(function(o){o.Kind="ArrayType"})(lt||(lt={}));var ft;(function(o){o.Kind="ComplexType"})(ft||(ft={}));var mt;(function(o){o.Kind="EnumType"})(mt||(mt={}));var ut;(function(o){o.Kind="MappedType"})(ut||(ut={}));var dt;(function(o){o.Kind="MixinType"})(dt||(dt={}));var ht;(function(o){o.Kind="SimpleType"})(ht||(ht={}));var yt;(function(o){o.Kind="UnionType"})(yt||(yt={}));var or;(function(o){o.Kind="HttpController"})(or||(or={}));var $i;(function(o){o.Kind="HttpOperation"})($i||($i={}));var Bi;(function(o){o.Kind="MQController"})(Bi||(Bi={}));var qi;(function(o){o.Kind="MQOperation"})(qi||(qi={}));function Ip(o){return o&&typeof o=="object"&&(o.kind===lt.Kind||o.kind===ft.Kind||o.kind===mt.Kind||o.kind===ut.Kind||o.kind===ht.Kind||o.kind===dt.Kind||o.kind===yt.Kind)}a(Ip,"isDataType");function Lp(o){return o&&typeof o=="object"&&o.kind===ft.Kind}a(Lp,"isComplexType");function Pp(o){return o&&typeof o=="object"&&o.kind===ht.Kind}a(Pp,"isSimpleType");function kp(o){return o&&typeof o=="object"&&o.kind===dt.Kind}a(kp,"isMixinType");function Cp(o){return o&&typeof o=="object"&&o.kind===ut.Kind}a(Cp,"isMappedType");function jp(o){return o&&typeof o=="object"&&o.kind===mt.Kind}a(jp,"isEnumType");function Fp(o){return o&&typeof o=="object"&&o.kind===yt.Kind}a(Fp,"isUnionType");function Up(o){return o&&typeof o=="object"&&o.kind===lt.Kind}a(Up,"isArrayType");function $p(o){return o&&typeof o=="object"&&o.kind===or.Kind}a($p,"isHttpController");var Ki;(function(o){o.Kind="WSController"})(Ki||(Ki={}));var Vi;(function(o){o.Kind="WSOperation"})(Vi||(Vi={}));var Wi=class Wi{constructor(){p(this,"kind");this.kind=Object.getPrototypeOf(this).constructor.name}};a(Wi,"Ast");var nr=Wi;var zi=class zi extends nr{};a(zi,"Expression");var B=zi;var Ji=class Ji extends B{};a(Ji,"Term");var ze=Ji;var Qi=class Qi extends ze{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Qi,"Literal");var C=Qi;var Yi=class Yi extends B{constructor(){super();p(this,"items",[])}append(t,r){return this.items.push(new Ur({op:t,expression:r})),this}toString(){return this.items.map((t,r)=>(r>0?t.op:"")+t.expression).join("")}};a(Yi,"ArithmeticExpression");var Je=Yi,Gi=class Gi{constructor(e){p(this,"op");p(this,"expression");Object.assign(this,e)}};a(Gi,"ArithmeticExpressionItem");var Ur=Gi;var Xi=class Xi extends ze{constructor(t){super();p(this,"items");this.items=t}toString(){return"["+this.items.map(t=>""+t).join(",")+"]"}};a(Xi,"ArrayExpression");var Ee=Xi;var Bp=/\w/,Zi=class Zi extends B{constructor(t){super();p(this,"op");p(this,"left");p(this,"right");p(this,"prepare");Object.assign(this,t)}toString(){return`${this.left}${Bp.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Zi,"ComparisonExpression");var le=Zi;var Hi=class Hi extends B{constructor(t){super();p(this,"op");p(this,"items");Object.assign(this,t),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(t=>""+t).join(" "+this.op+" ")}};a(Hi,"LogicalExpression");var fe=Hi;var eo=class eo extends B{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(eo,"NegativeExpression");var sr=eo;var to=class to extends B{constructor(t){super();p(this,"expression");this.expression=t}toString(){return`(${this.expression})`}};a(to,"ParenthesizedExpression");var xe=to;var ro=class ro extends C{constructor(e){super(e)}};a(ro,"BooleanLiteral");var Qe=ro;import{toDateDef as Jp}from"putil-varhelpers";import"@browsery/antlr4";var io=class io extends TypeError{};a(io,"SyntaxError");var $r=io,oo=class oo extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(oo,"FilterValidationError");var me=oo,no=class no extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(no,"FilterParseError");var Br=no;var qp=/'/g,Kp=/(\\)/g,Vp=/\\(.)/g;function Wp(o){return o.replace(Kp,"\\\\")}a(Wp,"escapeString");function zp(o){return o.replace(Vp,"$1")}a(zp,"unescapeString");function be(o){return"'"+Wp(o).replace(qp,"\\'")+"'"}a(be,"quoteFilterString");function ar(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?zp(o.substring(1,o.length-1)):o}a(ar,"unquoteFilterString");var Aa=new Date(0),so=class so extends C{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Jp(t,Aa)!==Aa){this.value=t;return}throw new me(`Invalid date value "${t}"`)}toString(){return be(this.value)}};a(so,"DateLiteral");var De=so;import{toDateDef as Qp}from"putil-varhelpers";var wa=new Date(0),ao=class ao extends C{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=t.toISOString();return}if(typeof t=="string"&&Qp(t,wa)!==wa){this.value=t;return}throw new me(`Invalid date-time value "${t}"`)}toString(){return be(this.value)}};a(ao,"DateTimeLiteral");var pr=ao;var po=class po extends C{constructor(){super(null);p(this,"value",null)}};a(po,"NullLiteral");var Ye=po;var co=class co extends C{constructor(t){super(0);p(this,"value");if(typeof t=="number"||typeof t=="bigint"){this.value=t;return}try{if(typeof t=="string"){if(t.includes(".")){this.value=parseFloat(t);return}let r=Number(t);""+r===t?this.value=r:this.value=BigInt(t);return}}catch{}throw new me(`Invalid number literal ${t}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(co,"NumberLiteral");var _e=co;import{omitUndefined as Xp}from"@jsopen/objects";import{asMutable as Zp}from"ts-gems";import{asMutable as Yp}from"ts-gems";import{uid as Gp}from"uid";var Ra;Ra=P;var lo=class lo{constructor(e,t){p(this,Ra);p(this,"_document");p(this,"parent");p(this,"element");this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[Re])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[P])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(y,e).name;else if(typeof e=="object"){let n=e[y];if(!n)throw new TypeError(`OPRA Metadata not found for data type (${e})`);i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getArrayType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ArrayType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a UnionType`)}};a(lo,"DocumentNode");var qr=lo;var w=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=Yp(this);e.id=Gp(16),Object.defineProperty(e,"node",{value:new qr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),mo=class mo{};a(mo,"DocumentElementClass");var fo=mo;w.prototype=fo.prototype;var uo=class uo extends Te{constructor(){super("");p(this,"details",[])}add(t){return this.details.push(t),this}};a(uo,"OpraDocumentError");var Tt=uo;var ho=class ho{constructor(e){p(this,"path","");p(this,"error",new Tt);p(this,"maxErrors");p(this,"showErrorDetails",!0);this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message=""}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(ho,"DocumentInitContext");var ue=ho;var Ne=Symbol.for("nodejs.util.inspect.custom"),ge="\x1B[0m",Se="\x1B[33m",Me="\x1B[35m";function cr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(cr,"testScopeMatch");var g=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!j.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);w.call(this,o);let r=Zp(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),To=class To extends w{get embedded(){return!this.name}inScope(e){return cr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return Xp({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[Ne](){return`[${Se+Object.getPrototypeOf(this).constructor.name+ge} ${Me+this.name+ge}]`}};a(To,"DataTypeClass");var yo=To;g.prototype=yo.prototype;var Eo=class Eo extends C{constructor(e){super(""+e)}};a(Eo,"QualifiedIdentifier");var H=Eo;var xo=class xo extends C{constructor(e){super(""+e)}toString(){return be(this.value)}};a(xo,"StringLiteral");var Ge=xo;var Hp=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,_o=class _o extends C{constructor(t){super("");p(this,"value");if(t instanceof Date){this.value=Kr(t.getHours())+":"+Kr(t.getMinutes())+(t.getSeconds()?":"+Kr(t.getSeconds()):"")+(t.getMilliseconds()?"."+Kr(t.getMilliseconds()):"");return}if(typeof t=="string"&&Hp.test(t)){this.value=t;return}throw new me(`Invalid time value "${t}"`)}toString(){return be(this.value)}};a(_o,"TimeLiteral");var Xe=_o;function Kr(o){return o<=9?"0"+o:""+o}a(Kr,"pad");import{CharStream as hc,CommonTokenStream as yc}from"@browsery/antlr4";import{ATNDeserializer as ec,DFA as tc,Lexer as rc,LexerATNSimulator as ic,PredictionContextCache as oc,Token as nc}from"@browsery/antlr4";var h=class h extends rc{constructor(e){super(e),this._interp=new ic(this,h._ATN,h.DecisionsToDFA,new oc)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return h.literalNames}get symbolicNames(){return h.symbolicNames}get ruleNames(){return h.ruleNames}get serializedATN(){return h._serializedATN}get channelNames(){return h.channelNames}get modeNames(){return h.modeNames}static get _ATN(){return h.__ATN||(h.__ATN=new ec().deserialize(h._serializedATN)),h.__ATN}};a(h,"OpraFilterLexer"),p(h,"T__0",1),p(h,"T__1",2),p(h,"T__2",3),p(h,"T__3",4),p(h,"T__4",5),p(h,"T__5",6),p(h,"T__6",7),p(h,"T__7",8),p(h,"T__8",9),p(h,"T__9",10),p(h,"T__10",11),p(h,"T__11",12),p(h,"T__12",13),p(h,"T__13",14),p(h,"T__14",15),p(h,"T__15",16),p(h,"T__16",17),p(h,"T__17",18),p(h,"T__18",19),p(h,"T__19",20),p(h,"T__20",21),p(h,"T__21",22),p(h,"T__22",23),p(h,"T__23",24),p(h,"T__24",25),p(h,"T__25",26),p(h,"T__26",27),p(h,"T__27",28),p(h,"T__28",29),p(h,"T__29",30),p(h,"T__30",31),p(h,"T__31",32),p(h,"T__32",33),p(h,"T__33",34),p(h,"IDENTIFIER",35),p(h,"POLAR_OP",36),p(h,"DATE",37),p(h,"DATETIME",38),p(h,"TIME",39),p(h,"NUMBER",40),p(h,"INTEGER",41),p(h,"STRING",42),p(h,"WHITESPACE",43),p(h,"EOF",nc.EOF),p(h,"channelNames",["DEFAULT_TOKEN_CHANNEL","HIDDEN"]),p(h,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(h,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"]),p(h,"modeNames",["DEFAULT_MODE"]),p(h,"ruleNames",["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"]),p(h,"_serializedATN",[4,0,43,461,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,491,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0]),p(h,"__ATN"),p(h,"DecisionsToDFA",h._ATN.decisionToState.map((e,t)=>new tc(e,t)));var lr=h;import{ATN as ba,ATNDeserializer as sc,DFA as ac,FailedPredicateException as pc,NoViableAltException as go,Parser as cc,ParserATNSimulator as lc,ParserRuleContext as K,PredictionContextCache as fc,RecognitionException as q,Token as mc}from"@browsery/antlr4";var f=class f extends cc{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return f.literalNames}get symbolicNames(){return f.symbolicNames}get ruleNames(){return f.ruleNames}get serializedATN(){return f._serializedATN}createFailedPredicateException(e,t){return new pc(this,e,t)}constructor(e){super(e),this._interp=new lc(this,f._ATN,f.DecisionsToDFA,new fc)}root(){let e=new Oo(this,this._ctx,this.state);this.enterRule(e,0,f.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(f.EOF)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new X(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,f.RULE_expression,e);let c;try{let l;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new Ro(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new Ao(this,i),this._ctx=i,n=i,this.state=42,this.match(f.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(f.T__1);break;case 3:case 4:i=new wo(this,i),this._ctx=i,n=i,this.state=46,c=this._input.LA(1),c===3||c===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new go(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx);l!==2&&l!==ba.INVALID_ALT_NUMBER;){if(l===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new fr(this,new X(this,t,r)),this.pushNewRecursionContext(i,s,f.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),l=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(l){if(l instanceof q)i.exception=l,this._errHandler.reportError(this,l),this._errHandler.recover(this,l);else throw l}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new Vr(this,this._ctx,this.state);this.enterRule(e,4,f.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new Wr(this,this._ctx,this.state);this.enterRule(e,6,f.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new go(this)}}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new zr(this,this._ctx,this.state);this.enterRule(e,8,f.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new Y(this,this._ctx,this.state);this.enterRule(e,10,f.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new Lo(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(f.NUMBER);break;case 13:case 14:e=new vo(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new Io(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Do(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new No(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(f.DATETIME);break;case 37:e=new Mo(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(f.DATE);break;case 39:e=new bo(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(f.TIME);break;case 42:e=new So(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(f.STRING);break;default:throw new go(this)}}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new mr(this,this._ctx,this.state);this.enterRule(e,12,f.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==ba.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(f.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new Jr(this,this._ctx,this.state);this.enterRule(e,14,f.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(f.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new Et(this,this._ctx,this.state);this.enterRule(e,16,f.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(f.IDENTIFIER)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new Qr(this,this._ctx,this.state);this.enterRule(e,18,f.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(f.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(f.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(f.T__8)}}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new Yr(this,this._ctx,this.state);this.enterRule(e,20,f.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new Gr(this,this._ctx,this.state);this.enterRule(e,22,f.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(f.T__11)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new Xr(this,this._ctx,this.state);this.enterRule(e,24,f.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new Po(this,this._ctx,this.state);this.enterRule(e,26,f.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new Zr(this,this._ctx,this.state);this.enterRule(e,28,f.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new Hr(this,this._ctx,this.state);this.enterRule(e,30,f.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof q)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new ko(this,this._ctx,this.state);this.enterRule(e,32,f.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(f.POLAR_OP)}catch(t){if(t instanceof q)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){return t===1?this.expression_sempred(e,r):!0}expression_sempred(e,t){return t===0?this.precpred(this._ctx,3):!0}static get _ATN(){return f.__ATN||(f.__ATN=new sc().deserialize(f._serializedATN)),f.__ATN}};a(f,"OpraFilterParser"),p(f,"T__0",1),p(f,"T__1",2),p(f,"T__2",3),p(f,"T__3",4),p(f,"T__4",5),p(f,"T__5",6),p(f,"T__6",7),p(f,"T__7",8),p(f,"T__8",9),p(f,"T__9",10),p(f,"T__10",11),p(f,"T__11",12),p(f,"T__12",13),p(f,"T__13",14),p(f,"T__14",15),p(f,"T__15",16),p(f,"T__16",17),p(f,"T__17",18),p(f,"T__18",19),p(f,"T__19",20),p(f,"T__20",21),p(f,"T__21",22),p(f,"T__22",23),p(f,"T__23",24),p(f,"T__24",25),p(f,"T__25",26),p(f,"T__26",27),p(f,"T__27",28),p(f,"T__28",29),p(f,"T__29",30),p(f,"T__30",31),p(f,"T__31",32),p(f,"T__32",33),p(f,"T__33",34),p(f,"IDENTIFIER",35),p(f,"POLAR_OP",36),p(f,"DATE",37),p(f,"DATETIME",38),p(f,"TIME",39),p(f,"NUMBER",40),p(f,"INTEGER",41),p(f,"STRING",42),p(f,"WHITESPACE",43),p(f,"EOF",mc.EOF),p(f,"RULE_root",0),p(f,"RULE_expression",1),p(f,"RULE_comparisonLeft",2),p(f,"RULE_comparisonRight",3),p(f,"RULE_parenthesizedItem",4),p(f,"RULE_value",5),p(f,"RULE_qualifiedIdentifier",6),p(f,"RULE_externalConstant",7),p(f,"RULE_identifier",8),p(f,"RULE_arrayValue",9),p(f,"RULE_boolean",10),p(f,"RULE_null",11),p(f,"RULE_infinity",12),p(f,"RULE_arithmeticOperator",13),p(f,"RULE_comparisonOperator",14),p(f,"RULE_logicalOperator",15),p(f,"RULE_polarityOperator",16),p(f,"literalNames",[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"]),p(f,"symbolicNames",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"]),p(f,"ruleNames",["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"]),p(f,"_serializedATN",[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,38,0,0,74,78,5,37,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100]),p(f,"__ATN"),p(f,"DecisionsToDFA",f._ATN.decisionToState.map((e,t)=>new ac(e,t)));var N=f,Co=class Co extends K{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(X,0)}EOF(){return this.getToken(N.EOF,0)}get ruleIndex(){return N.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(Co,"RootContext");var Oo=Co,jo=class jo extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(jo,"ExpressionContext");var X=jo,Fo=class Fo extends X{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(zr,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(Fo,"ParenthesizedExpressionContext");var Ao=Fo,Uo=class Uo extends X{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(X,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(Uo,"NegativeExpressionContext");var wo=Uo,$o=class $o extends X{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_left");p(this,"_operator");p(this,"_right");super.copyFrom(r)}comparisonLeft(){return this.getTypedRuleContext(Vr,0)}comparisonOperator(){return this.getTypedRuleContext(Zr,0)}comparisonRight(){return this.getTypedRuleContext(Wr,0)}enterRule(t){t.enterComparisonExpression&&t.enterComparisonExpression(this)}exitRule(t){t.exitComparisonExpression&&t.exitComparisonExpression(this)}accept(t){return t.visitComparisonExpression?t.visitComparisonExpression(this):t.visitChildren(this)}};a($o,"ComparisonExpressionContext");var Ro=$o,Bo=class Bo extends X{constructor(t,r){super(t,r.parentCtx,r.invokingState);p(this,"_op");super.copyFrom(r)}expression_list(){return this.getTypedRuleContexts(X)}expression(t){return this.getTypedRuleContext(X,t)}logicalOperator(){return this.getTypedRuleContext(Hr,0)}enterRule(t){t.enterLogicalExpression&&t.enterLogicalExpression(this)}exitRule(t){t.exitLogicalExpression&&t.exitLogicalExpression(this)}accept(t){return t.visitLogicalExpression?t.visitLogicalExpression(this):t.visitChildren(this)}};a(Bo,"LogicalExpressionContext");var fr=Bo,qo=class qo extends K{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(mr,0)}get ruleIndex(){return N.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(qo,"ComparisonLeftContext");var Vr=qo,Ko=class Ko extends K{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(Y,0)}qualifiedIdentifier(){return this.getTypedRuleContext(mr,0)}externalConstant(){return this.getTypedRuleContext(Jr,0)}arrayValue(){return this.getTypedRuleContext(Qr,0)}get ruleIndex(){return N.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(Ko,"ComparisonRightContext");var Wr=Ko,Vo=class Vo extends K{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(X,0)}get ruleIndex(){return N.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(Vo,"ParenthesizedItemContext");var zr=Vo,Wo=class Wo extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_value}copyFrom(e){super.copyFrom(e)}};a(Wo,"ValueContext");var Y=Wo,zo=class zo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(N.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(zo,"TimeLiteralContext");var bo=zo,Jo=class Jo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(Gr,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(Jo,"NullLiteralContext");var Do=Jo,Qo=class Qo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(N.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(Qo,"DateTimeLiteralContext");var No=Qo,Yo=class Yo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(N.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(Yo,"StringLiteralContext");var So=Yo,Go=class Go extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(N.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(Go,"DateLiteralContext");var Mo=Go,Xo=class Xo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(Xr,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(Xo,"InfinityLiteralContext");var vo=Xo,Zo=class Zo extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(Yr,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(Zo,"BooleanLiteralContext");var Io=Zo,Ho=class Ho extends Y{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(N.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(Ho,"NumberLiteralContext");var Lo=Ho,en=class en extends K{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(Et)}identifier(e){return this.getTypedRuleContext(Et,e)}get ruleIndex(){return N.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(en,"QualifiedIdentifierContext");var mr=en,tn=class tn extends K{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(Et,0)}get ruleIndex(){return N.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(tn,"ExternalConstantContext");var Jr=tn,rn=class rn extends K{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(N.IDENTIFIER,0)}get ruleIndex(){return N.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(rn,"IdentifierContext");var Et=rn,on=class on extends K{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(Y)}value(e){return this.getTypedRuleContext(Y,e)}get ruleIndex(){return N.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(on,"ArrayValueContext");var Qr=on,nn=class nn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(nn,"BooleanContext");var Yr=nn,sn=class sn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(sn,"NullContext");var Gr=sn,an=class an extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(an,"InfinityContext");var Xr=an,pn=class pn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(pn,"ArithmeticOperatorContext");var Po=pn,cn=class cn extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(cn,"ComparisonOperatorContext");var Zr=cn,ln=class ln extends K{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return N.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(ln,"LogicalOperatorContext");var Hr=ln,fn=class fn extends K{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(N.POLAR_OP,0)}get ruleIndex(){return N.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(fn,"PolarityOperatorContext");var ko=fn;import{ParseTreeVisitor as uc}from"@browsery/antlr4";import{ParseTreeVisitor as l1}from"@browsery/antlr4";var mn=class mn extends C{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(mn,"ExternalConstant");var ei=mn;var un=class un extends uc{constructor(t){super();p(this,"_timeZone");this._timeZone=t==null?void 0:t.timeZone}visitChildren(t){let r=super.visitChildren(t);return Array.isArray(r)&&r.length<2?r[0]:r??t.getText()}defaultResult(){}visitRoot(t){return this.visit(t.expression())}visitParenthesizedExpression(t){let r=this.visit(t.parenthesizedItem());return new xe(r)}visitParenthesizedItem(t){return this.visit(t.expression())}visitNegativeExpression(t){let r=this.visit(t.expression());return new sr(r)}visitComparisonExpression(t){return new le({op:t.comparisonOperator().getText(),left:this.visit(t.comparisonLeft()),right:this.visit(t.comparisonRight())})}visitLogicalExpression(t){let r=[],i=a((n,s)=>{for(let c of n){if(c instanceof fr&&c.logicalOperator().getText()===s){i(c.expression_list(),c.logicalOperator().getText());continue}let l=this.visit(c);r.push(l)}},"wrapChildren");return i(t.expression_list(),t.logicalOperator().getText()),new fe({op:t.logicalOperator().getText(),items:r})}visitQualifiedIdentifier(t){return new H(t.getText())}visitExternalConstant(t){return new ei(t.identifier().getText())}visitNullLiteral(){return new Ye}visitBooleanLiteral(t){return new Qe(t.getText()==="true")}visitNumberLiteral(t){return new _e(t.getText())}visitStringLiteral(t){return new Ge(ar(t.getText()))}visitInfinityLiteral(){return new _e(1/0)}visitDateLiteral(t){return new De(ar(t.getText()))}visitDateTimeLiteral(t){return new pr(ar(t.getText()))}visitTimeLiteral(t){return new Xe(ar(t.getText()))}visitArrayValue(t){return new Ee(t.value_list().map(r=>this.visit(r)))}};a(un,"FilterTreeVisitor");var ur=un;import{ErrorListener as dc}from"@browsery/antlr4";var dn=class dn extends dc{constructor(t){super();p(this,"errors");this.errors=t}syntaxError(t,r,i,n,s,c){this.errors.push(new Br(s,{recognizer:t,offendingSymbol:r,line:i,column:n,e:c}))}};a(dn,"OpraErrorListener");var dr=dn;function hn(o,e){let t=new hc(o),r=new lr(t),i=new yc(r),n=new N(i);n.buildParseTrees=!0;let s=[],c=new dr(s);r.removeErrorListeners(),r.addErrorListener(c),n.removeErrorListeners(),n.addErrorListener(c);let l=n.root();if(s.length){let u=[];for(let O of s)u.push(O.message+(o.includes(`
7
7
  `)?" at line: "+O.line+" column: "+O.column:" at column: "+O.column));let E=new $r(u.join(`
8
- `));throw E.errors=s,E}return e=e||new ur,e.visit(l)}a(hn,"parse");var yn=class yn{constructor(e,t){p(this,"_rules",new S);p(this,"_decoderCache",new WeakMap);if(Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,Tc({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?hn(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof le){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof Z&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Te({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Te({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof fe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Je)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Ee)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof Z&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof k){let n=t.findLastIndex(s=>s instanceof le);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof Z&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let c;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?c=Ec:c=this._decoderCache.get(s.left.field),c||(c=s.left.field.generateCodec("decode",{scope:i,projection:"*",ignoreReadonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,c)),e.value=c(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(yn,"FilterRules");var xt=yn;var hr={};Lr(hr,{$and:()=>_c,$arithmetic:()=>Fc,$array:()=>Da,$date:()=>gc,$eq:()=>Rc,$field:()=>wc,$gt:()=>Dc,$gte:()=>Nc,$ilike:()=>kc,$in:()=>vc,$like:()=>Lc,$lt:()=>Sc,$lte:()=>Mc,$ne:()=>bc,$notILike:()=>Cc,$notIn:()=>Ic,$notLike:()=>Pc,$number:()=>Ac,$or:()=>xc,$paren:()=>jc,$time:()=>Oc,ArithmeticExpression:()=>Je,ArithmeticExpressionItem:()=>Ur,ArrayExpression:()=>Ee,Ast:()=>nr,BooleanLiteral:()=>Qe,ComparisonExpression:()=>le,DateLiteral:()=>De,DateTimeLiteral:()=>pr,Expression:()=>B,FilterTreeVisitor:()=>ur,Literal:()=>k,LogicalExpression:()=>fe,NegativeExpression:()=>sr,NullLiteral:()=>Ye,NumberLiteral:()=>_e,OpraErrorListener:()=>dr,ParenthesizedExpression:()=>xe,QualifiedIdentifier:()=>Z,StringLiteral:()=>Ge,Term:()=>ze,TimeLiteral:()=>Xe,parse:()=>hn});function xc(...o){return new fe({op:"or",items:o})}a(xc,"$or");function _c(...o){return new fe({op:"and",items:o})}a(_c,"$and");function gc(o){return new De(o)}a(gc,"$date");function Oc(o){return new Xe(o)}a(Oc,"$time");function Ac(o){return new _e(o)}a(Ac,"$number");function Da(...o){return new Ee(o.map(ti))}a(Da,"$array");function wc(o){return new Z(o)}a(wc,"$field");function Rc(o,e){return H("=",o,e)}a(Rc,"$eq");function bc(o,e){return H("!=",o,e)}a(bc,"$ne");function Dc(o,e){return H(">",o,e)}a(Dc,"$gt");function Nc(o,e){return H(">=",o,e)}a(Nc,"$gte");function Sc(o,e){return H("<",o,e)}a(Sc,"$lt");function Mc(o,e){return H("<=",o,e)}a(Mc,"$lte");function vc(o,e){return H("in",o,e)}a(vc,"$in");function Ic(o,e){return H("!in",o,e)}a(Ic,"$notIn");function Lc(o,e){return H("like",o,e)}a(Lc,"$like");function Pc(o,e){return H("!like",o,e)}a(Pc,"$notLike");function kc(o,e){return H("ilike",o,e)}a(kc,"$ilike");function Cc(o,e){return H("!ilike",o,e)}a(Cc,"$notILike");function jc(o){return new xe(o)}a(jc,"$paren");function Fc(o){let e=new Je;return e.add=t=>(e.append("+",_t(t)),e),e.sub=t=>(e.append("-",_t(t)),e),e.mul=t=>(e.append("*",_t(t)),e),e.div=t=>(e.append("/",_t(t)),e),e.append("+",ti(o)),e}a(Fc,"$arithmetic");function H(o,e,t){let r=typeof e=="string"?new Z(e):ti(e),i=ti(t);return new le({op:o,left:r,right:i})}a(H,"comparisonExpression");var ti=a(o=>Array.isArray(o)?Da(...o.map(_t)):_t(o),"wrapEntryValue"),_t=a(o=>o instanceof B?o:typeof o=="boolean"?new Qe(o):typeof o=="number"||typeof o=="bigint"?new _e(o):o==null?new Ye:o instanceof Date?new De(o):new Ge(""+o),"_wrapEntryValue");import Uc from"object-hash";import{asMutable as $c}from"ts-gems";import{validator as Bc,vg as ee}from"valgen";var gt=/^([+-])?([a-z$_][\w.]*)$/i,F=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;g.call(this,e,t,r);let i=$c(this);i._fields=new S},"ComplexTypeBase"),En=class En extends g{constructor(){super(...arguments);p(this,"ctor");p(this,"additionalFields");p(this,"keyField")}fieldCount(t){if(t==="*")return this._fields.size;let r=0;for(let i of this.fields(t))r++;return r}fieldEntries(t){let r=this._fields.entries();if(t==="*")return r;let i;return{next(){for(;r&&(i=r.next(),!(i.done||i.value&&i.value[1].inScope(t))););return i.done?{done:i.done,value:void 0}:{done:i.done,value:[i.value[0],i.value[1].forScope(t)]}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fields(t){let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[1]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fieldNames(t){if(t==="*")return this._fields.keys();let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[0]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}findField(t,r){if(t.includes(".")){let n=this.parseFieldPath(t,{scope:r});if(n.length===0)throw new Error(`Field "${t}" does not exist in scope "${r}"`);let s=n.pop();return s==null?void 0:s.field}let i=this._fields.get(t);if(i&&i.inScope(r))return i.forScope(r)}getField(t,r){let i=this.findField(t,"*");if(i&&!i.inScope(r))throw new Error(`Field "${t}" does not exist in scope "${r||"null"}"`);if(!i)throw new Error(`Field (${t}) does not exist`);return i.forScope(r)}parseFieldPath(t,r){var x,U,qe;let i=this,n,s=t.split("."),c=s.length,l=[],u=this.owner.node.getDataType("object"),E=r==null?void 0:r.allowSigns,O=a(()=>l.map(j=>j.fieldName).join("."),"getStrPath");for(let j=0;j<c;j++){let V={fieldName:s[j],dataType:u};l.push(V);let Ke=gt.exec(s[j]);if(!Ke)throw new TypeError(`Invalid field name (${O()})`);if(Ke[1]&&((j===0&&E==="first"||E==="each")&&(V.sign=Ke[1]),V.fieldName=Ke[2]),i){if(i instanceof F){if(n=i.findField(V.fieldName,r==null?void 0:r.scope),n){V.fieldName=n.name,V.field=n,V.dataType=n.type,i=n.type;continue}if(((x=i.additionalFields)==null?void 0:x[0])===!0){V.additionalField=!0,V.dataType=u,i=void 0;continue}if(((U=i.additionalFields)==null?void 0:U[0])==="type"&&((qe=i.additionalFields)==null?void 0:qe[1])instanceof g){V.additionalField=!0,V.dataType=i.additionalFields[1],i=i.additionalFields[1];continue}throw new Error(`Unknown field (${l.map(Ei=>Ei.fieldName).join(".")})`)}throw new TypeError(`"${l.map(Ei=>Ei.fieldName).join(".")}" field is not a complex type and has no child fields`)}V.additionalField=!0,V.dataType=u}return l}normalizeFieldPath(t,r){return this.parseFieldPath(t,r).map(i=>(i.sign||"")+i.fieldName).join(".")}generateCodec(t,r){var l;let i=r!=null&&r.cache?r:{...r,projection:Array.isArray(r==null?void 0:r.projection)?ga(r.projection):r==null?void 0:r.projection,currentPath:""},n=this._generateSchema(t,i),s;if(this.additionalFields instanceof g)s=this.additionalFields.generateCodec(t,r);else if(typeof this.additionalFields=="boolean")s=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)s="error";else{let u=s[1];s=Bc((E,O,x)=>O.fail(x,u,E))}let c=ee.isObject(n,{ctor:this.name==="object"?Object:this.ctor,additionalFields:s,name:this.name,coerce:!0,caseInSensitive:r==null?void 0:r.caseInSensitive,onFail:r==null?void 0:r.onFail});if(i.level===0&&((l=i.forwardCallbacks)!=null&&l.size))for(let u of i.forwardCallbacks)u();return c}_generateSchema(t,r){var u;r.fieldCache=r.fieldCache||new Map,r.level=r.level||0,r.forwardCallbacks=r.forwardCallbacks||new Set;let i={},{currentPath:n,projection:s}=r,c=!!(s&&Object.values(s).find(E=>!E.sign)),l;for(let E of this.fields("*")){if(!E.inScope(r.scope)||!(r.keepKeyFields&&this.keyField)&&(r.ignoreReadonlyFields&&E.readonly||r.ignoreWriteonlyFields&&E.writeonly)){i[E.name]=ee.isUndefined({coerce:!0});continue}l=E.name;let O;if(s!=="*"&&(O=s==null?void 0:s[l.toLowerCase()],(O==null?void 0:O.sign)==="-"||c&&!O||!c&&E.exclusive&&!O)){i[E.name]=ee.isUndefined({coerce:!0});continue}let x=typeof s=="object"?((u=s[l])==null?void 0:u.projection)||"*":s,U=r.fieldCache.get(E),qe=typeof x=="string"?x:Uc(x||{});U||(U={},r.fieldCache.set(E,U));let j=U[qe];if(j===null)j=ee.isAny(),r.forwardCallbacks.add(()=>{j=U[qe],i[l]=r.partial||!E.required?ee.optional(j):ee.required(j)});else if(!j){let V=a(()=>{U[qe]=null;let Ke=E.generateCodec(t,{...r,partial:r.partial==="deep"?r.partial:void 0,projection:x,currentPath:n+(n?".":"")+l,level:r.level+1});return U[qe]=Ke,Ke},"defaultGenerator");r.fieldHook?j=r.fieldHook(E,r.currentPath,V):j=V()}i[l]=r.partial||!(E.required||j.id==="required")?ee.optional(j):j.id==="required"?j:ee.required(j)}return r.allowPatchOperators&&(i._$pull=ee.optional(ee.isAny()),i._$push=ee.optional(ee.isAny())),i}};a(En,"ComplexTypeBaseClass");var Tn=En;F.prototype=Tn.prototype;import"reflect-metadata";import{omitUndefined as xn}from"@jsopen/objects";import{asMutable as qc}from"ts-gems";import{vg as Kc}from"valgen";var te=a(function(...o){if(!this)return te[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=qc(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof te))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=P(t.attributes||{}),i.attributes=i.base?P(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),_n=class _n extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof te?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Kc.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return xn({...t,kind:this.kind,base:r,attributes:P(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(_n,"EnumTypeClass");var yr=_n;te.prototype=yr.prototype;Object.assign(te,yr);function Vc(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(c=>{var u;if(!isNaN(Number(c)))return;let l=(u=r==null?void 0:r.meanings)==null?void 0:u[c];i[c]=xn({description:l})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(c=>{var u;if(!isNaN(Number(c)))return;let l=(u=r==null?void 0:r.meanings)==null?void 0:u[c];i[o[c]]=xn({alias:c,description:l})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,y,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Vc,"EnumTypeFactory");te.prototype=yr.prototype;te[A]=Vc;var Yn={};Lr(Yn,{Base64Type:()=>Rn,CreditCardType:()=>ri,DateTimeType:()=>Ze,DateTimeTypeTz:()=>_r,DateType:()=>Tr,EanType:()=>vn,EmailType:()=>re,FieldPathType:()=>J,FilterType:()=>et,IbanType:()=>Cn,IpType:()=>ii,MobilePhoneType:()=>gr,ObjectIdType:()=>Un,OperationResult:()=>ye,TimeType:()=>Or,UrlType:()=>Qn,UuidType:()=>si});import{__decorate as zc,__metadata as Jc}from"tslib";import{isBase64 as Qc,validator as bn,vg as wn}from"valgen";import"reflect-metadata";import{omitUndefined as Sa}from"@jsopen/objects";import{asMutable as Wc}from"ts-gems";import{isAny as Ma}from"valgen";function gn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!C.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(y,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(y,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(gn,"SimpleTypeDecoratorFactory");function Na(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(y,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(y,r,e.constructor)}}a(Na,"AttributeDecoratorFactory");var d=a(function(...o){var n,s;if(!this)return d[A](...o);let[e,t,r]=o;g.call(this,e,t,r);let i=Wc(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof d))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=P(t.attributes||{}),i.attributes=i.base?P(i.base.attributes):{},i.ownAttributes)for(let[c,l]of Object.entries(i.ownAttributes)){if((s=i.attributes[c])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${c}" can not be overwritten`);i.attributes[c]=l}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),An=class An extends g{constructor(){super(...arguments);p(this,"_generateDecoder");p(this,"_generateEncoder");p(this,"properties")}extend(t){return Object.setPrototypeOf(t,this),t}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof d?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}generateCodec(t,r,i){let n={...this.properties,...i};if(t==="decode"){let c=this;for(;c;){if(c._generateDecoder)return c._generateDecoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});c=this.base}return Ma}let s=this;for(;s;){if(s._generateEncoder)return s._generateEncoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});s=this.base}return Ma}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n=Sa(this.ownAttributes),s;this.properties&&typeof this.properties.toJSON=="function"?s=this.properties.toJSON(this.properties,this.owner,t):s=this.properties?P(this.properties):{};let c={...r,kind:this.kind,base:i,attributes:n&&Object.keys(n).length?n:void 0,properties:Object.keys(s).length?s:void 0};return Object.keys(this.ownNameMappings).length&&(c.nameMappings={...this.ownNameMappings}),Sa(c,!0)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(An,"SimpleTypeClass");var On=An;d.prototype=On.prototype;Object.assign(d,gn);d[A]=gn;d.Attribute=Na;var Ot,Rn=(Ot=class{constructor(e){p(this,"designType");e&&Object.assign(this,e)}[T](e){let t=wn.isBase64({coerce:!0});return e.designType===Buffer?wn.pipe([t,Yc],{coerce:!0}):e.designType===Uint8Array?wn.pipe([t,Gc],{coerce:!0}):t}[_](){return Xc}},a(Ot,"Base64Type"),Ot);Rn=zc([d({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Jc("design:paramtypes",[Object])],Rn);var Yc=bn(o=>Buffer.from(o,"base64")),Gc=bn(o=>new Uint8Array(Buffer.from(o,"base64"))),Xc=bn(o=>Buffer.isBuffer(o)?o.toString("base64"):Qc(o));import{__decorate as Ia,__metadata as La}from"tslib";import{vg as va}from"valgen";var At,ri=(At=class{constructor(e){p(this,"provider");e&&Object.assign(this,e)}[T](e){return va.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}[_](e){return va.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}},a(At,"CreditCardType"),At);Ia([d.Attribute({description:"Locale to use for validation"}),La("design:type",Object)],ri.prototype,"provider",void 0);ri=Ia([d({name:"creditcard",description:"A Credit Card value",nameMappings:{js:"string",json:"string"}}),La("design:paramtypes",[Object])],ri);import{__decorate as Dn,__metadata as Nn}from"tslib";import{vg as ve}from"valgen";var Pa=ve.isDateString({precisionMin:"day",precisionMax:"day",trim:!0,coerce:!0}),Zc=ve.isDate({trim:"day",coerce:!0}),wt,Tr=(wt=class{constructor(e){p(this,"designType");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t;e.designType===Date?t=Zc:t=Pa;let r=[t];return e.minValue!=null&&r.push(ve.isGte(t(e.minValue))),e.maxValue!=null&&r.push(ve.isLte(t(e.maxValue))),r.length>0?ve.pipe(r,{returnIndex:0}):t}[_](e){let t=Pa,r=[t];return e.minValue!=null&&r.push(ve.isGte(t(e.minValue))),e.maxValue!=null&&r.push(ve.isLte(t(e.maxValue))),r.length>0?ve.pipe(r,{returnIndex:0}):t}},a(wt,"DateType"),wt);Dn([d.Attribute({description:"Minimum value"}),Nn("design:type",String)],Tr.prototype,"minValue",void 0);Dn([d.Attribute({description:"Maximum value"}),Nn("design:type",String)],Tr.prototype,"maxValue",void 0);Tr=Dn([d({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),Nn("design:paramtypes",[Object])],Tr);import{__decorate as Er,__metadata as xr}from"tslib";import{vg as Oe}from"valgen";var Rt,Ze=(Rt=class{constructor(e){p(this,"designType");p(this,"precisionMin");p(this,"precisionMax");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t;e.designType===Date?t=Oe.isDate({coerce:!0}):t=Oe.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0});let r=[t];return e.minValue!=null&&r.push(Oe.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Oe.isLte(t(e.maxValue))),r.length>0?Oe.pipe(r,{returnIndex:0}):t}[_](e){let t=Oe.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0}),r=[t];return e.minValue!=null&&r.push(Oe.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Oe.isLte(t(e.maxValue))),r.length>0?Oe.pipe(r,{returnIndex:0}):t}},a(Rt,"DateTimeType"),Rt);Er([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "day".'}),xr("design:type",String)],Ze.prototype,"precisionMin",void 0);Er([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "ms".'}),xr("design:type",String)],Ze.prototype,"precisionMax",void 0);Er([d.Attribute({description:"Minimum value"}),xr("design:type",String)],Ze.prototype,"minValue",void 0);Er([d.Attribute({description:"Maximum value"}),xr("design:type",String)],Ze.prototype,"maxValue",void 0);Ze=Er([d({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}),xr("design:paramtypes",[Object])],Ze);import{__decorate as Sn,__metadata as Mn}from"tslib";import{vg as He}from"valgen";var ka=He.isDateString({precisionMin:"tz",coerce:!0}),bt,_r=(bt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=ka,r=[t];return e.minValue!=null&&r.push(He.isGte(t(e.minValue))),e.maxValue!=null&&r.push(He.isLte(t(e.maxValue))),r.length>0?He.pipe(r,{returnIndex:0}):t}[_](e){let t=ka,r=[t];return e.minValue!=null&&r.push(He.isGte(t(e.minValue))),e.maxValue!=null&&r.push(He.isLte(t(e.maxValue))),r.length>0?He.pipe(r,{returnIndex:0}):t}},a(bt,"DateTimeTypeTz"),bt);Sn([d.Attribute({description:"Minimum value"}),Mn("design:type",String)],_r.prototype,"minValue",void 0);Sn([d.Attribute({description:"Maximum value"}),Mn("design:type",String)],_r.prototype,"maxValue",void 0);_r=Sn([d({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),Mn("design:paramtypes",[Object])],_r);import{__decorate as Hc,__metadata as el}from"tslib";import{vg as Ca}from"valgen";var Dt,vn=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ca.isEAN({coerce:!0})}[_](){return Ca.isEAN({coerce:!0})}},a(Dt,"EanType"),Dt);vn=Hc([d({name:"ean",description:"An EAN (European Article Number)",nameMappings:{js:"string",json:"string"}}),el("design:paramtypes",[Object])],vn);import{__decorate as de,__metadata as he}from"tslib";import{vg as ja}from"valgen";var Nt,re=(Nt=class{constructor(e){p(this,"allowDisplayName");p(this,"requireDisplayName");p(this,"utf8LocalPart");p(this,"ignoreMaxLength");p(this,"allowIpDomain");p(this,"domainSpecificValidation");p(this,"hostBlacklist");p(this,"hostWhitelist");p(this,"blacklistedChars");e&&Object.assign(this,e)}[T](e){return ja.isEmail({...e,coerce:!0})}[_](e){return ja.isEmail({...e,coerce:!0})}},a(Nt,"EmailType"),Nt);de([d.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),he("design:type",Boolean)],re.prototype,"allowDisplayName",void 0);de([d.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),he("design:type",Boolean)],re.prototype,"requireDisplayName",void 0);de([d.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),he("design:type",Boolean)],re.prototype,"utf8LocalPart",void 0);de([d.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),he("design:type",Boolean)],re.prototype,"ignoreMaxLength",void 0);de([d.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),he("design:type",Boolean)],re.prototype,"allowIpDomain",void 0);de([d.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),he("design:type",Boolean)],re.prototype,"domainSpecificValidation",void 0);de([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),he("design:type",Array)],re.prototype,"hostBlacklist",void 0);de([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),he("design:type",Array)],re.prototype,"hostWhitelist",void 0);de([d.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),he("design:type",String)],re.prototype,"blacklistedChars",void 0);re=de([d({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),he("design:paramtypes",[Object])],re);import{__decorate as In,__metadata as Ln}from"tslib";import{toString as tl,validator as rl,vg as il}from"valgen";var St,J=(St=class{constructor(e){p(this,"dataType");p(this,"allowSigns");e&&Object.assign(this,e)}[T](e,{element:t,scope:r}){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=rl("decodeFieldPath",c=>i.normalizeFieldPath(c,{allowSigns:n,scope:r}));return il.pipe([tl,s])}[_](e,t){return this[T](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(St,"FieldPathType"),St);In([d.Attribute({description:"Data type which field belong to"}),Ln("design:type",Object)],J.prototype,"dataType",void 0);In([d.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),Ln("design:type",String)],J.prototype,"allowSigns",void 0);J=In([d({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),Ln("design:paramtypes",[Object])],J);import{__decorate as Pn,__metadata as kn}from"tslib";import{validator as Fa}from"valgen";var Mt,et=(Mt=class{constructor(e){p(this,"dataType");p(this,"rules");e&&Object.assign(this,e)}[T](e,{element:t}){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new xt(e.rules):void 0;return ol(r,i)}[_](){return nl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(Mt,"FilterType"),Mt);Pn([d.Attribute({description:"Data type which filtering fields belong to"}),kn("design:type",Object)],et.prototype,"dataType",void 0);Pn([d.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),kn("design:type",Object)],et.prototype,"rules",void 0);et=Pn([d({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),kn("design:paramtypes",[Object])],et);var ol=a((o,e,t)=>Fa("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=hr.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),nl=Fa("encodeFilter",(o,e,t)=>{if(o instanceof hr.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as sl,__metadata as al}from"tslib";import{vg as Ua}from"valgen";var vt,Cn=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ua.isIBAN({coerce:!0})}[_](){return Ua.isIBAN({coerce:!0})}},a(vt,"IbanType"),vt);Cn=sl([d({name:"iban",description:"An IBAN (International Bank Account Number)",nameMappings:{js:"string",json:"string"}}),al("design:paramtypes",[Object])],Cn);import{__decorate as $a,__metadata as Ba}from"tslib";import{vg as Ie}from"valgen";var It,ii=(It=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[T](e){return e!=null&&e.version?Ie.isIP(e==null?void 0:e.version,{coerce:!0}):Ie.oneOf([Ie.isIP("4",{coerce:!0}),Ie.isIP("6",{coerce:!0})])}[_](e){return e!=null&&e.version?Ie.isIP(e==null?void 0:e.version,{coerce:!0}):Ie.oneOf([Ie.isIP("4",{coerce:!0}),Ie.isIP("6",{coerce:!0})])}},a(It,"IpType"),It);$a([d.Attribute({description:"IP version to use for validation"}),Ba("design:type",Object)],ii.prototype,"version",void 0);ii=$a([d({name:"ip",description:"An IP address",nameMappings:{js:"string",json:"string"}}),Ba("design:paramtypes",[Object])],ii);import{__decorate as jn,__metadata as Fn}from"tslib";import{vg as qa}from"valgen";var Lt,gr=(Lt=class{constructor(e){p(this,"locale");p(this,"strictMode");e&&Object.assign(this,e)}[T](e){return qa.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}[_](e){return qa.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}},a(Lt,"MobilePhoneType"),Lt);jn([d.Attribute({description:"Locale to use for validation"}),Fn("design:type",String)],gr.prototype,"locale",void 0);jn([d.Attribute({description:"If this is set to true, the mobile phone number must be supplied with the country code and therefore must start with +. Locale number"}),Fn("design:type",Boolean)],gr.prototype,"strictMode",void 0);gr=jn([d({name:"mobilephone",description:"A Mobile Phone Number value",nameMappings:{js:"string",json:"string"}}),Fn("design:paramtypes",[Object])],gr);import{__decorate as pl,__metadata as cl}from"tslib";import{vg as Ka}from"valgen";var Pt,Un=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ka.isObjectId({coerce:!0})}[_](){return Ka.isObjectId({coerce:!0})}},a(Pt,"ObjectIdType"),Pt);Un=pl([d({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),cl("design:paramtypes",[Object])],Un);import{__decorate as Le,__metadata as Pe}from"tslib";import{omitUndefined as Va}from"@jsopen/objects";import{asMutable as fl}from"ts-gems";import{vg as oi}from"valgen";import{omitUndefined as ll}from"@jsopen/objects";function $n(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(y,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),c=n.fields[i]={...o,designType:s};s===Array?c.isArray=!0:c.type=c.type||s,Reflect.defineMetadata(y,n,r.constructor);for(let l of e)l(c)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(ll({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a($n,"ApiFieldDecoratorFactory");var $=a(function(...o){if(!(this instanceof $)){let[n]=o;return $[A](n)}let[e,t]=o;w.call(this,e);let r=fl(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof F))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.designType=t.designType,r.override=t.override},"ApiField"),qn=class qn extends w{constructor(){super(...arguments);p(this,"origin")}inScope(t){return cr(t,this.scopePattern)}forScope(t){if(!(t&&this.override))return this;this._overrideCache=this._overrideCache||{};let r=this._overrideCache[t];if(r)return r;if(t!=="*"){for(let i of this.override)if(cr(t,i.scopePattern)){r=Va({...i,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:i.scopePattern}),Object.setPrototypeOf(r,this);break}}return r=r||this,this._overrideCache[t]=r,r}toJSON(t){var i;let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Va({type:r||((i=this.type)==null?void 0:i.toJSON(t)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}generateCodec(t,r,i){var s;if(this.fixed)return oi.isEqual(this.fixed);let n=((s=this.type)==null?void 0:s.generateCodec(t,r,{...i,designType:this.designType}))||oi.isAny();return this.default!==void 0&&(n=oi.required(n,{default:this.default})),this.isArray&&this.type.kind!==m.ArrayType.Kind&&(n=oi.isArray(n)),n}};a(qn,"ApiFieldClass");var Bn=qn;$.prototype=Bn.prototype;Object.assign($,$n);$[A]=$n;import"reflect-metadata";import{omitUndefined as ul}from"@jsopen/objects";import{asMutable as dl}from"ts-gems";import{omit as ml}from"@jsopen/objects";function Kn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!C.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(y,e);r||(r={},Reflect.defineMetadata(y,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,ml(o,["name"]))}}a(Kn,"ComplexTypeDecorator");var ie=a(function(...o){var n;if(!this)return ie[A].apply(void 0,o);let[e,t]=o,r=o[2]||new ue({maxErrors:0});F.call(this,e,t,r);let i=dl(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof F))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new $(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,c]of Object.entries(t.fields)){let l=new $(this,{...c,name:s});this._fields.set(l.name,l)}})},"ComplexType"),Wn=class Wn extends F{constructor(){super(...arguments);p(this,"base")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof F?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n={...r,kind:this.kind,base:this.base?i||this.base.toJSON(t):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof g){let s=this.node.getDataTypeNameWithNs(this.additionalFields);n.additionalFields=s||this.additionalFields.toJSON(t)}else n.additionalFields=this.additionalFields;if(this._fields.size){let s={},c=0;for(let l of this._fields.values())l.origin===this&&l.inScope(t==null?void 0:t.scope)&&(s[l.name]=l.toJSON(t),c++);c&&(n.fields=s)}return ul(n)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Wn,"ComplexTypeClass");var Vn=Wn;ie.prototype=Vn.prototype;Object.assign(ie,Kn);ie[A]=Kn;var kt,ye=(kt=class{constructor(e){e&&Object.assign(this,e)}},a(kt,"OperationResult"),kt);Le([$(),Pe("design:type",String)],ye.prototype,"context",void 0);Le([$(),Pe("design:type",String)],ye.prototype,"type",void 0);Le([$(),Pe("design:type",String)],ye.prototype,"message",void 0);Le([$({type:"any"}),Pe("design:type",Object)],ye.prototype,"payload",void 0);Le([$({type:"object"}),Pe("design:type",Array)],ye.prototype,"errors",void 0);ye=Le([ie({name:"OperationResult",description:"Operation result",additionalFields:!0}),Pe("design:paramtypes",[Object])],ye);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return Le([$({type:t,required:!0}),Pe("design:type",Object)],r.prototype,"payload",void 0),r=Le([ie({embedded:!0}),Pe("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(ye||(ye={}));import{__decorate as zn,__metadata as Jn}from"tslib";import{vg as ni}from"valgen";var hl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Ct,Or=(Ct=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=ni.matches(hl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(ni.isGte(e.minValue)),e.maxValue!=null&&r.push(ni.isLte(e.maxValue)),r.length>0?ni.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[T](e)}},a(Ct,"TimeType"),Ct);zn([d.Attribute({description:"Minimum value"}),Jn("design:type",String)],Or.prototype,"minValue",void 0);zn([d.Attribute({description:"Maximum value"}),Jn("design:type",String)],Or.prototype,"maxValue",void 0);Or=zn([d({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Jn("design:paramtypes",[Object])],Or);import{__decorate as yl,__metadata as Tl}from"tslib";import{vg as Wa}from"valgen";var jt,Qn=(jt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Wa.isURL({coerce:!0})}[_](){return Wa.isURL({coerce:!0})}},a(jt,"UrlType"),jt);Qn=yl([d({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Tl("design:paramtypes",[Object])],Qn);import{__decorate as Ja,__metadata as Qa}from"tslib";import{vg as za}from"valgen";var Ft,si=(Ft=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[T](e){return za.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return za.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(Ft,"UuidType"),Ft);Ja([d.Attribute({description:"Version of the UUID"}),Qa("design:type",Object)],si.prototype,"version",void 0);si=Ja([d({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),Qa("design:paramtypes",[Object])],si);import Nl from"path-browserify";import{omitUndefined as Sl}from"@jsopen/objects";import{asMutable as Ml}from"ts-gems";var oe=Symbol.for("kMap"),Ar=Symbol.for("kCtorMap"),Ya,Ga,Gn=class Gn{constructor(){p(this,Ga,new S);p(this,Ya,new WeakMap)}get size(){return this[oe].size}forEach(e,t){this[oe].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Ar].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(y,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[y];t=i==null?void 0:i.name}if(!t)return;let r=this[oe].get(t);if(r){if(typeof e=="function"&&r.kind==="ComplexType"&&r.ctor!==e)throw new TypeError(`An other data type with same class (${e.name}) already exists.`);return r}}set(e,t){this[oe].set(e,t),t.ctor?this[Ar].set(t.ctor,e):t.instance&&this[Ar].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[oe].has(e.name);let t=typeof e=="string"?e:this[Ar].get(e);return t?this[oe].has(t):!1}keys(){return this[oe].keys()}values(){return this[oe].values()}entries(){return this[oe].entries()}sort(e){return this[oe].sort(e),this}[(Ga=oe,Ya=Ar,Symbol.iterator)](){return this[oe][Symbol.iterator]()}};a(Gn,"DataTypeMap");var W=Gn;import Dl from"@browsery/type-is";import{isConstructor as Ut}from"@jsopen/objects";import gl from"@browsery/type-is";import{omitUndefined as Ol}from"@jsopen/objects";import{asMutable as Al}from"ts-gems";import{isAny as wl,vg as Rl}from"valgen";import"reflect-metadata";import{omitUndefined as El}from"@jsopen/objects";import{asMutable as xl}from"ts-gems";import{vg as ai}from"valgen";var ke=a(function(...o){if(!this)return ke[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=xl(this);i.kind=m.ArrayType.Kind,i.type=t.type,i.minOccurs=t.minOccurs,i.maxOccurs=t.maxOccurs},"ArrayType"),Zn=class Zn extends g{toJSON(e){let t=super.toJSON(e),r=this.node.getDataTypeNameWithNs(this.type);return El({...t,kind:this.kind,type:r||this.type.toJSON(e),minOccurs:this.minOccurs,maxOccurs:this.maxOccurs})}generateCodec(e,t,r){let i=this.type.generateCodec(e,t,r);i=ai.isArray(i);let n=[];return this.minOccurs&&n.push(ai.lengthMin(this.minOccurs)),this.maxOccurs&&n.push(ai.lengthMax(this.maxOccurs)),n.length>0?ai.pipe([i,...n],{returnIndex:0}):i}extendsFrom(){return!1}_locateBase(){}};a(Zn,"ArrayTypeClass");var Xn=Zn;ke.prototype=Xn.prototype;ke[A]=_l;function _l(o,e){let i=class i{};a(i,"ArrayClass");let t=i,r={...e,kind:m.ArrayType.Kind,type:o};return Reflect.defineMetadata(y,r,t),t}a(_l,"ArrayTypeFactory");var Ce=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=Al(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray,t.designType=e.designType},"HttpMediaType"),es=class es extends w{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Ol({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t,r){let i;return this.type?i=this.type.generateCodec(e,t,{designType:this.designType}):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(s=>gl.is(s,["json"]))&&(i=this.node.findDataType("object").generateCodec(e,t,{...r,designType:this.designType})),i=i||wl,this.isArray&&!(this.type instanceof ke)?Rl.isArray(i):i}};a(es,"HttpMediaTypeClass");var Hn=es;Ce.prototype=Hn.prototype;import{omitUndefined as bl}from"@jsopen/objects";function je(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(je,"parseRegExp");var ts=class ts extends Ce{constructor(t,r){super(t,r);p(this,"fieldName");p(this,"fieldType");p(this,"required");this.fieldName=r.fieldName instanceof RegExp?r.fieldName:r.fieldName.startsWith("/")?je(r.fieldName):r.fieldName,this.fieldType=r.fieldType,this.required=r.required}toJSON(t){return bl({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(t)})}};a(ts,"HttpMultipartField");var pi=ts;function I(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(se,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n);Reflect.defineMetadata(se,s,r.constructor)}),"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="cookie"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="header"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="query"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="path"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType??b.json),(n.contentType?Array.isArray(n.contentType)?n.contentType:[n.contentType]:[]).find(c=>c.endsWith("+json")||c.endsWith("+xml")||c.endsWith("+yaml")||c.endsWith("+toml")||Dl.is(c,"json","html","text","xml"))&&(n.contentEncoding=n.contentEncoding??"utf-8"),Ut(n.type)&&(n.designType=n.type),o.push(c=>{c.responses=c.responses||[],c.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||[b.json,b.yaml,b.yaml2,b.toml,b.toml2],i.contentEncoding=i.contentEncoding||"utf-8",Ut(i.type)&&(i.designType=i.type)),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"field",...l}),s},File(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"file",...l}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(I,"HttpOperationDecoratorFactory");var D=a(function(...o){if(!this){let[i]=o,n=[];return D[A].call(void 0,n,i)}let[e,t]=o;if(w.call(this,e),!C.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Ml(this);r.parameters=[],r.responses=[],r.types=r.node[L]=new W,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?P(t.compositionOptions):void 0},"HttpOperation"),is=class is extends w{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:Nl.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=Sl({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(is,"HttpOperationClass");var rs=is;D.prototype=rs.prototype;D[A]=I;D.GET=function(o){return I([],{...o,method:"GET"})};D.DELETE=function(o){return I([],{...o,method:"DELETE"})};D.HEAD=function(o){return I([],{...o,method:"HEAD"})};D.OPTIONS=function(o){return I([],{...o,method:"OPTIONS"})};D.PATCH=function(o){return I([],{...o,method:"PATCH"})};D.POST=function(o){return I([],{...o,method:"POST"})};D.PUT=function(o){return I([],{...o,method:"PUT"})};D.SEARCH=function(o){return I([],{...o,method:"SEARCH"})};import{omitUndefined as vl}from"@jsopen/objects";var os=class os extends w{constructor(t){super(t);p(this,"description");p(this,"content",[]);p(this,"required");p(this,"maxContentSize");p(this,"immediateFetch");p(this,"partial");p(this,"allowPatchOperators");p(this,"keepKeyFields")}toJSON(t){return vl({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(r=>r.toJSON(t)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};a(os,"HttpRequestBody");var ci=os;D.Entity={};function z(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(y,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(z,"getDataTypeName");function Fe(o,e){return(t,r)=>{let i=typeof r=="string"||typeof r=="function"?{name:t,location:"path",type:r,keyParam:!0}:{...r,name:t,location:"path",keyParam:!0};return o.PathParam(t,i),e.push(n=>{var s;(s=n.path)!=null&&s.includes(":"+t)||(n.path=(n.path||"")+"@:"+t),n.mergePath=!0}),o}}a(Fe,"createKeyParamDecorator");function Xa(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,c)=>{let l=c.split(":");return s[l[0]]=l[1]||l[0],s},{}),i=Object.keys(r).reduce((s,c)=>{let l=gt.exec(c),u=gt.exec(r[c]);return l&&u&&(s[l[2]]=u[2]),s},{}),n=Object.keys(r).reduce((s,c)=>{let l=gt.exec(c);return l&&(l[1]!="-"&&(s[l[2]]=l[2]),l[1]!="+"&&(s["-"+l[2]]="-"+l[2])),s},{});return e.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:te(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(c=>{let l=gt.exec(c);return l?(l[1]||"")+i[l[2]]:c}),"parser")}),o}}a(Xa,"createSortFieldsDecorator");function Ue(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new xt,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new et({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let c=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(c.operators=c.operators||["=","!="],n.includes(":")){let l=n.split(":");n=l[0],c.mappedField=l[1]}return e.push(()=>{r.set(n,c),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(Ue,"createFilterDecorator");D.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i};D.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.Filter=Ue(i,r,t.type),i};var hs={};Lr(hs,{AnyType:()=>ns,BigintType:()=>ls,BooleanType:()=>fs,IntegerType:()=>Wt,NullType:()=>us,NumberType:()=>Ae,ObjectType:()=>ds,StringType:()=>tt});import{__decorate as Il,__metadata as Ll}from"tslib";import{isAny as Za}from"valgen";var $t,ns=($t=class{constructor(e){e&&Object.assign(this,e)}[T](){return Za}[_](){return Za}},a($t,"AnyType"),$t);ns=Il([d({name:"any",description:"Represents any value"}),Ll("design:paramtypes",[Object])],ns);import{__decorate as Pl,__metadata as kl}from"tslib";import{toBigint as ep,vg as cs}from"valgen";import{__decorate as as,__metadata as ps}from"tslib";import{toNumber as Ha,vg as ss}from"valgen";var Bt,Ae=(Bt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue!=null&&t.push(ss.isGte(e.minValue)),e.maxValue!=null&&t.push(ss.isLte(e.maxValue)),t.length>0?ss.pipe([Ha,...t],{returnIndex:0}):Ha}[_](e){return this[T](e)}},a(Bt,"NumberType"),Bt);as([d.Attribute({description:"Determines the minimum value"}),ps("design:type",Number)],Ae.prototype,"minValue",void 0);as([d.Attribute({description:"Determines the maximum value"}),ps("design:type",Number)],Ae.prototype,"maxValue",void 0);Ae=as([d({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),ps("design:paramtypes",[Object])],Ae);var qt,ls=(qt=class extends Ae{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(cs.isGte(e.minValue)),e.maxValue!=null&&t.push(cs.isLte(e.maxValue)),t.length>0?cs.pipe([ep,...t],{returnIndex:0}):ep}[_](e){return this[T](e)}},a(qt,"BigintType"),qt);ls=Pl([d({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),kl("design:paramtypes",[Object])],ls);import{__decorate as Cl,__metadata as jl}from"tslib";import{toBoolean as tp}from"valgen";var Kt,fs=(Kt=class{constructor(e){e&&Object.assign(this,e)}[T](){return tp}[_](){return tp}},a(Kt,"BooleanType"),Kt);fs=Cl([d({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),jl("design:paramtypes",[Object])],fs);import{__decorate as Fl,__metadata as Ul}from"tslib";import{toInteger as rp,vg as ms}from"valgen";var Vt,Wt=(Vt=class extends Ae{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(ms.isGte(e.minValue)),e.maxValue!=null&&t.push(ms.isLte(e.maxValue)),t.length>0?ms.pipe([rp,...t],{returnIndex:0}):rp}[_](e){return this[T](e)}},a(Vt,"IntegerType"),Vt);Wt=Fl([d({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Ul("design:paramtypes",[Object])],Wt);import{__decorate as $l,__metadata as Bl}from"tslib";import{isNull as ip}from"valgen";var zt,us=(zt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ip}[_](){return ip}},a(zt,"NullType"),zt);us=$l([d({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),Bl("design:paramtypes",[Object])],us);import{__decorate as ql,__metadata as Kl}from"tslib";var Jt,ds=(Jt=class{constructor(e){e&&Object.assign(this,e)}},a(Jt,"ObjectType"),Jt);ds=ql([ie({name:"object",description:"A non modelled object",additionalFields:!0}),Kl("design:paramtypes",[Object])],ds);import{__decorate as wr,__metadata as Rr}from"tslib";import{toString as op,vg as li}from"valgen";var Qt,tt=(Qt=class{constructor(e){p(this,"pattern");p(this,"patternName");p(this,"minLength");p(this,"maxLength");e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(y,Object.getPrototypeOf(this).constructor).name),t.push(li.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(li.lengthMin(e.minLength)),e.maxLength&&t.push(li.lengthMax(e.maxLength)),t.length>0?li.pipe([op,...t],{returnIndex:0}):op}[_](e){return this[T](e)}},a(Qt,"StringType"),Qt);wr([d.Attribute({description:"Regex pattern to be used for validation"}),Rr("design:type",Object)],tt.prototype,"pattern",void 0);wr([d.Attribute({description:"Name of the pattern"}),Rr("design:type",String)],tt.prototype,"patternName",void 0);wr([d.Attribute({description:"Minimum number of characters"}),Rr("design:type",Number)],tt.prototype,"minLength",void 0);wr([d.Attribute({description:"Minimum number of characters"}),Rr("design:type",Number)],tt.prototype,"maxLength",void 0);tt=wr([d({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),Rr("design:paramtypes",[Object])],tt);D.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:b.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Wt({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Wt({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=Ue(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.defaultSort=n}),i),i.SortFields=Xa(i,r),i};D.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i.KeyParam=Fe(i,r),i.Filter=Ue(i,r,t.type),i};D.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i.Filter=Ue(i,r,t.type),i};import{merge as ys}from"@jsopen/objects";var Vl=/^(.*)(Controller)$/,np=[];function Yt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Vl.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&ys(n,s,{deep:!0});let c=Reflect.getOwnMetadata(ae,r);c&&ys(n,c,{deep:!0}),ys(n,{...o,kind:m.MQController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),np.forEach(r=>r(t,e,o)),t}a(Yt,"MQControllerDecoratorFactory");Yt.augment=function(o){np.push(o)};import{isConstructor as sp,omit as zl}from"@jsopen/objects";var ap=[];function br(o,e,t){let r=!1,i=a(((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let c={kind:m.MQOperation.Kind,channel:s,type:e,...zl(t,["kind","type"])},l=Reflect.getOwnMetadata(ae,n.constructor)||{};l.operations=l.operations||{},l.operations[s]=c;for(let u of o)u(c,n,s);Reflect.defineMetadata(ae,l,n.constructor)}),"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(c=>{let l=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n};sp(l.type)&&(l.designType=l.type);let u=r?c.response:c;u.headers?u.headers=u.headers.filter(E=>String(E.name)!==String(n)):u.headers=[],u.headers.push(l)}),i),i.Response=(n,s)=>(o.push(c=>{r=!0,c.response={...s,type:n},sp(n)&&(c.response.designType=n)}),i),ap.forEach(n=>n(i,o,e,t)),i}a(br,"MQOperationDecoratorFactory");br.augment=function(o){ap.push(o)};import{merge as Ts}from"@jsopen/objects";var Ql=/^(.*)(Controller)$/,pp=[];function Gt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Ql.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(pe,Object.getPrototypeOf(r));s&&Ts(n,s,{deep:!0});let c=Reflect.getOwnMetadata(pe,r);c&&Ts(n,c,{deep:!0}),Ts(n,{...o,kind:m.WSController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(pe,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(pe,n,r)},"decorator");return t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),pp.forEach(r=>r(t,e,o)),t}a(Gt,"WSControllerDecoratorFactory");Gt.augment=function(o){pp.push(o)};import{omit as Gl}from"@jsopen/objects";var cp=[];function Dr(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:m.WSOperation.Kind,event:i,...Gl(e,["kind"])},s=Reflect.getOwnMetadata(pe,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n,r,i);Reflect.defineMetadata(pe,s,r.constructor)}),"decorator");return t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),cp.forEach(r=>r(t,o,e)),t}a(Dr,"WSOperationDecoratorFactory");Dr.augment=function(o){cp.push(o)};import"reflect-metadata";import{omitUndefined as Zl}from"@jsopen/objects";import{asMutable as Hl}from"ts-gems";function fi(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(fi,"getIsInheritedPredicateFn");var rt=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;F.call(this,e,t,r);let i=Hl(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof F))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(u=>i.base.normalizeFieldPath(u)):t.omit?i.omit=t.omit.map(u=>i.base.normalizeFieldPath(u)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(u=>i.base.normalizeFieldPath(u)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(u=>i.base.normalizeFieldPath(u)):t.required);let s=fi(i.pick,i.omit),c=Array.isArray(i.partial)?i.partial.map(u=>u.toLowerCase()):i.partial,l=Array.isArray(i.required)?i.required.map(u=>u.toLowerCase()):i.required;for(let[u,E]of i.base.fieldEntries("*")){if(!s(u))continue;let O={...E};c===!0||Array.isArray(c)&&c.includes(E.name.toLowerCase())?O.required=!1:(l===!0||Array.isArray(l)&&l.includes(E.name.toLowerCase()))&&(O.required=!0);let x=new $(this,O);i._fields.set(x.name,x)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),xs=class xs extends F{constructor(){super(...arguments);p(this,"omit");p(this,"pick");p(this,"partial");p(this,"required")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof F?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Zl({...r,base:i||this.base.toJSON(t),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(xs,"MappedTypeClass");var Es=xs;rt.prototype=Es.prototype;rt._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as ef}from"@jsopen/objects";import{asMutable as tf}from"ts-gems";var Xt=a(function(...o){if(!this)return Xt[A].apply(void 0,o);let[e,t,r]=o;F.call(this,e,t,r);let i=tf(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let c=new $(this,s);i._fields.set(c.name,c)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),gs=class gs extends F{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof F))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return ef({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a(gs,"MixinTypeClass");var _s=gs;Xt.prototype=_s.prototype;Xt[A]=rf;function rf(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)Cr(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(y,i,r);for(let n of o){let s=Reflect.getMetadata(y,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),kr(r.prototype,n.prototype)}return r}a(rf,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as of}from"@jsopen/objects";import{asMutable as nf}from"ts-gems";import{vg as lp}from"valgen";var Zt=a(function(...o){if(!this)return Zt[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=nf(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),As=class As extends g{toJSON(e){let t=super.toJSON(e);return of({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:lp.isEqual(i.discriminatorValue)}]:n});return lp.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(As,"UnionTypeClass");var Os=As;Zt.prototype=Os.prototype;Zt[A]=sf;function sf(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(y,r,t),t}a(sf,"UnionTypeFactory");var ws=Symbol("initializing"),mi=class mi{static async createDataType(e,t,r){e=e||new ue({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await mi.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[L];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new ue({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let l of i)n.set(l.name,l);let s=e.extend({initArgsMap:n}),c=[];for(let[l,u]of n.entries())e.enter(`[${l}]`,()=>{if(!n.has(l))return;let E=this._createDataType(s,t,u);E&&c.push(E)});return c}static async _prepareAllInitArgs(e,t,r){let i=new S,n=new S,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[L])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let c=0;for(let l of r)await s.enterAsync(`$[${c++}]`,async()=>{l=await X(l);let u=Reflect.getMetadata(y,l)||l[y];if(!(u&&u.name))return typeof l=="function"?s.addError(`Class "${l.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(u.name,l)})}else{let c,l;for([l,c]of Object.entries(r))c=await X(c),i.set(l,typeof c=="object"?{...c,name:l}:c)}for(let c of Array.from(i.keys())){if(!i.has(c))continue;let l=await this._importDataTypeArgs(s,t,c);l&&typeof l!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var O;r=await X(r);let{importQueue:n,initArgsMap:s}=e,c=t.node.findDataType(r);if(c instanceof g)return c.name;let l,u,E;if(typeof r!="string"){let U=t.node.getDocument().types[jr].get(r);U&&(r=U)}if(typeof r=="string"){let x=r;if(r=(n==null?void 0:n.get(x))||((O=e.initArgsMap)==null?void 0:O.get(x)),!r)return e.addError(`Unknown data type (${x})`)}if(typeof r=="function"){if(l=Reflect.getMetadata(y,r),!l)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);u=r}else if(typeof r=="object"){if(l=r[y],l)E=r,l.kind!==m.EnumType.Kind&&(l=void 0);else if(m.isDataType(r))l=r,u=l.ctor;else if(u=Object.getPrototypeOf(r).constructor,l=u&&Reflect.getMetadata(y,u),l&&l.kind===m.SimpleType.Kind){let x=await this._importDataTypeArgs(e,t,l.name);return x?typeof x=="object"&&x.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:x,properties:r}:void 0}}return l?e.enterAsync(l.name?`[${l.name}]`:"",async()=>{if(l.name){let U=s==null?void 0:s.get(l.name);if(U)return i&&U[ws]?e.addError("Circular reference detected"):l.name}let x={kind:l.kind,name:l.name};x[ws]=!0;try{if(x.name)if(n!=null&&n.has(x.name))s==null||s.set(l.name,x),x._instance={name:l.name},x[L]=t.node[L];else return e.addError(`Data Type (${x.name}) must be explicitly added to type list in the document scope`);switch(x.kind){case m.ArrayType.Kind:await this._prepareArrayTypeArgs(e,t,x,l);break;case m.ComplexType.Kind:x.ctor=u,await this._prepareComplexTypeArgs(e,t,x,l);break;case m.EnumType.Kind:x.instance=E,await this._prepareEnumTypeArgs(e,t,x,l);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,x,l);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,x,l);break;case m.SimpleType.Kind:x.ctor=u,await this._prepareSimpleTypeArgs(e,t,x,l);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,x,l);break;default:return e.addError(`Invalid data type kind ${l.kind}`)}}finally{x.name&&(n==null||n.delete(x.name)),delete x[ws]}return n&&x.name?x.name:x}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareArrayTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".type",async()=>{let n=await this._importDataTypeArgs(e,t,i.type);n&&(r.type=we(n))})}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=we(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=we(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let c=typeof s=="string"?{type:s}:s;if(c.isArray&&!c.type)return e.addError('"type" must be defined explicitly for array fields');let l=await this._importDataTypeArgs(e,t,c.type||"any");l&&(r.fields[n]={...c,type:we(l)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=we(n))}),r.attributes=P(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,c,l;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let u;if(i.base)u=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let E=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,E)&&(u=await this._importDataTypeArgs(e,t,E))}u&&(r.base=we(u),r.ctor=r.ctor||u.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=P(i.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[T].bind(r.properties)),typeof((c=r.properties)==null?void 0:c[_])=="function"&&(r.generateEncoder=(l=r.properties)==null?void 0:l[_].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=we(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(we(l))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(we(l))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof g)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let c=n[L];switch(c||delete n._instance,i=n._instance,i!=null&&i.name&&c&&c.set(i.name,i),n==null?void 0:n.kind){case m.ArrayType.Kind:return this._createArrayType(e,t,n);case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createArrayType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ke.prototype);let n=P(r);return r.type&&e.enter(".type",()=>{n.type=this._createDataType(e,t,r.type)}),ke.apply(i,[t,n]),i}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ie.prototype);let n=P(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,c]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let l=this._createDataType(e,t,c.type);l&&(n.fields[s]={...c,name:s,type:l})})}),ie.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,te.prototype);let n=P(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,te.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,rt.prototype);let n=P(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),rt.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Xt.prototype);let n=P(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);if(!(l instanceof F))throw new TypeError(`"${l==null?void 0:l.kind}" can't be set as base for a "${n.kind}"`);n.types.push(l)})}),Xt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,d.prototype);let n=P(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),d.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Zt.prototype);let n=P(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);n.types.push(l)})}),Zt.apply(i,[t,n]),i}};a(mi,"DataTypeFactory");var M=mi;function we(o){return typeof o=="object"&&o.name?o.name:o}a(we,"preferName");import{isConstructor as _f}from"@jsopen/objects";import{omitUndefined as pf}from"@jsopen/objects";var Rs=class Rs extends w{constructor(t){super(t.owner);p(this,"name","OpraApi");p(this,"description");this.name=t.name,this.description=t.description}toJSON(t){return pf({transport:this.transport,name:this.name,description:this.description})}async _initialize(t,r){if(!C.test(t.name))throw new TypeError(`Invalid api name (${t.name})`);this.name=t.name,this.description=t==null?void 0:t.description}};a(Rs,"ApiBase");var $e=Rs;import hf from"path-browserify";import{omitUndefined as yf}from"@jsopen/objects";import{asMutable as Tf}from"ts-gems";import{merge as bs,omit as cf}from"@jsopen/objects";var lf=/^(.*)(Controller)$/;function Ds(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=lf.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(se,Object.getPrototypeOf(r));s&&bs(n,s,{deep:!0});let c=Reflect.getOwnMetadata(se,r);c&&bs(n,c,{deep:!0}),bs(n,{kind:m.HttpController.Kind,name:i,path:i,...cf(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(se,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(se,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var c;(c=n.path)!=null&&c.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(Ds,"HttpControllerDecoratorFactory");import{omitUndefined as uf}from"@jsopen/objects";import{asMutable as df}from"ts-gems";import{vg as fp}from"valgen";import{omitUndefined as ff}from"@jsopen/objects";import{asMutable as mf}from"ts-gems";var it=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=mf(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Ss=class Ss extends w{constructor(){super(...arguments);p(this,"type");p(this,"description");p(this,"examples");p(this,"isArray")}toJSON(t){let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ff({type:this.type?r||this.type.toJSON(t):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Ss,"ValueClass");var Ns=Ss;it.prototype=Ns.prototype;var Nr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');it.call(this,o,e);let t=df(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?je(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.default=e.default,t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser,t.designType=e.designType},"HttpParameter"),vs=class vs extends it{toJSON(e){return uf({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,default:this.default,deprecated:this.deprecated})}generateCodec(e,t,r){var n;let i=((n=this.type)==null?void 0:n.generateCodec(e,t,{...r,designType:this.designType}))||fp.isAny();return this.default!==void 0?fp.required(i,{default:this.default}):i}};a(vs,"HttpParameterClass");var Ms=vs;Nr.prototype=Ms.prototype;var ne=a(function(...o){var i;if(!this)return ne[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!C.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Tf(this);r.kind=m.HttpController.Kind,r.types=r.node[L]=new W,r.operations=new S,r.controllers=new S,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Ls=class Ls extends w{get isRoot(){return!(this.owner instanceof ne)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof ne)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return hf.posix.join(this.owner instanceof ne?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=yf({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[Ne](){return`[${Se}HttpController${Me+this.name+ge}]`}};a(Ls,"HttpControllerClass");var Is=Ls;ne.prototype=Is.prototype;Object.assign(ne,Ds);ne[A]=Ds;var Ps=class Ps extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","http");p(this,"controllers",new S);p(this,"url");this.url=t.url}findController(t){return ne.prototype.findController.call(this,t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(t){let i={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let n of this.controllers.values())i.controllers[n.name]=n.toJSON(t);return i}};a(Ps,"HttpApi");var ot=Ps;import{omitUndefined as xf}from"@jsopen/objects";var Ef=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,ks=class ks{constructor(e,t){p(this,"start",0);p(this,"end",0);if(e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=Ef.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a(ks,"HttpStatusRange");var Sr=ks;var Cs=class Cs extends Ce{constructor(t,r){super(t,r);p(this,"statusCode");p(this,"parameters");p(this,"partial");this.parameters=[],this.statusCode=(Array.isArray(r.statusCode)?r.statusCode:[r.statusCode]).map(i=>typeof i=="object"?new Sr(i.start,i.end):new Sr(i)),this.partial=r.partial}findParameter(t,r){t=t.toLowerCase();for(let i of this.parameters)if((!r||r===i.location)&&(i.name instanceof RegExp&&i.name.test(t)||i.name===t))return i}toJSON(t){let r=this.statusCode.map(n=>n.toJSON()),i=xf({...super.toJSON(t),statusCode:r.length===1&&typeof r[0]=="number"?r[0]:r,partial:this.partial});if(this.parameters.length){i.parameters=[];for(let n of this.parameters)i.parameters.push(n.toJSON(t))}return i}};a(Cs,"HttpOperationResponse");var ui=Cs;var js=class js{static async createApi(e,t){let r=new ot(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let c=await this._createController(e,t,s.metadata,s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(c.name,c))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let c=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(c.name,c))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!_f(r)&&(r=t instanceof ne?r(t.instance):r()),r=await X(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(se,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(se,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new ne(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let c=0;for(let l of r.parameters)await e.enterAsync(`[${c++}]`,async()=>{let u={...l};await e.enterAsync(".type",async()=>{u.type=await M.resolveDataType(e,s,l.type)});let E=new Nr(s,u);s.parameters.push(E)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[c,l]of Object.entries(r.operations))await e.enterAsync(`[${c}]`,async()=>{let u=new D(s,{name:c,method:"GET"});await this._initHttpOperation(e,u,l),s.operations.set(c,u)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let c={...s};await e.enterAsync(".type",async()=>{c.type=await M.resolveDataType(e,t,s.type)});let l=new Nr(t,c);t.parameters.push(l)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let c=new ui(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,c,s),t.responses.push(c)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new ci(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Ce.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await M.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new pi(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Nr(t,s);t.parameters.push(c)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new Ce(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(js,"HttpApiFactory");var Ht=js;import{omitUndefined as Mf}from"@jsopen/objects";import{md5 as vf}from"super-fast-md5";import{omitUndefined as Of}from"@jsopen/objects";import{asMutable as Af}from"ts-gems";var nt=a(function(...o){var i;if(!this)return nt[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!C.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Af(this);r.kind=m.MQController.Kind,r.types=r.node[L]=new W,r.operations=new S,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"MQController"),Us=class Us extends w{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof nt)return this.node.parent.element.findHeader(e,t)}toString(){return`[MQController ${this.name}]`}toJSON(){let e=Of({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[Ne](){return`[${Se}MQController${Me+this.name+ge}]`}};a(Us,"MQControllerClass");var Fs=Us;nt.prototype=Fs.prototype;Object.assign(nt,Yt);nt[A]=Yt;import{omitUndefined as wf}from"@jsopen/objects";import{asMutable as Rf}from"ts-gems";import{vg as mp}from"valgen";var Mr=a(function(...o){if(!this){let[i,n]=o,s=[];return Mr[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!C.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Rf(this);r.headers=[],r.types=r.node[L]=new W,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.type&&(r.type=(t==null?void 0:t.type)instanceof g?t.type:r.owner.node.getDataType(t.type)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType)),r.designType=t.designType,r.keyDesignType=t.keyDesignType},"MQOperation"),Bs=class Bs extends w{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=wf({kind:m.MQOperation.Kind,description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||mp.isAny()}generateKeyCodec(e,t,r){var i;return((i=this.keyType)==null?void 0:i.generateCodec(e,t,{...r,designType:this.keyDesignType}))||mp.isAny()}};a(Bs,"MQOperationClass");var $s=Bs;Mr.prototype=$s.prototype;Mr[A]=br;var qs=class qs extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","mq");p(this,"platform");p(this,"controllers",new S);this.platform=t.platform}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(qs,"MQApi");var st=qs;import{omitUndefined as bf}from"@jsopen/objects";import{asMutable as Df}from"ts-gems";var er=a(function(...o){var i;if(!this)return er[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!C.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Df(this);r.kind=m.WSController.Kind,r.types=r.node[L]=new W,r.operations=new S,r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"WSController"),Vs=class Vs extends w{toString(){return`[WSController ${this.name}]`}toJSON(){let e=bf({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return e}[Ne](){return`[${Se}WSController${Me+this.name+ge}]`}};a(Vs,"WSControllerClass");var Ks=Vs;er.prototype=Ks.prototype;Object.assign(er,Gt);er[A]=Gt;import{omitUndefined as Nf}from"@jsopen/objects";import{asMutable as Sf}from"ts-gems";var vr=a(function(...o){if(!this){let[i,n]=o,s=[];return vr[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!C.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Sf(this);r.types=r.node[L]=new W,r.name=t.name,r.description=t.description,t.event?this.event=t.event instanceof RegExp?t.event:t.event.startsWith("/")?je(t.event):t.event:r.event=this.name,t!=null&&t.arguments?r.arguments=t.arguments.map(i=>({type:i.type instanceof g?i.type:r.owner.node.getDataType(i.type),parameterIndex:i.parameterIndex})):r.arguments=[],t!=null&&t.response&&(r.response=t.response instanceof g?t.response:r.owner.node.getDataType(t.response))},"WSOperation"),zs=class zs extends w{toJSON(){var e;return Nf({kind:m.WSOperation.Kind,description:this.description,event:this.event,arguments:(e=this.arguments)==null?void 0:e.map(t=>t.type.name?t.type.name:t.type.toJSON())})}};a(zs,"WSOperationClass");var Ws=zs;vr.prototype=Ws.prototype;vr[A]=Dr;var Js=class Js extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","ws");p(this,"controllers",new S)}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(Js,"WSApi");var at=Js;var up,dp,Qs=class Qs extends(dp=w,up=Re,dp){constructor(){super(null);p(this,up,new WeakMap);p(this,"id","");p(this,"url");p(this,"info",{});p(this,"references",new S);p(this,"types",new W);p(this,"api");this.node[L]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(t){let r=t instanceof g?this._findDataType(t.name||""):this._findDataType(t);if(r)return this[Re].get(r)}findDocument(t){if(this.id===t)return this;for(let r of this.references.values()){if(r.id===t)return r;let i=r.findDocument(t);if(i)return i}}get httpApi(){if(this.api&&this.api instanceof ot)return this.api}get mqApi(){if(this.api&&this.api instanceof st)return this.api}get wsApi(){if(this.api&&this.api instanceof at)return this.api}getHttpApi(){if(!(this.api&&this.api instanceof ot))throw new TypeError("The document do not contains HttpApi instance");return this.api}getMqApi(){if(!(this.api&&this.api instanceof st))throw new TypeError("The document do not contains MQApi instance");return this.api}getWsApi(){if(!(this.api&&this.api instanceof at))throw new TypeError("The document do not contains WSApi instance");return this.api}toJSON(){return this.export()}export(t){let r=Mf({spec:m.SpecVersion,id:this.id,url:this.url,info:P(this.info,!0)});if(this.references.size){let i=0,n={};for(let[s,c]of this.references.entries())c[Ve]||(n[s]={id:c.id,url:c.url,info:P(c.info,!0)},i++);i&&(r.references=n)}if(this.types.size){r.types={};for(let i of this.types.values())i.inScope(t==null?void 0:t.scope)&&(r.types[i.name]=i.toJSON(t))}return this.api&&(r.api=this.api.toJSON(t)),r}invalidate(){let t=this.export({});delete t.id,this.id=vf(JSON.stringify(t)),this[Re]=new WeakMap}_findDataType(t,r,i){let n=this.types.get(t);if(n&&n.inScope(r))return n;if(!this.references.size)return;if(typeof t=="string"){let c=Ea.exec(t);if(c){let l=c[1];if(l){let u=this.references.get(l);return u?(i=i||new WeakMap,i.set(this,!0),i.set(u,!0),u._findDataType(c[2],r,i)):void 0}t=c[2]}}i=i||new WeakMap,i.set(this,!0);let s=Array.from(this.references.keys()).reverse();for(let c of s){let l=this.references.get(c);if(n=l==null?void 0:l.types.get(t),n)return this[Re].set(n,l!=null&&l[Ve]?"":c),n}for(let c of s){let l=this.references.get(c);if(i.set(l,!0),n=l._findDataType(t,r,i),n)return this[Re].set(n,l!=null&&l[Ve]?"":c),n}}};a(Qs,"ApiDocument");var pt=Qs;function Be(o,e,t){let r=fi(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&Cr(this,o,r)}}}[n];if(typeof o=="function"&&kr(s.prototype,o.prototype),typeof o=="function"){let l=Reflect.getOwnMetadata(y,o);if(!l)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(l.kind===m.ComplexType.Kind||l.kind===m.MappedType.Kind||l.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let c={...t,kind:"MappedType",base:o};return e.pick&&(c.pick=e.pick),e.omit&&(c.omit=e.omit),e.partial&&(c.partial=e.partial),e.required&&(c.required=e.required),Reflect.defineMetadata(y,c,s),typeof o=="function"&&rt._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(Be,"createMappedClass");function YR(o,e,t){return Be(o,{omit:e},t)}a(YR,"OmitType");function HR(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Be(o,{partial:t},r)}a(HR,"PartialType");function ib(o,e,t){return Be(o,{pick:e},t)}a(ib,"PickType");function ab(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Be(o,{required:t},r)}a(ab,"RequiredType");function fb(o,e){return(t,r,i)=>{if(typeof r!="string")throw new TypeError("Un-named properties can not be decorated");if(!o&&(o=Reflect.getMetadata("design:paramtypes",t,r)[i],!o))throw new TypeError("Missing parameter type");let n=Reflect.getOwnMetadata(ir,t,r);n||(n=[],Reflect.defineMetadata(ir,n,t,r)),n.push({...e,type:o,parameterIndex:i})}}a(fb,"WsParam");import{updateErrorMessage as Ff}from"@jsopen/objects";import{isConstructor as Cf}from"@jsopen/objects";import{omitUndefined as If}from"@jsopen/objects";import{asMutable as Lf}from"ts-gems";import{vg as Pf}from"valgen";var Ir=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');it.call(this,o,e);let t=Lf(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?je(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required,t.designType=e.designType},"MQHeader"),Gs=class Gs extends it{toJSON(){return If({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||Pf.isAny()}};a(Gs,"MQHeaderClass");var Ys=Gs;Ir.prototype=Ys.prototype;import{omitUndefined as kf}from"@jsopen/objects";var Xs=class Xs extends w{constructor(t,r){super(t);p(this,"channel");p(this,"description");p(this,"type");p(this,"keyType");p(this,"headers",[]);p(this,"designType");p(this,"keyDesignType");this.channel=r==null?void 0:r.channel,this.description=r==null?void 0:r.description,r!=null&&r.type?this.type=(r==null?void 0:r.type)instanceof g?r.type:this.owner.node.getDataType(r.type):this.type=this.owner.node.getDataType("any"),r!=null&&r.keyType&&(this.keyType=(r==null?void 0:r.keyType)instanceof g?r.keyType:this.owner.node.getDataType(r.keyType)),this.designType=r==null?void 0:r.designType,this.keyDesignType=r==null?void 0:r.keyDesignType}findHeader(t){let r=t.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(t))return i}toJSON(){let t=kf({description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){t.headers=[];for(let r of this.headers)t.headers.push(r.toJSON())}return t}};a(Xs,"MQOperationResponse");var di=Xs;var Zs=class Zs{static async createApi(e,t){let r=new st(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!Cf(r)&&(r=r()),r=await X(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(ae,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid MQController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(ae,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with MQController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new nt(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let u=0;for(let E of s.headers)await e.enterAsync(`[${u++}]`,async()=>{let O={...E};await e.enterAsync(".type",async()=>{E.type&&(O.type=l.node.findDataType(E.type)),!O.type&&typeof E.type=="object"&&(O.type=await M.createDataType(e,l,E.type)),O.type||(O.type=l.node.getDataType("any"))});let x=new Ir(l,O);l.headers.push(x)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[u,E]of Object.entries(s.operations))await e.enterAsync(`[${u}]`,async()=>{let O=new Mr(l,{...E,name:u,types:void 0,type:void 0,keyType:void 0});await this._initMQOperation(e,O,E),l.operations.set(O.name,O)})}),l}static async _initMQOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Ir(t,s);t.headers.push(c)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new di(t,{...r.response,type:void 0,keyType:void 0});await this._initMQOperationResponse(e,i,r.response),t.response=i})}static async _initMQOperationResponse(e,t,r){t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Ir(t,s);t.headers.push(c)})})}};a(Zs,"MQApiFactory");var hi=Zs;import{isConstructor as jf}from"@jsopen/objects";var Hs=class Hs{static async createApi(e,t){let r=new at(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!jf(r)&&(r=r()),r=await X(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(pe,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid WSController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(pe,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with WSController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new er(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[u,E]of Object.entries(s.operations))await e.enterAsync(`[${u}]`,async()=>{let O=Reflect.getMetadata(ir,n.prototype,u),x=E;O&&(x={...x,arguments:O});let U=new vr(l,{...x,name:u,types:void 0,type:void 0,keyType:void 0,arguments:void 0,response:void 0});await this._initWSOperation(e,U,x),l.operations.set(u,U)})}),l}static async _initWSOperation(e,t,r){var i;r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),(i=r.arguments)!=null&&i.length&&(await e.enterAsync(".arguments",async()=>{var s;t.arguments=[];let n;for(n of r.arguments){let c={};typeof n=="object"&&n.type&&n.parameterIndex!==null?Object.assign(c,n):c.type=n;let l=await M.resolveDataType(e,t,c.type);(s=t.arguments)==null||s.push({type:l,parameterIndex:c.parameterIndex})}}),t.arguments.sort((n,s)=>n.parameterIndex-s.parameterIndex)),r.response&&await e.enterAsync(".response",async()=>{t.response=await M.resolveDataType(e,t,r.response)})}};a(Hs,"WSApiFactory");var yi=Hs;var Uf="https://oprajs.com/spec/v"+m.SpecVersion,Ti=class Ti{constructor(){p(this,"_allDocuments",{})}static async createDocument(e,t){let r=new Ti,i=t instanceof ue?t:new ue(t);try{let n=new pt;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof Tt||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length,c=`(${s}) error${s>1?"s":""} found in document schema.`;i.showErrorDetails&&(c+=i.error.details.map(l=>`
8
+ `));throw E.errors=s,E}return e=e||new ur,e.visit(l)}a(hn,"parse");var yn=class yn{constructor(e,t){p(this,"_rules",new S);p(this,"_decoderCache",new WeakMap);if(Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,Tc({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?hn(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof le){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof H&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new Te({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new Te({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof fe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Je)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Ee)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof xe)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof H&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof C){let n=t.findLastIndex(s=>s instanceof le);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof H&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let c;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?c=Ec:c=this._decoderCache.get(s.left.field),c||(c=s.left.field.generateCodec("decode",{scope:i,projection:"*",ignoreReadonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,c)),e.value=c(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(yn,"FilterRules");var xt=yn;var hr={};Lr(hr,{$and:()=>_c,$arithmetic:()=>Fc,$array:()=>Da,$date:()=>gc,$eq:()=>Rc,$field:()=>wc,$gt:()=>Dc,$gte:()=>Nc,$ilike:()=>kc,$in:()=>vc,$like:()=>Lc,$lt:()=>Sc,$lte:()=>Mc,$ne:()=>bc,$notILike:()=>Cc,$notIn:()=>Ic,$notLike:()=>Pc,$number:()=>Ac,$or:()=>xc,$paren:()=>jc,$time:()=>Oc,ArithmeticExpression:()=>Je,ArithmeticExpressionItem:()=>Ur,ArrayExpression:()=>Ee,Ast:()=>nr,BooleanLiteral:()=>Qe,ComparisonExpression:()=>le,DateLiteral:()=>De,DateTimeLiteral:()=>pr,Expression:()=>B,FilterTreeVisitor:()=>ur,Literal:()=>C,LogicalExpression:()=>fe,NegativeExpression:()=>sr,NullLiteral:()=>Ye,NumberLiteral:()=>_e,OpraErrorListener:()=>dr,ParenthesizedExpression:()=>xe,QualifiedIdentifier:()=>H,StringLiteral:()=>Ge,Term:()=>ze,TimeLiteral:()=>Xe,parse:()=>hn});function xc(...o){return new fe({op:"or",items:o})}a(xc,"$or");function _c(...o){return new fe({op:"and",items:o})}a(_c,"$and");function gc(o){return new De(o)}a(gc,"$date");function Oc(o){return new Xe(o)}a(Oc,"$time");function Ac(o){return new _e(o)}a(Ac,"$number");function Da(...o){return new Ee(o.map(ti))}a(Da,"$array");function wc(o){return new H(o)}a(wc,"$field");function Rc(o,e){return ee("=",o,e)}a(Rc,"$eq");function bc(o,e){return ee("!=",o,e)}a(bc,"$ne");function Dc(o,e){return ee(">",o,e)}a(Dc,"$gt");function Nc(o,e){return ee(">=",o,e)}a(Nc,"$gte");function Sc(o,e){return ee("<",o,e)}a(Sc,"$lt");function Mc(o,e){return ee("<=",o,e)}a(Mc,"$lte");function vc(o,e){return ee("in",o,e)}a(vc,"$in");function Ic(o,e){return ee("!in",o,e)}a(Ic,"$notIn");function Lc(o,e){return ee("like",o,e)}a(Lc,"$like");function Pc(o,e){return ee("!like",o,e)}a(Pc,"$notLike");function kc(o,e){return ee("ilike",o,e)}a(kc,"$ilike");function Cc(o,e){return ee("!ilike",o,e)}a(Cc,"$notILike");function jc(o){return new xe(o)}a(jc,"$paren");function Fc(o){let e=new Je;return e.add=t=>(e.append("+",_t(t)),e),e.sub=t=>(e.append("-",_t(t)),e),e.mul=t=>(e.append("*",_t(t)),e),e.div=t=>(e.append("/",_t(t)),e),e.append("+",ti(o)),e}a(Fc,"$arithmetic");function ee(o,e,t){let r=typeof e=="string"?new H(e):ti(e),i=ti(t);return new le({op:o,left:r,right:i})}a(ee,"comparisonExpression");var ti=a(o=>Array.isArray(o)?Da(...o.map(_t)):_t(o),"wrapEntryValue"),_t=a(o=>o instanceof B?o:typeof o=="boolean"?new Qe(o):typeof o=="number"||typeof o=="bigint"?new _e(o):o==null?new Ye:o instanceof Date?new De(o):new Ge(""+o),"_wrapEntryValue");import Uc from"object-hash";import{asMutable as $c}from"ts-gems";import{validator as Bc,vg as G}from"valgen";var gt=/^([+-])?([a-z$_][\w.]*)$/i,F=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;g.call(this,e,t,r);let i=$c(this);i._fields=new S},"ComplexTypeBase"),En=class En extends g{constructor(){super(...arguments);p(this,"ctor");p(this,"additionalFields");p(this,"keyField")}fieldCount(t){if(t==="*")return this._fields.size;let r=0;for(let i of this.fields(t))r++;return r}fieldEntries(t){let r=this._fields.entries();if(t==="*")return r;let i;return{next(){for(;r&&(i=r.next(),!(i.done||i.value&&i.value[1].inScope(t))););return i.done?{done:i.done,value:void 0}:{done:i.done,value:[i.value[0],i.value[1].forScope(t)]}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fields(t){let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[1]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}fieldNames(t){if(t==="*")return this._fields.keys();let r=this.fieldEntries(t),i;return{next(){var n;return r?(i=r.next(),{done:i.done,value:(n=i.value)==null?void 0:n[0]}):{done:!0,value:void 0}},return(n){return r=void 0,{done:!0,value:n}},[Symbol.iterator](){return this}}}findField(t,r){if(t.includes(".")){let n=this.parseFieldPath(t,{scope:r});if(n.length===0)throw new Error(`Field "${t}" does not exist in scope "${r}"`);let s=n.pop();return s==null?void 0:s.field}let i=this._fields.get(t);if(i&&i.inScope(r))return i.forScope(r)}getField(t,r){let i=this.findField(t,"*");if(i&&!i.inScope(r))throw new Error(`Field "${t}" does not exist in scope "${r||"null"}"`);if(!i)throw new Error(`Field (${t}) does not exist`);return i.forScope(r)}parseFieldPath(t,r){var x,U,qe;let i=this,n,s=t.split("."),c=s.length,l=[],u=this.owner.node.getDataType("object"),E=r==null?void 0:r.allowSigns,O=a(()=>l.map(L=>L.fieldName).join("."),"getStrPath");for(let L=0;L<c;L++){let V={fieldName:s[L],dataType:u};l.push(V);let Ke=gt.exec(s[L]);if(!Ke)throw new TypeError(`Invalid field name (${O()})`);if(Ke[1]&&((L===0&&E==="first"||E==="each")&&(V.sign=Ke[1]),V.fieldName=Ke[2]),i){if(i instanceof F){if(n=i.findField(V.fieldName,r==null?void 0:r.scope),n){V.fieldName=n.name,V.field=n,V.dataType=n.type,i=n.type;continue}if(((x=i.additionalFields)==null?void 0:x[0])===!0){V.additionalField=!0,V.dataType=u,i=void 0;continue}if(((U=i.additionalFields)==null?void 0:U[0])==="type"&&((qe=i.additionalFields)==null?void 0:qe[1])instanceof g){V.additionalField=!0,V.dataType=i.additionalFields[1],i=i.additionalFields[1];continue}throw new Error(`Unknown field (${l.map(Ei=>Ei.fieldName).join(".")})`)}throw new TypeError(`"${l.map(Ei=>Ei.fieldName).join(".")}" field is not a complex type and has no child fields`)}V.additionalField=!0,V.dataType=u}return l}normalizeFieldPath(t,r){return this.parseFieldPath(t,r).map(i=>(i.sign||"")+i.fieldName).join(".")}generateCodec(t,r){var l;let i=r!=null&&r.cache?r:{...r,projection:Array.isArray(r==null?void 0:r.projection)?ga(r.projection):r==null?void 0:r.projection,currentPath:""},n=this._generateSchema(t,i),s;if(this.additionalFields instanceof g)s=this.additionalFields.generateCodec(t,r);else if(typeof this.additionalFields=="boolean")s=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)s="error";else{let u=s[1];s=Bc((E,O,x)=>O.fail(x,u,E))}let c=G.isObject(n,{ctor:this.name==="object"?Object:this.ctor,additionalFields:s,name:this.name,coerce:!0,caseInSensitive:r==null?void 0:r.caseInSensitive,onFail:r==null?void 0:r.onFail});if(i.level===0&&((l=i.forwardCallbacks)!=null&&l.size))for(let u of i.forwardCallbacks)u();return c}_generateSchema(t,r){var u;r.fieldCache=r.fieldCache||new Map,r.level=r.level||0,r.forwardCallbacks=r.forwardCallbacks||new Set;let i={},{currentPath:n,projection:s}=r,c=!!(s&&Object.values(s).find(E=>!E.sign)),l;for(let E of this.fields("*")){if(!E.inScope(r.scope)||!(r.keepKeyFields&&this.keyField)&&(r.ignoreReadonlyFields&&E.readonly||r.ignoreWriteonlyFields&&E.writeonly)){i[E.name]=G.isUndefined({coerce:!0});continue}l=E.name;let O;if(s!=="*"&&(O=s==null?void 0:s[l.toLowerCase()],(O==null?void 0:O.sign)==="-"||c&&!O||!c&&E.exclusive&&!O)){i[E.name]=G.isUndefined({coerce:!0});continue}let x=typeof s=="object"?((u=s[l])==null?void 0:u.projection)||"*":s,U=r.fieldCache.get(E),qe=typeof x=="string"?x:Uc(x||{});U||(U={},r.fieldCache.set(E,U));let L=U[qe];if(L===null)L=G.isAny(),r.forwardCallbacks.add(()=>{L=U[qe],i[l]=r.partial||!E.required?r.allowNullOptionals?G.nullable(L):G.optional(L):G.required(L)});else if(!L){let V=a(()=>{U[qe]=null;let Ke=E.generateCodec(t,{...r,partial:r.partial==="deep"?r.partial:void 0,projection:x,currentPath:n+(n?".":"")+l,level:r.level+1});return U[qe]=Ke,Ke},"defaultGenerator");r.fieldHook?L=r.fieldHook(E,r.currentPath,V):L=V()}i[l]=r.partial||!(E.required||L.id==="required")?r.allowNullOptionals?G.nullable(L):G.optional(L):L.id==="required"?L:G.required(L)}return r.allowPatchOperators&&(i._$pull=G.optional(G.isAny()),i._$push=G.optional(G.isAny())),i}};a(En,"ComplexTypeBaseClass");var Tn=En;F.prototype=Tn.prototype;import"reflect-metadata";import{omitUndefined as xn}from"@jsopen/objects";import{asMutable as qc}from"ts-gems";import{vg as Kc}from"valgen";var te=a(function(...o){if(!this)return te[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=qc(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof te))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),_n=class _n extends g{extendsFrom(e){var t;return e instanceof g||(e=this.node.getDataType(e)),e instanceof te?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return Kc.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return xn({...t,kind:this.kind,base:r,attributes:k(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(_n,"EnumTypeClass");var yr=_n;te.prototype=yr.prototype;Object.assign(te,yr);function Vc(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(c=>{var u;if(!isNaN(Number(c)))return;let l=(u=r==null?void 0:r.meanings)==null?void 0:u[c];i[c]=xn({description:l})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(c=>{var u;if(!isNaN(Number(c)))return;let l=(u=r==null?void 0:r.meanings)==null?void 0:u[c];i[o[c]]=xn({alias:c,description:l})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,y,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Vc,"EnumTypeFactory");te.prototype=yr.prototype;te[A]=Vc;var Yn={};Lr(Yn,{Base64Type:()=>Rn,CreditCardType:()=>ri,DateTimeType:()=>Ze,DateTimeTypeTz:()=>_r,DateType:()=>Tr,EanType:()=>vn,EmailType:()=>re,FieldPathType:()=>J,FilterType:()=>et,IbanType:()=>Cn,IpType:()=>ii,MobilePhoneType:()=>gr,ObjectIdType:()=>Un,OperationResult:()=>ye,TimeType:()=>Or,UrlType:()=>Qn,UuidType:()=>si});import{__decorate as zc,__metadata as Jc}from"tslib";import{isBase64 as Qc,validator as bn,vg as wn}from"valgen";import"reflect-metadata";import{omitUndefined as Sa}from"@jsopen/objects";import{asMutable as Wc}from"ts-gems";import{isAny as Ma}from"valgen";function gn(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(y,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(y,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(gn,"SimpleTypeDecoratorFactory");function Na(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(y,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(y,r,e.constructor)}}a(Na,"AttributeDecoratorFactory");var d=a(function(...o){var n,s;if(!this)return d[A](...o);let[e,t,r]=o;g.call(this,e,t,r);let i=Wc(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof d))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=k(t.attributes||{}),i.attributes=i.base?k(i.base.attributes):{},i.ownAttributes)for(let[c,l]of Object.entries(i.ownAttributes)){if((s=i.attributes[c])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${c}" can not be overwritten`);i.attributes[c]=l}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),An=class An extends g{constructor(){super(...arguments);p(this,"_generateDecoder");p(this,"_generateEncoder");p(this,"properties")}extend(t){return Object.setPrototypeOf(t,this),t}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof d?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}generateCodec(t,r,i){let n={...this.properties,...i};if(t==="decode"){let c=this;for(;c;){if(c._generateDecoder)return c._generateDecoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});c=this.base}return Ma}let s=this;for(;s;){if(s._generateEncoder)return s._generateEncoder(n,{dataType:this,element:(r==null?void 0:r.documentElement)||this.owner,scope:r==null?void 0:r.scope});s=this.base}return Ma}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n=Sa(this.ownAttributes),s;this.properties&&typeof this.properties.toJSON=="function"?s=this.properties.toJSON(this.properties,this.owner,t):s=this.properties?k(this.properties):{};let c={...r,kind:this.kind,base:i,attributes:n&&Object.keys(n).length?n:void 0,properties:Object.keys(s).length?s:void 0};return Object.keys(this.ownNameMappings).length&&(c.nameMappings={...this.ownNameMappings}),Sa(c,!0)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(An,"SimpleTypeClass");var On=An;d.prototype=On.prototype;Object.assign(d,gn);d[A]=gn;d.Attribute=Na;var Ot,Rn=(Ot=class{constructor(e){p(this,"designType");e&&Object.assign(this,e)}[T](e){let t=wn.isBase64({coerce:!0});return e.designType===Buffer?wn.pipe([t,Yc],{coerce:!0}):e.designType===Uint8Array?wn.pipe([t,Gc],{coerce:!0}):t}[_](){return Xc}},a(Ot,"Base64Type"),Ot);Rn=zc([d({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),Jc("design:paramtypes",[Object])],Rn);var Yc=bn(o=>Buffer.from(o,"base64")),Gc=bn(o=>new Uint8Array(Buffer.from(o,"base64"))),Xc=bn(o=>Buffer.isBuffer(o)?o.toString("base64"):Qc(o));import{__decorate as Ia,__metadata as La}from"tslib";import{vg as va}from"valgen";var At,ri=(At=class{constructor(e){p(this,"provider");e&&Object.assign(this,e)}[T](e){return va.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}[_](e){return va.isCreditCard({coerce:!0,provider:e==null?void 0:e.provider})}},a(At,"CreditCardType"),At);Ia([d.Attribute({description:"Locale to use for validation"}),La("design:type",Object)],ri.prototype,"provider",void 0);ri=Ia([d({name:"creditcard",description:"A Credit Card value",nameMappings:{js:"string",json:"string"}}),La("design:paramtypes",[Object])],ri);import{__decorate as Dn,__metadata as Nn}from"tslib";import{vg as ve}from"valgen";var Pa=ve.isDateString({precisionMin:"day",precisionMax:"day",trim:!0,coerce:!0}),Zc=ve.isDate({trim:"day",coerce:!0}),wt,Tr=(wt=class{constructor(e){p(this,"designType");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t;e.designType===Date?t=Zc:t=Pa;let r=[t];return e.minValue!=null&&r.push(ve.isGte(t(e.minValue))),e.maxValue!=null&&r.push(ve.isLte(t(e.maxValue))),r.length>0?ve.pipe(r,{returnIndex:0}):t}[_](e){let t=Pa,r=[t];return e.minValue!=null&&r.push(ve.isGte(t(e.minValue))),e.maxValue!=null&&r.push(ve.isLte(t(e.maxValue))),r.length>0?ve.pipe(r,{returnIndex:0}):t}},a(wt,"DateType"),wt);Dn([d.Attribute({description:"Minimum value"}),Nn("design:type",String)],Tr.prototype,"minValue",void 0);Dn([d.Attribute({description:"Maximum value"}),Nn("design:type",String)],Tr.prototype,"maxValue",void 0);Tr=Dn([d({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),Nn("design:paramtypes",[Object])],Tr);import{__decorate as Er,__metadata as xr}from"tslib";import{vg as Oe}from"valgen";var Rt,Ze=(Rt=class{constructor(e){p(this,"designType");p(this,"precisionMin");p(this,"precisionMax");p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t;e.designType===Date?t=Oe.isDate({coerce:!0}):t=Oe.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0});let r=[t];return e.minValue!=null&&r.push(Oe.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Oe.isLte(t(e.maxValue))),r.length>0?Oe.pipe(r,{returnIndex:0}):t}[_](e){let t=Oe.isDateString({precisionMin:e.precisionMin||"day",precisionMax:e.precisionMax||"ms",trim:!0,coerce:!0}),r=[t];return e.minValue!=null&&r.push(Oe.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Oe.isLte(t(e.maxValue))),r.length>0?Oe.pipe(r,{returnIndex:0}):t}},a(Rt,"DateTimeType"),Rt);Er([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "day".'}),xr("design:type",String)],Ze.prototype,"precisionMin",void 0);Er([d.Attribute({description:'Determines the minimum precision, e.g. "year", "month", "hours", "minutes", "seconds" etc. Defaults to "ms".'}),xr("design:type",String)],Ze.prototype,"precisionMax",void 0);Er([d.Attribute({description:"Minimum value"}),xr("design:type",String)],Ze.prototype,"minValue",void 0);Er([d.Attribute({description:"Maximum value"}),xr("design:type",String)],Ze.prototype,"maxValue",void 0);Ze=Er([d({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}),xr("design:paramtypes",[Object])],Ze);import{__decorate as Sn,__metadata as Mn}from"tslib";import{vg as He}from"valgen";var ka=He.isDateString({precisionMin:"tz",coerce:!0}),bt,_r=(bt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=ka,r=[t];return e.minValue!=null&&r.push(He.isGte(t(e.minValue))),e.maxValue!=null&&r.push(He.isLte(t(e.maxValue))),r.length>0?He.pipe(r,{returnIndex:0}):t}[_](e){let t=ka,r=[t];return e.minValue!=null&&r.push(He.isGte(t(e.minValue))),e.maxValue!=null&&r.push(He.isLte(t(e.maxValue))),r.length>0?He.pipe(r,{returnIndex:0}):t}},a(bt,"DateTimeTypeTz"),bt);Sn([d.Attribute({description:"Minimum value"}),Mn("design:type",String)],_r.prototype,"minValue",void 0);Sn([d.Attribute({description:"Maximum value"}),Mn("design:type",String)],_r.prototype,"maxValue",void 0);_r=Sn([d({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),Mn("design:paramtypes",[Object])],_r);import{__decorate as Hc,__metadata as el}from"tslib";import{vg as Ca}from"valgen";var Dt,vn=(Dt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ca.isEAN({coerce:!0})}[_](){return Ca.isEAN({coerce:!0})}},a(Dt,"EanType"),Dt);vn=Hc([d({name:"ean",description:"An EAN (European Article Number)",nameMappings:{js:"string",json:"string"}}),el("design:paramtypes",[Object])],vn);import{__decorate as de,__metadata as he}from"tslib";import{vg as ja}from"valgen";var Nt,re=(Nt=class{constructor(e){p(this,"allowDisplayName");p(this,"requireDisplayName");p(this,"utf8LocalPart");p(this,"ignoreMaxLength");p(this,"allowIpDomain");p(this,"domainSpecificValidation");p(this,"hostBlacklist");p(this,"hostWhitelist");p(this,"blacklistedChars");e&&Object.assign(this,e)}[T](e){return ja.isEmail({...e,coerce:!0})}[_](e){return ja.isEmail({...e,coerce:!0})}},a(Nt,"EmailType"),Nt);de([d.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),he("design:type",Boolean)],re.prototype,"allowDisplayName",void 0);de([d.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),he("design:type",Boolean)],re.prototype,"requireDisplayName",void 0);de([d.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),he("design:type",Boolean)],re.prototype,"utf8LocalPart",void 0);de([d.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),he("design:type",Boolean)],re.prototype,"ignoreMaxLength",void 0);de([d.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),he("design:type",Boolean)],re.prototype,"allowIpDomain",void 0);de([d.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),he("design:type",Boolean)],re.prototype,"domainSpecificValidation",void 0);de([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),he("design:type",Array)],re.prototype,"hostBlacklist",void 0);de([d.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),he("design:type",Array)],re.prototype,"hostWhitelist",void 0);de([d.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),he("design:type",String)],re.prototype,"blacklistedChars",void 0);re=de([d({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),he("design:paramtypes",[Object])],re);import{__decorate as In,__metadata as Ln}from"tslib";import{toString as tl,validator as rl,vg as il}from"valgen";var St,J=(St=class{constructor(e){p(this,"dataType");p(this,"allowSigns");e&&Object.assign(this,e)}[T](e,{element:t,scope:r}){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=rl("decodeFieldPath",c=>i.normalizeFieldPath(c,{allowSigns:n,scope:r}));return il.pipe([tl,s])}[_](e,t){return this[T](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(St,"FieldPathType"),St);In([d.Attribute({description:"Data type which field belong to"}),Ln("design:type",Object)],J.prototype,"dataType",void 0);In([d.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),Ln("design:type",String)],J.prototype,"allowSigns",void 0);J=In([d({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),Ln("design:paramtypes",[Object])],J);import{__decorate as Pn,__metadata as kn}from"tslib";import{validator as Fa}from"valgen";var Mt,et=(Mt=class{constructor(e){p(this,"dataType");p(this,"rules");e&&Object.assign(this,e)}[T](e,{element:t}){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new xt(e.rules):void 0;return ol(r,i)}[_](){return nl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");g.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(Mt,"FilterType"),Mt);Pn([d.Attribute({description:"Data type which filtering fields belong to"}),kn("design:type",Object)],et.prototype,"dataType",void 0);Pn([d.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),kn("design:type",Object)],et.prototype,"rules",void 0);et=Pn([d({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),kn("design:paramtypes",[Object])],et);var ol=a((o,e,t)=>Fa("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=hr.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),nl=Fa("encodeFilter",(o,e,t)=>{if(o instanceof hr.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});import{__decorate as sl,__metadata as al}from"tslib";import{vg as Ua}from"valgen";var vt,Cn=(vt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ua.isIBAN({coerce:!0})}[_](){return Ua.isIBAN({coerce:!0})}},a(vt,"IbanType"),vt);Cn=sl([d({name:"iban",description:"An IBAN (International Bank Account Number)",nameMappings:{js:"string",json:"string"}}),al("design:paramtypes",[Object])],Cn);import{__decorate as $a,__metadata as Ba}from"tslib";import{vg as Ie}from"valgen";var It,ii=(It=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[T](e){return e!=null&&e.version?Ie.isIP(e==null?void 0:e.version,{coerce:!0}):Ie.oneOf([Ie.isIP("4",{coerce:!0}),Ie.isIP("6",{coerce:!0})])}[_](e){return e!=null&&e.version?Ie.isIP(e==null?void 0:e.version,{coerce:!0}):Ie.oneOf([Ie.isIP("4",{coerce:!0}),Ie.isIP("6",{coerce:!0})])}},a(It,"IpType"),It);$a([d.Attribute({description:"IP version to use for validation"}),Ba("design:type",Object)],ii.prototype,"version",void 0);ii=$a([d({name:"ip",description:"An IP address",nameMappings:{js:"string",json:"string"}}),Ba("design:paramtypes",[Object])],ii);import{__decorate as jn,__metadata as Fn}from"tslib";import{vg as qa}from"valgen";var Lt,gr=(Lt=class{constructor(e){p(this,"locale");p(this,"strictMode");e&&Object.assign(this,e)}[T](e){return qa.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}[_](e){return qa.isMobilePhone({coerce:!0,locale:(e==null?void 0:e.locale)||"any",strictMode:(e==null?void 0:e.strictMode)??!0})}},a(Lt,"MobilePhoneType"),Lt);jn([d.Attribute({description:"Locale to use for validation"}),Fn("design:type",String)],gr.prototype,"locale",void 0);jn([d.Attribute({description:"If this is set to true, the mobile phone number must be supplied with the country code and therefore must start with +. Locale number"}),Fn("design:type",Boolean)],gr.prototype,"strictMode",void 0);gr=jn([d({name:"mobilephone",description:"A Mobile Phone Number value",nameMappings:{js:"string",json:"string"}}),Fn("design:paramtypes",[Object])],gr);import{__decorate as pl,__metadata as cl}from"tslib";import{vg as Ka}from"valgen";var Pt,Un=(Pt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Ka.isObjectId({coerce:!0})}[_](){return Ka.isObjectId({coerce:!0})}},a(Pt,"ObjectIdType"),Pt);Un=pl([d({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),cl("design:paramtypes",[Object])],Un);import{__decorate as Le,__metadata as Pe}from"tslib";import{omitUndefined as Va}from"@jsopen/objects";import{asMutable as fl}from"ts-gems";import{vg as oi}from"valgen";import{omitUndefined as ll}from"@jsopen/objects";function $n(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(y,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),c=n.fields[i]={...o,designType:s};s===Array?c.isArray=!0:c.type=c.type||s,Reflect.defineMetadata(y,n,r.constructor);for(let l of e)l(c)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push(ll({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a($n,"ApiFieldDecoratorFactory");var $=a(function(...o){if(!(this instanceof $)){let[n]=o;return $[A](n)}let[e,t]=o;w.call(this,e);let r=fl(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof F))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.designType=t.designType,r.override=t.override},"ApiField"),qn=class qn extends w{constructor(){super(...arguments);p(this,"origin")}inScope(t){return cr(t,this.scopePattern)}forScope(t){if(!(t&&this.override))return this;this._overrideCache=this._overrideCache||{};let r=this._overrideCache[t];if(r)return r;if(t!=="*"){for(let i of this.override)if(cr(t,i.scopePattern)){r=Va({...i,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:i.scopePattern}),Object.setPrototypeOf(r,this);break}}return r=r||this,this._overrideCache[t]=r,r}toJSON(t){var i;let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return Va({type:r||((i=this.type)==null?void 0:i.toJSON(t)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}generateCodec(t,r,i){var s;if(this.fixed)return oi.fixed(this.fixed);let n=((s=this.type)==null?void 0:s.generateCodec(t,r,{...i,designType:this.designType}))||oi.isAny();return this.default!==void 0&&(n=oi.required(n,{default:this.default})),this.isArray&&this.type.kind!==m.ArrayType.Kind&&(n=oi.isArray(n)),n}};a(qn,"ApiFieldClass");var Bn=qn;$.prototype=Bn.prototype;Object.assign($,$n);$[A]=$n;import"reflect-metadata";import{omitUndefined as ul}from"@jsopen/objects";import{asMutable as dl}from"ts-gems";import{omit as ml}from"@jsopen/objects";function Kn(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!j.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(y,e);r||(r={},Reflect.defineMetadata(y,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,ml(o,["name"]))}}a(Kn,"ComplexTypeDecorator");var ie=a(function(...o){var n;if(!this)return ie[A].apply(void 0,o);let[e,t]=o,r=o[2]||new ue({maxErrors:0});F.call(this,e,t,r);let i=dl(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof F))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new $(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,c]of Object.entries(t.fields)){let l=new $(this,{...c,name:s});this._fields.set(l.name,l)}})},"ComplexType"),Wn=class Wn extends F{constructor(){super(...arguments);p(this,"base")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof F?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,n={...r,kind:this.kind,base:this.base?i||this.base.toJSON(t):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof g){let s=this.node.getDataTypeNameWithNs(this.additionalFields);n.additionalFields=s||this.additionalFields.toJSON(t)}else n.additionalFields=this.additionalFields;if(this._fields.size){let s={},c=0;for(let l of this._fields.values())l.origin===this&&l.inScope(t==null?void 0:t.scope)&&(s[l.name]=l.toJSON(t),c++);c&&(n.fields=s)}return ul(n)}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(Wn,"ComplexTypeClass");var Vn=Wn;ie.prototype=Vn.prototype;Object.assign(ie,Kn);ie[A]=Kn;var kt,ye=(kt=class{constructor(e){e&&Object.assign(this,e)}},a(kt,"OperationResult"),kt);Le([$(),Pe("design:type",String)],ye.prototype,"context",void 0);Le([$(),Pe("design:type",String)],ye.prototype,"type",void 0);Le([$(),Pe("design:type",String)],ye.prototype,"message",void 0);Le([$({type:"any"}),Pe("design:type",Object)],ye.prototype,"payload",void 0);Le([$({type:"object"}),Pe("design:type",Array)],ye.prototype,"errors",void 0);ye=Le([ie({name:"OperationResult",description:"Operation result",additionalFields:!0}),Pe("design:paramtypes",[Object])],ye);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return Le([$({type:t,required:!0}),Pe("design:type",Object)],r.prototype,"payload",void 0),r=Le([ie({embedded:!0}),Pe("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(ye||(ye={}));import{__decorate as zn,__metadata as Jn}from"tslib";import{vg as ni}from"valgen";var hl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Ct,Or=(Ct=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=ni.matches(hl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(ni.isGte(e.minValue)),e.maxValue!=null&&r.push(ni.isLte(e.maxValue)),r.length>0?ni.pipe([t,...r],{returnIndex:0}):t}[_](e){return this[T](e)}},a(Ct,"TimeType"),Ct);zn([d.Attribute({description:"Minimum value"}),Jn("design:type",String)],Or.prototype,"minValue",void 0);zn([d.Attribute({description:"Maximum value"}),Jn("design:type",String)],Or.prototype,"maxValue",void 0);Or=zn([d({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),Jn("design:paramtypes",[Object])],Or);import{__decorate as yl,__metadata as Tl}from"tslib";import{vg as Wa}from"valgen";var jt,Qn=(jt=class{constructor(e){e&&Object.assign(this,e)}[T](){return Wa.isURL({coerce:!0})}[_](){return Wa.isURL({coerce:!0})}},a(jt,"UrlType"),jt);Qn=yl([d({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),Tl("design:paramtypes",[Object])],Qn);import{__decorate as Ja,__metadata as Qa}from"tslib";import{vg as za}from"valgen";var Ft,si=(Ft=class{constructor(e){p(this,"version");e&&Object.assign(this,e)}[T](e){return za.isUUID(e==null?void 0:e.version,{coerce:!0})}[_](e){return za.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(Ft,"UuidType"),Ft);Ja([d.Attribute({description:"Version of the UUID"}),Qa("design:type",Object)],si.prototype,"version",void 0);si=Ja([d({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),Qa("design:paramtypes",[Object])],si);import Nl from"path-browserify";import{omitUndefined as Sl}from"@jsopen/objects";import{asMutable as Ml}from"ts-gems";var oe=Symbol.for("kMap"),Ar=Symbol.for("kCtorMap"),Ya,Ga,Gn=class Gn{constructor(){p(this,Ga,new S);p(this,Ya,new WeakMap)}get size(){return this[oe].size}forEach(e,t){this[oe].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Ar].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(y,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[y];t=i==null?void 0:i.name}if(!t)return;let r=this[oe].get(t);if(r){if(typeof e=="function"&&r.kind==="ComplexType"&&r.ctor!==e)throw new TypeError(`An other data type with same class (${e.name}) already exists.`);return r}}set(e,t){this[oe].set(e,t),t.ctor?this[Ar].set(t.ctor,e):t.instance&&this[Ar].set(t.instance,e)}has(e){if(e instanceof g)return!!e.name&&this[oe].has(e.name);let t=typeof e=="string"?e:this[Ar].get(e);return t?this[oe].has(t):!1}keys(){return this[oe].keys()}values(){return this[oe].values()}entries(){return this[oe].entries()}sort(e){return this[oe].sort(e),this}[(Ga=oe,Ya=Ar,Symbol.iterator)](){return this[oe][Symbol.iterator]()}};a(Gn,"DataTypeMap");var W=Gn;import Dl from"@browsery/type-is";import{isConstructor as Ut}from"@jsopen/objects";import gl from"@browsery/type-is";import{omitUndefined as Ol}from"@jsopen/objects";import{asMutable as Al}from"ts-gems";import{isAny as wl,vg as Rl}from"valgen";import"reflect-metadata";import{omitUndefined as El}from"@jsopen/objects";import{asMutable as xl}from"ts-gems";import{vg as ai}from"valgen";var ke=a(function(...o){if(!this)return ke[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=xl(this);i.kind=m.ArrayType.Kind,i.type=t.type,i.minOccurs=t.minOccurs,i.maxOccurs=t.maxOccurs},"ArrayType"),Zn=class Zn extends g{toJSON(e){let t=super.toJSON(e),r=this.node.getDataTypeNameWithNs(this.type);return El({...t,kind:this.kind,type:r||this.type.toJSON(e),minOccurs:this.minOccurs,maxOccurs:this.maxOccurs})}generateCodec(e,t,r){let i=this.type.generateCodec(e,t,r);i=ai.isArray(i);let n=[];return this.minOccurs&&n.push(ai.lengthMin(this.minOccurs)),this.maxOccurs&&n.push(ai.lengthMax(this.maxOccurs)),n.length>0?ai.pipe([i,...n],{returnIndex:0}):i}extendsFrom(){return!1}_locateBase(){}};a(Zn,"ArrayTypeClass");var Xn=Zn;ke.prototype=Xn.prototype;ke[A]=_l;function _l(o,e){let i=class i{};a(i,"ArrayClass");let t=i,r={...e,kind:m.ArrayType.Kind,type:o};return Reflect.defineMetadata(y,r,t),t}a(_l,"ArrayTypeFactory");var Ce=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=Al(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof g?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray,t.designType=e.designType},"HttpMediaType"),es=class es extends w{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=Ol({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t,r){let i;return this.type?i=this.type.generateCodec(e,t,{designType:this.designType}):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(s=>gl.is(s,["json"]))&&(i=this.node.findDataType("object").generateCodec(e,t,{...r,designType:this.designType})),i=i||wl,this.isArray&&!(this.type instanceof ke)?Rl.isArray(i):i}};a(es,"HttpMediaTypeClass");var Hn=es;Ce.prototype=Hn.prototype;import{omitUndefined as bl}from"@jsopen/objects";function je(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(je,"parseRegExp");var ts=class ts extends Ce{constructor(t,r){super(t,r);p(this,"fieldName");p(this,"fieldType");p(this,"required");this.fieldName=r.fieldName instanceof RegExp?r.fieldName:r.fieldName.startsWith("/")?je(r.fieldName):r.fieldName,this.fieldType=r.fieldType,this.required=r.required}toJSON(t){return bl({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(t)})}};a(ts,"HttpMultipartField");var pi=ts;function I(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(se,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n);Reflect.defineMetadata(se,s,r.constructor)}),"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="cookie"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="header"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="query"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};Ut(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(c=>!(c.location==="path"&&String(c.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType??b.json),(n.contentType?Array.isArray(n.contentType)?n.contentType:[n.contentType]:[]).find(c=>c.endsWith("+json")||c.endsWith("+xml")||c.endsWith("+yaml")||c.endsWith("+toml")||Dl.is(c,"json","html","text","xml"))&&(n.contentEncoding=n.contentEncoding??"utf-8"),Ut(n.type)&&(n.designType=n.type),o.push(c=>{c.responses=c.responses||[],c.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||[b.json,b.yaml,b.yaml2,b.toml,b.toml2],i.contentEncoding=i.contentEncoding||"utf-8",Ut(i.type)&&(i.designType=i.type)),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"field",...l}),s},File(c,l){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:c,fieldType:"file",...l}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(I,"HttpOperationDecoratorFactory");var D=a(function(...o){if(!this){let[i]=o,n=[];return D[A].call(void 0,n,i)}let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Ml(this);r.parameters=[],r.responses=[],r.types=r.node[P]=new W,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?k(t.compositionOptions):void 0},"HttpOperation"),is=class is extends w{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:Nl.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=Sl({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(is,"HttpOperationClass");var rs=is;D.prototype=rs.prototype;D[A]=I;D.GET=function(o){return I([],{...o,method:"GET"})};D.DELETE=function(o){return I([],{...o,method:"DELETE"})};D.HEAD=function(o){return I([],{...o,method:"HEAD"})};D.OPTIONS=function(o){return I([],{...o,method:"OPTIONS"})};D.PATCH=function(o){return I([],{...o,method:"PATCH"})};D.POST=function(o){return I([],{...o,method:"POST"})};D.PUT=function(o){return I([],{...o,method:"PUT"})};D.SEARCH=function(o){return I([],{...o,method:"SEARCH"})};import{omitUndefined as vl}from"@jsopen/objects";var os=class os extends w{constructor(t){super(t);p(this,"description");p(this,"content",[]);p(this,"required");p(this,"maxContentSize");p(this,"immediateFetch");p(this,"partial");p(this,"allowPatchOperators");p(this,"keepKeyFields");p(this,"allowNullOptionals")}toJSON(t){return vl({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(r=>r.toJSON(t)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators,allowNullOptionals:this.allowNullOptionals})}};a(os,"HttpRequestBody");var ci=os;D.Entity={};function z(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(y,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(z,"getDataTypeName");function Fe(o,e){return(t,r)=>{let i=typeof r=="string"||typeof r=="function"?{name:t,location:"path",type:r,keyParam:!0}:{...r,name:t,location:"path",keyParam:!0};return o.PathParam(t,i),e.push(n=>{var s;(s=n.path)!=null&&s.includes(":"+t)||(n.path=(n.path||"")+"@:"+t),n.mergePath=!0}),o}}a(Fe,"createKeyParamDecorator");function Xa(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,c)=>{let l=c.split(":");return s[l[0]]=l[1]||l[0],s},{}),i=Object.keys(r).reduce((s,c)=>{let l=gt.exec(c),u=gt.exec(r[c]);return l&&u&&(s[l[2]]=u[2]),s},{}),n=Object.keys(r).reduce((s,c)=>{let l=gt.exec(c);return l&&(l[1]!="-"&&(s[l[2]]=l[2]),l[1]!="+"&&(s["-"+l[2]]="-"+l[2])),s},{});return e.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:te(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(c=>{let l=gt.exec(c);return l?(l[1]||"")+i[l[2]]:c}),"parser")}),o}}a(Xa,"createSortFieldsDecorator");function Ue(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new xt,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new et({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let c=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(c.operators=c.operators||["=","!="],n.includes(":")){let l=n.split(":");n=l[0],c.mappedField=l[1]}return e.push(()=>{r.set(n,c),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(Ue,"createFilterDecorator");D.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i};D.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.Filter=Ue(i,r,t.type),i};var hs={};Lr(hs,{AnyType:()=>ns,BigintType:()=>ls,BooleanType:()=>fs,IntegerType:()=>Wt,NullType:()=>us,NumberType:()=>Ae,ObjectType:()=>ds,StringType:()=>tt});import{__decorate as Il,__metadata as Ll}from"tslib";import{isAny as Za}from"valgen";var $t,ns=($t=class{constructor(e){e&&Object.assign(this,e)}[T](){return Za}[_](){return Za}},a($t,"AnyType"),$t);ns=Il([d({name:"any",description:"Represents any value"}),Ll("design:paramtypes",[Object])],ns);import{__decorate as Pl,__metadata as kl}from"tslib";import{toBigint as ep,vg as cs}from"valgen";import{__decorate as as,__metadata as ps}from"tslib";import{toNumber as Ha,vg as ss}from"valgen";var Bt,Ae=(Bt=class{constructor(e){p(this,"minValue");p(this,"maxValue");e&&Object.assign(this,e)}[T](e){let t=[];return e.minValue!=null&&t.push(ss.isGte(e.minValue)),e.maxValue!=null&&t.push(ss.isLte(e.maxValue)),t.length>0?ss.pipe([Ha,...t],{returnIndex:0}):Ha}[_](e){return this[T](e)}},a(Bt,"NumberType"),Bt);as([d.Attribute({description:"Determines the minimum value"}),ps("design:type",Number)],Ae.prototype,"minValue",void 0);as([d.Attribute({description:"Determines the maximum value"}),ps("design:type",Number)],Ae.prototype,"maxValue",void 0);Ae=as([d({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),ps("design:paramtypes",[Object])],Ae);var qt,ls=(qt=class extends Ae{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(cs.isGte(e.minValue)),e.maxValue!=null&&t.push(cs.isLte(e.maxValue)),t.length>0?cs.pipe([ep,...t],{returnIndex:0}):ep}[_](e){return this[T](e)}},a(qt,"BigintType"),qt);ls=Pl([d({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),kl("design:paramtypes",[Object])],ls);import{__decorate as Cl,__metadata as jl}from"tslib";import{toBoolean as tp}from"valgen";var Kt,fs=(Kt=class{constructor(e){e&&Object.assign(this,e)}[T](){return tp}[_](){return tp}},a(Kt,"BooleanType"),Kt);fs=Cl([d({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),jl("design:paramtypes",[Object])],fs);import{__decorate as Fl,__metadata as Ul}from"tslib";import{toInteger as rp,vg as ms}from"valgen";var Vt,Wt=(Vt=class extends Ae{constructor(e){super(e)}[T](e){let t=[];return e.minValue!=null&&t.push(ms.isGte(e.minValue)),e.maxValue!=null&&t.push(ms.isLte(e.maxValue)),t.length>0?ms.pipe([rp,...t],{returnIndex:0}):rp}[_](e){return this[T](e)}},a(Vt,"IntegerType"),Vt);Wt=Fl([d({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),Ul("design:paramtypes",[Object])],Wt);import{__decorate as $l,__metadata as Bl}from"tslib";import{isNull as ip}from"valgen";var zt,us=(zt=class{constructor(e){e&&Object.assign(this,e)}[T](){return ip}[_](){return ip}},a(zt,"NullType"),zt);us=$l([d({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),Bl("design:paramtypes",[Object])],us);import{__decorate as ql,__metadata as Kl}from"tslib";var Jt,ds=(Jt=class{constructor(e){e&&Object.assign(this,e)}},a(Jt,"ObjectType"),Jt);ds=ql([ie({name:"object",description:"A non modelled object",additionalFields:!0}),Kl("design:paramtypes",[Object])],ds);import{__decorate as wr,__metadata as Rr}from"tslib";import{toString as op,vg as li}from"valgen";var Qt,tt=(Qt=class{constructor(e){p(this,"pattern");p(this,"patternName");p(this,"minLength");p(this,"maxLength");e&&Object.assign(this,e)}[T](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(y,Object.getPrototypeOf(this).constructor).name),t.push(li.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(li.lengthMin(e.minLength)),e.maxLength&&t.push(li.lengthMax(e.maxLength)),t.length>0?li.pipe([op,...t],{returnIndex:0}):op}[_](e){return this[T](e)}},a(Qt,"StringType"),Qt);wr([d.Attribute({description:"Regex pattern to be used for validation"}),Rr("design:type",Object)],tt.prototype,"pattern",void 0);wr([d.Attribute({description:"Name of the pattern"}),Rr("design:type",String)],tt.prototype,"patternName",void 0);wr([d.Attribute({description:"Minimum number of characters"}),Rr("design:type",Number)],tt.prototype,"minLength",void 0);wr([d.Attribute({description:"Minimum number of characters"}),Rr("design:type",Number)],tt.prototype,"maxLength",void 0);tt=wr([d({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),Rr("design:paramtypes",[Object])],tt);D.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:b.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new Wt({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new Wt({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=Ue(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.defaultSort=n}),i),i.SortFields=Xa(i,r),i};D.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=z(t.type)}),i.KeyParam=Fe(i,r),i};D.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new J({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:b.opra_response_json,type:t.type,partial:"deep"}).Response(R.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i.KeyParam=Fe(i,r),i.Filter=Ue(i,r,t.type),i};D.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[y]?t=o:t={...e,type:o};let r=[],i=I(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,allowNullOptionals:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(R.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:b.opra_response_json}).Response(R.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:b.opra_response_json}),r.push(s=>{let c=s.compositionOptions=s.compositionOptions||{};c.type=z(t.type)}),i.Filter=Ue(i,r,t.type),i};import{merge as ys}from"@jsopen/objects";var Vl=/^(.*)(Controller)$/,np=[];function Yt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Vl.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&ys(n,s,{deep:!0});let c=Reflect.getOwnMetadata(ae,r);c&&ys(n,c,{deep:!0}),ys(n,{...o,kind:m.MQController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),np.forEach(r=>r(t,e,o)),t}a(Yt,"MQControllerDecoratorFactory");Yt.augment=function(o){np.push(o)};import{isConstructor as sp,omit as zl}from"@jsopen/objects";var ap=[];function br(o,e,t){let r=!1,i=a(((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let c={kind:m.MQOperation.Kind,channel:s,type:e,...zl(t,["kind","type"])},l=Reflect.getOwnMetadata(ae,n.constructor)||{};l.operations=l.operations||{},l.operations[s]=c;for(let u of o)u(c,n,s);Reflect.defineMetadata(ae,l,n.constructor)}),"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(c=>{let l=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n};sp(l.type)&&(l.designType=l.type);let u=r?c.response:c;u.headers?u.headers=u.headers.filter(E=>String(E.name)!==String(n)):u.headers=[],u.headers.push(l)}),i),i.Response=(n,s)=>(o.push(c=>{r=!0,c.response={...s,type:n},sp(n)&&(c.response.designType=n)}),i),ap.forEach(n=>n(i,o,e,t)),i}a(br,"MQOperationDecoratorFactory");br.augment=function(o){ap.push(o)};import{merge as Ts}from"@jsopen/objects";var Ql=/^(.*)(Controller)$/,pp=[];function Gt(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=Ql.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(pe,Object.getPrototypeOf(r));s&&Ts(n,s,{deep:!0});let c=Reflect.getOwnMetadata(pe,r);c&&Ts(n,c,{deep:!0}),Ts(n,{...o,kind:m.WSController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(pe,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(pe,n,r)},"decorator");return t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),pp.forEach(r=>r(t,e,o)),t}a(Gt,"WSControllerDecoratorFactory");Gt.augment=function(o){pp.push(o)};import{omit as Gl}from"@jsopen/objects";var cp=[];function Dr(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:m.WSOperation.Kind,event:i,...Gl(e,["kind"])},s=Reflect.getOwnMetadata(pe,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let c of o)c(n,r,i);Reflect.defineMetadata(pe,s,r.constructor)}),"decorator");return t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),cp.forEach(r=>r(t,o,e)),t}a(Dr,"WSOperationDecoratorFactory");Dr.augment=function(o){cp.push(o)};import"reflect-metadata";import{omitUndefined as Zl}from"@jsopen/objects";import{asMutable as Hl}from"ts-gems";function fi(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(fi,"getIsInheritedPredicateFn");var rt=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;F.call(this,e,t,r);let i=Hl(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof F))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(u=>i.base.normalizeFieldPath(u)):t.omit?i.omit=t.omit.map(u=>i.base.normalizeFieldPath(u)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(u=>i.base.normalizeFieldPath(u)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(u=>i.base.normalizeFieldPath(u)):t.required);let s=fi(i.pick,i.omit),c=Array.isArray(i.partial)?i.partial.map(u=>u.toLowerCase()):i.partial,l=Array.isArray(i.required)?i.required.map(u=>u.toLowerCase()):i.required;for(let[u,E]of i.base.fieldEntries("*")){if(!s(u))continue;let O={...E};c===!0||Array.isArray(c)&&c.includes(E.name.toLowerCase())?O.required=!1:(l===!0||Array.isArray(l)&&l.includes(E.name.toLowerCase()))&&(O.required=!0);let x=new $(this,O);i._fields.set(x.name,x)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),xs=class xs extends F{constructor(){super(...arguments);p(this,"omit");p(this,"pick");p(this,"partial");p(this,"required")}extendsFrom(t){var r;return t instanceof g||(t=this.node.getDataType(t)),t instanceof F?t===this?!0:!!((r=this.base)!=null&&r.extendsFrom(t)):!1}toJSON(t){let r=super.toJSON(t),i=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return Zl({...r,base:i||this.base.toJSON(t),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(t){if(this.base){if(t(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(t)}}};a(xs,"MappedTypeClass");var Es=xs;rt.prototype=Es.prototype;rt._applyMixin=()=>{};import"reflect-metadata";import{omitUndefined as ef}from"@jsopen/objects";import{asMutable as tf}from"ts-gems";var Xt=a(function(...o){if(!this)return Xt[A].apply(void 0,o);let[e,t,r]=o;F.call(this,e,t,r);let i=tf(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let c=new $(this,s);i._fields.set(c.name,c)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),gs=class gs extends F{extendsFrom(e){if(e instanceof g||(e=this.node.getDataType(e)),!(e instanceof F))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return ef({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a(gs,"MixinTypeClass");var _s=gs;Xt.prototype=_s.prototype;Xt[A]=rf;function rf(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)Cr(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(y,i,r);for(let n of o){let s=Reflect.getMetadata(y,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),kr(r.prototype,n.prototype)}return r}a(rf,"MixinTypeFactory");import"reflect-metadata";import{omitUndefined as of}from"@jsopen/objects";import{asMutable as nf}from"ts-gems";import{vg as lp}from"valgen";var Zt=a(function(...o){if(!this)return Zt[A].apply(void 0,o);let[e,t,r]=o;g.call(this,e,t,r);let i=nf(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),As=class As extends g{toJSON(e){let t=super.toJSON(e);return of({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:lp.isEqual(i.discriminatorValue)}]:n});return lp.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(As,"UnionTypeClass");var Os=As;Zt.prototype=Os.prototype;Zt[A]=sf;function sf(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(y,r,t),t}a(sf,"UnionTypeFactory");var ws=Symbol("initializing"),mi=class mi{static async createDataType(e,t,r){e=e||new ue({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await mi.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[P];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new ue({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let l of i)n.set(l.name,l);let s=e.extend({initArgsMap:n}),c=[];for(let[l,u]of n.entries())e.enter(`[${l}]`,()=>{if(!n.has(l))return;let E=this._createDataType(s,t,u);E&&c.push(E)});return c}static async _prepareAllInitArgs(e,t,r){let i=new S,n=new S,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[P])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let c=0;for(let l of r)await s.enterAsync(`$[${c++}]`,async()=>{l=await Z(l);let u=Reflect.getMetadata(y,l)||l[y];if(!(u&&u.name))return typeof l=="function"?s.addError(`Class "${l.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(u.name,l)})}else{let c,l;for([l,c]of Object.entries(r))c=await Z(c),i.set(l,typeof c=="object"?{...c,name:l}:c)}for(let c of Array.from(i.keys())){if(!i.has(c))continue;let l=await this._importDataTypeArgs(s,t,c);l&&typeof l!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var O;r=await Z(r);let{importQueue:n,initArgsMap:s}=e,c=t.node.findDataType(r);if(c instanceof g)return c.name;let l,u,E;if(typeof r!="string"){let U=t.node.getDocument().types[jr].get(r);U&&(r=U)}if(typeof r=="string"){let x=r;if(r=(n==null?void 0:n.get(x))||((O=e.initArgsMap)==null?void 0:O.get(x)),!r)return e.addError(`Unknown data type (${x})`)}if(typeof r=="function"){if(l=Reflect.getMetadata(y,r),!l)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);u=r}else if(typeof r=="object"){if(l=r[y],l)E=r,l.kind!==m.EnumType.Kind&&(l=void 0);else if(m.isDataType(r))l=r,u=l.ctor;else if(u=Object.getPrototypeOf(r).constructor,l=u&&Reflect.getMetadata(y,u),l&&l.kind===m.SimpleType.Kind){let x=await this._importDataTypeArgs(e,t,l.name);return x?typeof x=="object"&&x.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:x,properties:r}:void 0}}return l?e.enterAsync(l.name?`[${l.name}]`:"",async()=>{if(l.name){let U=s==null?void 0:s.get(l.name);if(U)return i&&U[ws]?e.addError("Circular reference detected"):l.name}let x={kind:l.kind,name:l.name};x[ws]=!0;try{if(x.name)if(n!=null&&n.has(x.name))s==null||s.set(l.name,x),x._instance={name:l.name},x[P]=t.node[P];else return e.addError(`Data Type (${x.name}) must be explicitly added to type list in the document scope`);switch(x.kind){case m.ArrayType.Kind:await this._prepareArrayTypeArgs(e,t,x,l);break;case m.ComplexType.Kind:x.ctor=u,await this._prepareComplexTypeArgs(e,t,x,l);break;case m.EnumType.Kind:x.instance=E,await this._prepareEnumTypeArgs(e,t,x,l);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,x,l);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,x,l);break;case m.SimpleType.Kind:x.ctor=u,await this._prepareSimpleTypeArgs(e,t,x,l);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,x,l);break;default:return e.addError(`Invalid data type kind ${l.kind}`)}}finally{x.name&&(n==null||n.delete(x.name)),delete x[ws]}return n&&x.name?x.name:x}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareArrayTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".type",async()=>{let n=await this._importDataTypeArgs(e,t,i.type);n&&(r.type=we(n))})}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=we(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=we(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let c=typeof s=="string"?{type:s}:s;if(c.isArray&&!c.type)return e.addError('"type" must be defined explicitly for array fields');let l=await this._importDataTypeArgs(e,t,c.type||"any");l&&(r.fields[n]={...c,type:we(l)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=we(n))}),r.attributes=k(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,c,l;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let u;if(i.base)u=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let E=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,E)&&(u=await this._importDataTypeArgs(e,t,E))}u&&(r.base=we(u),r.ctor=r.ctor||u.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=k(i.attributes)),typeof((n=r.properties)==null?void 0:n[T])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[T].bind(r.properties)),typeof((c=r.properties)==null?void 0:c[_])=="function"&&(r.generateEncoder=(l=r.properties)==null?void 0:l[_].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(y,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=we(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(we(l))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let c of n)await e.enterAsync(`[${s++}]`,async()=>{let l=await this._importDataTypeArgs(e,t,c);l&&r.types.push(we(l))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof g)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let c=n[P];switch(c||delete n._instance,i=n._instance,i!=null&&i.name&&c&&c.set(i.name,i),n==null?void 0:n.kind){case m.ArrayType.Kind:return this._createArrayType(e,t,n);case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createArrayType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ke.prototype);let n=k(r);return r.type&&e.enter(".type",()=>{n.type=this._createDataType(e,t,r.type)}),ke.apply(i,[t,n]),i}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ie.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,c]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let l=this._createDataType(e,t,c.type);l&&(n.fields[s]={...c,name:s,type:l})})}),ie.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,te.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,te.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,rt.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),rt.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Xt.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);if(!(l instanceof F))throw new TypeError(`"${l==null?void 0:l.kind}" can't be set as base for a "${n.kind}"`);n.types.push(l)})}),Xt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,d.prototype);let n=k(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),d.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Zt.prototype);let n=k(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let c of r.types)e.enter(`[${s++}]`,()=>{let l=this._createDataType(e,t,c);n.types.push(l)})}),Zt.apply(i,[t,n]),i}};a(mi,"DataTypeFactory");var M=mi;function we(o){return typeof o=="object"&&o.name?o.name:o}a(we,"preferName");import{isConstructor as _f}from"@jsopen/objects";import{omitUndefined as pf}from"@jsopen/objects";var Rs=class Rs extends w{constructor(t){super(t.owner);p(this,"name","OpraApi");p(this,"description");this.name=t.name,this.description=t.description}toJSON(t){return pf({transport:this.transport,name:this.name,description:this.description})}async _initialize(t,r){if(!j.test(t.name))throw new TypeError(`Invalid api name (${t.name})`);this.name=t.name,this.description=t==null?void 0:t.description}};a(Rs,"ApiBase");var $e=Rs;import hf from"path-browserify";import{omitUndefined as yf}from"@jsopen/objects";import{asMutable as Tf}from"ts-gems";import{merge as bs,omit as cf}from"@jsopen/objects";var lf=/^(.*)(Controller)$/;function Ds(o){let e=[],t=a(function(r){var l;let i=o==null?void 0:o.name;i||(i=((l=lf.exec(r.name))==null?void 0:l[1])||r.name);let n={},s=Reflect.getOwnMetadata(se,Object.getPrototypeOf(r));s&&bs(n,s,{deep:!0});let c=Reflect.getOwnMetadata(se,r);c&&bs(n,c,{deep:!0}),bs(n,{kind:m.HttpController.Kind,name:i,path:i,...cf(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(se,n,r);for(let u of e)u(n,r);Reflect.defineMetadata(se,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var c;(c=n.path)!=null&&c.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(Ds,"HttpControllerDecoratorFactory");import{omitUndefined as uf}from"@jsopen/objects";import{asMutable as df}from"ts-gems";import{vg as fp}from"valgen";import{omitUndefined as ff}from"@jsopen/objects";import{asMutable as mf}from"ts-gems";var it=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=mf(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Ss=class Ss extends w{constructor(){super(...arguments);p(this,"type");p(this,"description");p(this,"examples");p(this,"isArray")}toJSON(t){let r=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return ff({type:this.type?r||this.type.toJSON(t):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Ss,"ValueClass");var Ns=Ss;it.prototype=Ns.prototype;var Nr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');it.call(this,o,e);let t=df(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?je(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.default=e.default,t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser,t.designType=e.designType},"HttpParameter"),vs=class vs extends it{toJSON(e){return uf({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,default:this.default,deprecated:this.deprecated})}generateCodec(e,t,r){var n;let i=((n=this.type)==null?void 0:n.generateCodec(e,t,{...r,designType:this.designType}))||fp.isAny();return this.default!==void 0?fp.required(i,{default:this.default}):i}};a(vs,"HttpParameterClass");var Ms=vs;Nr.prototype=Ms.prototype;var ne=a(function(...o){var i;if(!this)return ne[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Tf(this);r.kind=m.HttpController.Kind,r.types=r.node[P]=new W,r.operations=new S,r.controllers=new S,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Ls=class Ls extends w{get isRoot(){return!(this.owner instanceof ne)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof ne)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return hf.posix.join(this.owner instanceof ne?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=yf({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[Ne](){return`[${Se}HttpController${Me+this.name+ge}]`}};a(Ls,"HttpControllerClass");var Is=Ls;ne.prototype=Is.prototype;Object.assign(ne,Ds);ne[A]=Ds;var Ps=class Ps extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","http");p(this,"controllers",new S);p(this,"url");this.url=t.url}findController(t){return ne.prototype.findController.call(this,t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(t){let i={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let n of this.controllers.values())i.controllers[n.name]=n.toJSON(t);return i}};a(Ps,"HttpApi");var ot=Ps;import{omitUndefined as xf}from"@jsopen/objects";var Ef=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,ks=class ks{constructor(e,t){p(this,"start",0);p(this,"end",0);if(e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=Ef.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a(ks,"HttpStatusRange");var Sr=ks;var Cs=class Cs extends Ce{constructor(t,r){super(t,r);p(this,"statusCode");p(this,"parameters");p(this,"partial");this.parameters=[],this.statusCode=(Array.isArray(r.statusCode)?r.statusCode:[r.statusCode]).map(i=>typeof i=="object"?new Sr(i.start,i.end):new Sr(i)),this.partial=r.partial}findParameter(t,r){t=t.toLowerCase();for(let i of this.parameters)if((!r||r===i.location)&&(i.name instanceof RegExp&&i.name.test(t)||i.name===t))return i}toJSON(t){let r=this.statusCode.map(n=>n.toJSON()),i=xf({...super.toJSON(t),statusCode:r.length===1&&typeof r[0]=="number"?r[0]:r,partial:this.partial});if(this.parameters.length){i.parameters=[];for(let n of this.parameters)i.parameters.push(n.toJSON(t))}return i}};a(Cs,"HttpOperationResponse");var ui=Cs;var js=class js{static async createApi(e,t){let r=new ot(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let c=await this._createController(e,t,s.metadata,s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(c.name,c))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let c=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);c&&(t.controllers.get(c.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(c.name,c))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!_f(r)&&(r=t instanceof ne?r(t.instance):r()),r=await Z(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(se,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(se,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new ne(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let c=0;for(let l of r.parameters)await e.enterAsync(`[${c++}]`,async()=>{let u={...l};await e.enterAsync(".type",async()=>{u.type=await M.resolveDataType(e,s,l.type)});let E=new Nr(s,u);s.parameters.push(E)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[c,l]of Object.entries(r.operations))await e.enterAsync(`[${c}]`,async()=>{let u=new D(s,{name:c,method:"GET"});await this._initHttpOperation(e,u,l),s.operations.set(c,u)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let c={...s};await e.enterAsync(".type",async()=>{c.type=await M.resolveDataType(e,t,s.type)});let l=new Nr(t,c);t.parameters.push(l)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let c=new ui(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,c,s),t.responses.push(c)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new ci(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Ce.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await M.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new pi(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Nr(t,s);t.parameters.push(c)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.allowNullOptionals=r.allowNullOptionals,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new Ce(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(js,"HttpApiFactory");var Ht=js;import{omitUndefined as Mf}from"@jsopen/objects";import{md5 as vf}from"super-fast-md5";import{omitUndefined as Of}from"@jsopen/objects";import{asMutable as Af}from"ts-gems";var nt=a(function(...o){var i;if(!this)return nt[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Af(this);r.kind=m.MQController.Kind,r.types=r.node[P]=new W,r.operations=new S,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"MQController"),Us=class Us extends w{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof nt)return this.node.parent.element.findHeader(e,t)}toString(){return`[MQController ${this.name}]`}toJSON(){let e=Of({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[Ne](){return`[${Se}MQController${Me+this.name+ge}]`}};a(Us,"MQControllerClass");var Fs=Us;nt.prototype=Fs.prototype;Object.assign(nt,Yt);nt[A]=Yt;import{omitUndefined as wf}from"@jsopen/objects";import{asMutable as Rf}from"ts-gems";import{vg as mp}from"valgen";var Mr=a(function(...o){if(!this){let[i,n]=o,s=[];return Mr[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Rf(this);r.headers=[],r.types=r.node[P]=new W,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.type&&(r.type=(t==null?void 0:t.type)instanceof g?t.type:r.owner.node.getDataType(t.type)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof g?t.keyType:r.owner.node.getDataType(t.keyType)),r.designType=t.designType,r.keyDesignType=t.keyDesignType},"MQOperation"),Bs=class Bs extends w{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=wf({kind:m.MQOperation.Kind,description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||mp.isAny()}generateKeyCodec(e,t,r){var i;return((i=this.keyType)==null?void 0:i.generateCodec(e,t,{...r,designType:this.keyDesignType}))||mp.isAny()}};a(Bs,"MQOperationClass");var $s=Bs;Mr.prototype=$s.prototype;Mr[A]=br;var qs=class qs extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","mq");p(this,"platform");p(this,"controllers",new S);this.platform=t.platform}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(qs,"MQApi");var st=qs;import{omitUndefined as bf}from"@jsopen/objects";import{asMutable as Df}from"ts-gems";var er=a(function(...o){var i;if(!this)return er[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=Df(this);r.kind=m.WSController.Kind,r.types=r.node[P]=new W,r.operations=new S,r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"WSController"),Vs=class Vs extends w{toString(){return`[WSController ${this.name}]`}toJSON(){let e=bf({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return e}[Ne](){return`[${Se}WSController${Me+this.name+ge}]`}};a(Vs,"WSControllerClass");var Ks=Vs;er.prototype=Ks.prototype;Object.assign(er,Gt);er[A]=Gt;import{omitUndefined as Nf}from"@jsopen/objects";import{asMutable as Sf}from"ts-gems";var vr=a(function(...o){if(!this){let[i,n]=o,s=[];return vr[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!j.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=Sf(this);r.types=r.node[P]=new W,r.name=t.name,r.description=t.description,t.event?this.event=t.event instanceof RegExp?t.event:t.event.startsWith("/")?je(t.event):t.event:r.event=this.name,t!=null&&t.arguments?r.arguments=t.arguments.map(i=>({type:i.type instanceof g?i.type:r.owner.node.getDataType(i.type),parameterIndex:i.parameterIndex})):r.arguments=[],t!=null&&t.response&&(r.response=t.response instanceof g?t.response:r.owner.node.getDataType(t.response))},"WSOperation"),zs=class zs extends w{toJSON(){var e;return Nf({kind:m.WSOperation.Kind,description:this.description,event:this.event,arguments:(e=this.arguments)==null?void 0:e.map(t=>t.type.name?t.type.name:t.type.toJSON())})}};a(zs,"WSOperationClass");var Ws=zs;vr.prototype=Ws.prototype;vr[A]=Dr;var Js=class Js extends $e{constructor(t){super(t);p(this,"_controllerReverseMap",new WeakMap);p(this,"transport","ws");p(this,"controllers",new S)}findController(t){if(typeof t=="function"){let r=this._controllerReverseMap.get(t);if(r!=null)return r;for(let i of this.controllers.values())if(i.ctor===t)return this._controllerReverseMap.set(t,i),i;this._controllerReverseMap.set(t,null);return}return this.controllers.get(t)}findOperation(t,r){let i=this.findController(t);return i==null?void 0:i.operations.get(r)}toJSON(){let r={...super.toJSON(),transport:this.transport,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON();return r}};a(Js,"WSApi");var at=Js;var up,dp,Qs=class Qs extends(dp=w,up=Re,dp){constructor(){super(null);p(this,up,new WeakMap);p(this,"id","");p(this,"url");p(this,"info",{});p(this,"references",new S);p(this,"types",new W);p(this,"api");this.node[P]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(t){let r=t instanceof g?this._findDataType(t.name||""):this._findDataType(t);if(r)return this[Re].get(r)}findDocument(t){if(this.id===t)return this;for(let r of this.references.values()){if(r.id===t)return r;let i=r.findDocument(t);if(i)return i}}get httpApi(){if(this.api&&this.api instanceof ot)return this.api}get mqApi(){if(this.api&&this.api instanceof st)return this.api}get wsApi(){if(this.api&&this.api instanceof at)return this.api}getHttpApi(){if(!(this.api&&this.api instanceof ot))throw new TypeError("The document do not contains HttpApi instance");return this.api}getMqApi(){if(!(this.api&&this.api instanceof st))throw new TypeError("The document do not contains MQApi instance");return this.api}getWsApi(){if(!(this.api&&this.api instanceof at))throw new TypeError("The document do not contains WSApi instance");return this.api}toJSON(){return this.export()}export(t){let r=Mf({spec:m.SpecVersion,id:this.id,url:this.url,info:k(this.info,!0)});if(this.references.size){let i=0,n={};for(let[s,c]of this.references.entries())c[Ve]||(n[s]={id:c.id,url:c.url,info:k(c.info,!0)},i++);i&&(r.references=n)}if(this.types.size){r.types={};for(let i of this.types.values())i.inScope(t==null?void 0:t.scope)&&(r.types[i.name]=i.toJSON(t))}return this.api&&(r.api=this.api.toJSON(t)),r}invalidate(){let t=this.export({});delete t.id,this.id=vf(JSON.stringify(t)),this[Re]=new WeakMap}_findDataType(t,r,i){let n=this.types.get(t);if(n&&n.inScope(r))return n;if(!this.references.size)return;if(typeof t=="string"){let c=Ea.exec(t);if(c){let l=c[1];if(l){let u=this.references.get(l);return u?(i=i||new WeakMap,i.set(this,!0),i.set(u,!0),u._findDataType(c[2],r,i)):void 0}t=c[2]}}i=i||new WeakMap,i.set(this,!0);let s=Array.from(this.references.keys()).reverse();for(let c of s){let l=this.references.get(c);if(n=l==null?void 0:l.types.get(t),n)return this[Re].set(n,l!=null&&l[Ve]?"":c),n}for(let c of s){let l=this.references.get(c);if(i.set(l,!0),n=l._findDataType(t,r,i),n)return this[Re].set(n,l!=null&&l[Ve]?"":c),n}}};a(Qs,"ApiDocument");var pt=Qs;function Be(o,e,t){let r=fi(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&Cr(this,o,r)}}}[n];if(typeof o=="function"&&kr(s.prototype,o.prototype),typeof o=="function"){let l=Reflect.getOwnMetadata(y,o);if(!l)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(l.kind===m.ComplexType.Kind||l.kind===m.MappedType.Kind||l.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let c={...t,kind:"MappedType",base:o};return e.pick&&(c.pick=e.pick),e.omit&&(c.omit=e.omit),e.partial&&(c.partial=e.partial),e.required&&(c.required=e.required),Reflect.defineMetadata(y,c,s),typeof o=="function"&&rt._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(Be,"createMappedClass");function YR(o,e,t){return Be(o,{omit:e},t)}a(YR,"OmitType");function HR(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Be(o,{partial:t},r)}a(HR,"PartialType");function ib(o,e,t){return Be(o,{pick:e},t)}a(ib,"PickType");function ab(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return Be(o,{required:t},r)}a(ab,"RequiredType");function fb(o,e){return(t,r,i)=>{if(typeof r!="string")throw new TypeError("Un-named properties can not be decorated");if(!o&&(o=Reflect.getMetadata("design:paramtypes",t,r)[i],!o))throw new TypeError("Missing parameter type");let n=Reflect.getOwnMetadata(ir,t,r);n||(n=[],Reflect.defineMetadata(ir,n,t,r)),n.push({...e,type:o,parameterIndex:i})}}a(fb,"WsParam");import{updateErrorMessage as Ff}from"@jsopen/objects";import{isConstructor as Cf}from"@jsopen/objects";import{omitUndefined as If}from"@jsopen/objects";import{asMutable as Lf}from"ts-gems";import{vg as Pf}from"valgen";var Ir=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');it.call(this,o,e);let t=Lf(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?je(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required,t.designType=e.designType},"MQHeader"),Gs=class Gs extends it{toJSON(){return If({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||Pf.isAny()}};a(Gs,"MQHeaderClass");var Ys=Gs;Ir.prototype=Ys.prototype;import{omitUndefined as kf}from"@jsopen/objects";var Xs=class Xs extends w{constructor(t,r){super(t);p(this,"channel");p(this,"description");p(this,"type");p(this,"keyType");p(this,"headers",[]);p(this,"designType");p(this,"keyDesignType");this.channel=r==null?void 0:r.channel,this.description=r==null?void 0:r.description,r!=null&&r.type?this.type=(r==null?void 0:r.type)instanceof g?r.type:this.owner.node.getDataType(r.type):this.type=this.owner.node.getDataType("any"),r!=null&&r.keyType&&(this.keyType=(r==null?void 0:r.keyType)instanceof g?r.keyType:this.owner.node.getDataType(r.keyType)),this.designType=r==null?void 0:r.designType,this.keyDesignType=r==null?void 0:r.keyDesignType}findHeader(t){let r=t.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(t))return i}toJSON(){let t=kf({description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){t.headers=[];for(let r of this.headers)t.headers.push(r.toJSON())}return t}};a(Xs,"MQOperationResponse");var di=Xs;var Zs=class Zs{static async createApi(e,t){let r=new st(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!Cf(r)&&(r=r()),r=await Z(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(ae,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid MQController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(ae,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with MQController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new nt(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let u=0;for(let E of s.headers)await e.enterAsync(`[${u++}]`,async()=>{let O={...E};await e.enterAsync(".type",async()=>{E.type&&(O.type=l.node.findDataType(E.type)),!O.type&&typeof E.type=="object"&&(O.type=await M.createDataType(e,l,E.type)),O.type||(O.type=l.node.getDataType("any"))});let x=new Ir(l,O);l.headers.push(x)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[u,E]of Object.entries(s.operations))await e.enterAsync(`[${u}]`,async()=>{let O=new Mr(l,{...E,name:u,types:void 0,type:void 0,keyType:void 0});await this._initMQOperation(e,O,E),l.operations.set(O.name,O)})}),l}static async _initMQOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Ir(t,s);t.headers.push(c)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new di(t,{...r.response,type:void 0,keyType:void 0});await this._initMQOperationResponse(e,i,r.response),t.response=i})}static async _initMQOperationResponse(e,t,r){t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let c=new Ir(t,s);t.headers.push(c)})})}};a(Zs,"MQApiFactory");var hi=Zs;import{isConstructor as jf}from"@jsopen/objects";var Hs=class Hs{static async createApi(e,t){let r=new at(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!jf(r)&&(r=r()),r=await Z(r);let n,s,c;if(typeof r=="function"){if(s=Reflect.getMetadata(pe,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid WSController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(pe,n),s?c=r:(s=r,r.instance==="object"&&(c=r.instance,n=Object.getPrototypeOf(c).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with WSController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let l=new er(t,{...s,name:i,instance:c,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,l,s.types)}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[u,E]of Object.entries(s.operations))await e.enterAsync(`[${u}]`,async()=>{let O=Reflect.getMetadata(ir,n.prototype,u),x=E;O&&(x={...x,arguments:O});let U=new vr(l,{...x,name:u,types:void 0,type:void 0,keyType:void 0,arguments:void 0,response:void 0});await this._initWSOperation(e,U,x),l.operations.set(u,U)})}),l}static async _initWSOperation(e,t,r){var i;r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),(i=r.arguments)!=null&&i.length&&(await e.enterAsync(".arguments",async()=>{var s;t.arguments=[];let n;for(n of r.arguments){let c={};typeof n=="object"&&n.type&&n.parameterIndex!==null?Object.assign(c,n):c.type=n;let l=await M.resolveDataType(e,t,c.type);(s=t.arguments)==null||s.push({type:l,parameterIndex:c.parameterIndex})}}),t.arguments.sort((n,s)=>n.parameterIndex-s.parameterIndex)),r.response&&await e.enterAsync(".response",async()=>{t.response=await M.resolveDataType(e,t,r.response)})}};a(Hs,"WSApiFactory");var yi=Hs;var Uf="https://oprajs.com/spec/v"+m.SpecVersion,Ti=class Ti{constructor(){p(this,"_allDocuments",{})}static async createDocument(e,t){let r=new Ti,i=t instanceof ue?t:new ue(t);try{let n=new pt;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof Tt||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length,c=`(${s}) error${s>1?"s":""} found in document schema.`;i.showErrorDetails&&(c+=i.error.details.map(l=>`
9
9
 
10
10
  - ${l.message}`+(l.path?`
11
- @${l.path}`:"")).join("")),Ff(i.error,c)}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[Ve]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,c;for([s,c]of Object.entries(i.references))c=await X(c),await t.enterAsync(`[${s}]`,async()=>{if(!C.test(s))throw new TypeError(`Invalid namespace (${s})`);if(c instanceof pt){e.references.set(s,c);return}let l=new pt;n&&l.references.set("opra",n),await this.initDocument(l,t,c),e.references.set(s,this._allDocuments[l.id])})}),i.types&&await t.enterAsync(".types",async()=>{await M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await Ht.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await hi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="ws"){let s=await yi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:Uf,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/panates/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(hs),...Object.values(Yn)]},r=new pt;r[Ve]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[jr];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Ti,"ApiDocumentFactory");var hp=Ti;var yp;(function(o){o.HttpApiFactory=Ht,o.DataTypeFactory=M,o.MQOperationDecoratorFactory=br,o.MQControllerDecoratorFactory=Yt,o.WSOperationDecoratorFactory=Dr,o.WSControllerDecoratorFactory=Gt})(yp||(yp={}));import{uid as N5}from"uid";export{ns as AnyType,$e as ApiBase,pt as ApiDocument,hp as ApiDocumentFactory,$ as ApiField,ke as ArrayType,Ve as BUILTIN,oa as BadRequestError,Rn as Base64Type,Op as BaseI18n,ls as BigintType,fs as BooleanType,C as CLASS_NAME_PATTERN,ie as ComplexType,na as ConflictError,ri as CreditCardType,y as DATATYPE_METADATA,T as DECODER,A as DECORATOR,g as DataType,W as DataTypeMap,Ze as DateTimeType,_r as DateTimeTypeTz,Tr as DateType,w as DocumentElement,ue as DocumentInitContext,qr as DocumentNode,_ as ENCODER,vn as EanType,re as EmailType,te as EnumType,sa as FailedDependencyError,J as FieldPathType,We as FieldsProjection,et as FilterType,Pr as ForbiddenError,se as HTTP_CONTROLLER_METADATA,ot as HttpApi,ne as HttpController,aa as HttpHeaderCodes,Ce as HttpMediaType,pi as HttpMultipartField,D as HttpOperation,ui as HttpOperationResponse,Nr as HttpParameter,ci as HttpRequestBody,R as HttpStatusCode,bm as HttpStatusMessages,Sr as HttpStatusRange,rr as I18n,Cn as IbanType,Wt as IntegerType,pa as InternalServerError,ii as IpType,ea as IssueSeverity,st as MQApi,nt as MQController,Ir as MQHeader,Mr as MQOperation,ae as MQ_CONTROLLER_METADATA,rt as MappedType,ca as MethodNotAllowedError,b as MimeTypes,Xt as MixinType,gr as MobilePhoneType,Ea as NAMESPACE_PATTERN,la as NotAcceptableError,fa as NotFoundError,us as NullType,Ae as NumberType,Un as ObjectIdType,ds as ObjectType,YR as OmitType,ye as OperationResult,Tt as OpraDocumentError,Te as OpraException,hr as OpraFilter,v as OpraHttpError,m as OpraSchema,HR as PartialType,ma as PermissionError,ib as PickType,$u as RPC_CONTROLLER_METADATA,ab as RequiredType,ua as ResourceConflictError,da as ResourceNotAvailableError,S as ResponsiveMap,d as SimpleType,tt as StringType,Or as TimeType,ha as UnauthorizedError,Zt as UnionType,ya as UnprocessableEntityError,Qn as UrlType,si as UuidType,at as WSApi,er as WSController,vr as WSOperation,pe as WS_CONTROLLER_METADATA,ir as WS_PARAM_METADATA,fb as WsParam,yp as classes,P as cloneObject,ku as getErrorStack,Pu as getStackFileName,_i as i18n,Cr as inheritPropertyInitializers,sd as isBlob,ad as isFormData,id as isReadable,nd as isReadableStream,Ui as isStream,pd as isURL,od as isWritable,jr as kCtorMap,L as kDataTypeMap,Re as kTypeNSMap,kr as mergePrototype,Oa as parse,ga as parseFieldsProjection,X as resolveThunk,Xu as safeJsonStringify,Hf as translate,N5 as uid};
11
+ @${l.path}`:"")).join("")),Ff(i.error,c)}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[Ve]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,c;for([s,c]of Object.entries(i.references))c=await Z(c),await t.enterAsync(`[${s}]`,async()=>{if(!j.test(s))throw new TypeError(`Invalid namespace (${s})`);if(c instanceof pt){e.references.set(s,c);return}let l=new pt;n&&l.references.set("opra",n),await this.initDocument(l,t,c),e.references.set(s,this._allDocuments[l.id])})}),i.types&&await t.enterAsync(".types",async()=>{await M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await Ht.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await hi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="ws"){let s=await yi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:Uf,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/panates/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(hs),...Object.values(Yn)]},r=new pt;r[Ve]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[jr];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Ti,"ApiDocumentFactory");var hp=Ti;var yp;(function(o){o.HttpApiFactory=Ht,o.DataTypeFactory=M,o.MQOperationDecoratorFactory=br,o.MQControllerDecoratorFactory=Yt,o.WSOperationDecoratorFactory=Dr,o.WSControllerDecoratorFactory=Gt})(yp||(yp={}));import{uid as N5}from"uid";export{ns as AnyType,$e as ApiBase,pt as ApiDocument,hp as ApiDocumentFactory,$ as ApiField,ke as ArrayType,Ve as BUILTIN,oa as BadRequestError,Rn as Base64Type,Op as BaseI18n,ls as BigintType,fs as BooleanType,j as CLASS_NAME_PATTERN,ie as ComplexType,na as ConflictError,ri as CreditCardType,y as DATATYPE_METADATA,T as DECODER,A as DECORATOR,g as DataType,W as DataTypeMap,Ze as DateTimeType,_r as DateTimeTypeTz,Tr as DateType,w as DocumentElement,ue as DocumentInitContext,qr as DocumentNode,_ as ENCODER,vn as EanType,re as EmailType,te as EnumType,sa as FailedDependencyError,J as FieldPathType,We as FieldsProjection,et as FilterType,Pr as ForbiddenError,se as HTTP_CONTROLLER_METADATA,ot as HttpApi,ne as HttpController,aa as HttpHeaderCodes,Ce as HttpMediaType,pi as HttpMultipartField,D as HttpOperation,ui as HttpOperationResponse,Nr as HttpParameter,ci as HttpRequestBody,R as HttpStatusCode,bm as HttpStatusMessages,Sr as HttpStatusRange,rr as I18n,Cn as IbanType,Wt as IntegerType,pa as InternalServerError,ii as IpType,ea as IssueSeverity,st as MQApi,nt as MQController,Ir as MQHeader,Mr as MQOperation,ae as MQ_CONTROLLER_METADATA,rt as MappedType,ca as MethodNotAllowedError,b as MimeTypes,Xt as MixinType,gr as MobilePhoneType,Ea as NAMESPACE_PATTERN,la as NotAcceptableError,fa as NotFoundError,us as NullType,Ae as NumberType,Un as ObjectIdType,ds as ObjectType,YR as OmitType,ye as OperationResult,Tt as OpraDocumentError,Te as OpraException,hr as OpraFilter,v as OpraHttpError,m as OpraSchema,HR as PartialType,ma as PermissionError,ib as PickType,$u as RPC_CONTROLLER_METADATA,ab as RequiredType,ua as ResourceConflictError,da as ResourceNotAvailableError,S as ResponsiveMap,d as SimpleType,tt as StringType,Or as TimeType,ha as UnauthorizedError,Zt as UnionType,ya as UnprocessableEntityError,Qn as UrlType,si as UuidType,at as WSApi,er as WSController,vr as WSOperation,pe as WS_CONTROLLER_METADATA,ir as WS_PARAM_METADATA,fb as WsParam,yp as classes,k as cloneObject,ku as getErrorStack,Pu as getStackFileName,_i as i18n,Cr as inheritPropertyInitializers,sd as isBlob,ad as isFormData,id as isReadable,nd as isReadableStream,Ui as isStream,pd as isURL,od as isWritable,jr as kCtorMap,P as kDataTypeMap,Re as kTypeNSMap,kr as mergePrototype,Oa as parse,ga as parseFieldsProjection,Z as resolveThunk,Xu as safeJsonStringify,Hf as translate,N5 as uid};